Enginedev

Reflection

I think the standard choice for a collider shape of a player controller nowadays remains firmly in the court of a capsule. It can represent a vertical body with rotational symmetry, quite like a cylinder, but without involving much more complicated math. The most important advantage over other shapes with flat bottom walls is that a capsule can scale slopes and obstacles much more smoothly than its counterparts.

Those were the reasons I chose it when prototyping Hosper in Godot and it served me well as during testing of different forms of geometry for maps. I decided to support capsule collisions in Chavelleh as well, but despite already having dealt with spheres and arbitrary hulls, this exercise still took me some time and left me unconvinced with regards to the reliability of my implementation. Wanting to have more insight into collision data, I quickly put together some visualizers and started testing scenarios involving different sets of bodies. While this immediately helped me iron out some bugs, the approach of coding every scenario in a single scene, in C++, also quickly revealed itself to be hard to scale - it took a lot of boilerplate and time to construct and compile.

Rapidity

I had what turned out to be overly ambitious plans for this year. They all looked achievable, but I’ve underestimated how much actually uninteresting work would be involved and how big of an obstruction that would be. I’ve technically started tossing around the idea for Spacewar over two years ago already, but only recently has the game started taking some sort of a recognizable shape. At some point, with most of the engaging stuff done (mostly things related to networking), it dawned on me how much has yet to be done (UI, VFS, assets, effects, etc.). The realization of the sheer amount of work I have no expertise or outstanding interest in caused my heart to almost give up on it entirely. I feel sort of ashamed of myself because of that, at the same time hoping that this feeling will somehow get me to finish the project. However, before that, as is usual with ADHD, procrastination took hold of me and thus, my first “game” actually got done!

Enginedev insanity

I’m telling you, you can’t even begin to comprehend how utterly nuts this whole endeavour is and has been from the very beginning. One’s event horizon has to be microscopically shallow to somehow escape the obvious realization that this is just a lot of herculean work, for comparatively infinitesimal reward. Recently I started having second thoughts about creating a custom engine for what seems like a very minor title, but I’m way too deep into all of this to quit now.