Tanden Engine Part 1 - Go Hard or Go Home

For my Console Programming class, aka “make something of value” class, I’m engaging in a sizeable project with 2 friends of mine. While everyone else is making innovate games, or exploring new tools/systems, we’re teaming up to contribute to something far bigger. After getting a head start at the end of last semester, we’ll be spending this semester working on Tanden Engine, a basic rendering/physics engine. It’s a huge undertaking for 3 students, working only part-time on it, but when we succeed, we’ll have done something truly impressive.

We’re splitting our work apart into distinct sections, with some cross-over. My main focus will be on the physics system, while contributing a bit to the rendering and editor components. I’ve spent far too long being unsure in what direction I want to go as a game programmer, but hopefully this will help me decide. I know I want to be working further on the back-end, so hopefully I enjoy this experience as much as I hope I will. I’m both worried and excited about doing high level work, as well as the challenge of tackling a huge code base with a team, where I don’t know what exactly every line is.

We’ve got a ton of resources to aid us, and have already been getting our research in. We’ll be using Vulkan as the core of our rendering, some libraries to assist with model loading, and imgui to form the basis of our editor.

There are a lot of risks going into this project. The biggest thing is simply the scope of what we’re tackling. In addition, there’s the various things that come from working with a team. Besides needing everyone’s success for the project to come together, much of the work we’re doing relies on what others are doing. We’ve put together a tentative schedule of what we plan to do on a weekly basis over the semester, and hopefully we can closely stick to it.

The reality is, that this is our first time working on a project of this size, and none of us really know how much time we’ll have, with everything else going on at this juncture in our lives. We’re shooting for the stars, but we’ve got various levels of complete that we can use as a fallback. The base goals for my physics system is to simply have a few spheres bouncing around in our scene. The intermediate goal, and a large jump, is to have basic destruction of rigidbodies/meshes. Have a cube fall and shatter, or something of the like. Lastly, is the possibility of basic softbody physics, to add life to objects. For another class, I’ll also be tackling particle physics.

All in all, I’m nervous but cautiously excited for what will hopefully be a huge project and personal success!

My Teammates’ insights: Thomas McGillicuddy