Lines, Lights, and Shadows
Blending accessible artistic tools, and a beautiful game, as a programmer
Learn moreC++ Custom Engine Game
Development for Sync and Ecco began on the 22nd of July, and for 135 days in a team of 8 we made this vertical slice experience. My role was rather simply titled Programmer, as myself and Lochlan began to build the foundations of the engine and game from the ground up, immediately, because all streams starting on the same day. This meant Lochlan and I had a large challenge ahead with creating tooling and interfaces for our artists and designers ASAP. Given any other circumstance I would never recommend this.
So to get Sync and Ecco working we needed to build a multitude of systems. Early on we decided that to improve collaboration, and give us something to learn with, Lochlan and I would move the engine to an Entity Component System. Using ECS meant that we could both work independently on Systems or Components with minimal conflict errors. There was nothing better for maintaining a friendship and working relationship than a well maintained codebase and documentation, and ECS was the best friend of that friendship.
Working in ECS we had some major systems to implement, Lochlan and I mixed our work load, here are the things I was mostly responsible for:
Development began rather humbly for Sync and Ecco. starting with some basic line rendering in space, control two player concepts around a scene. The scene was built with our alpha level editor, one of the players was driven using our physics engine to emulate a car, and the other with impulses.
Sync and Ecco included a mix of "Tried and Tested", and "Let's Try and Test This", some examples I dive deeper into the Little Articles below, but we also spent a lot of time physically learning how a car should steer and drive, which was 50% code and physics, and 50% me driving around a parking lot. But otherwise Sync and Ecco has been a project of learning, learning about deferred rendering, screen space decals, and SSAO. Learning about how to create tools for our artists to work in user friendly spaces. Learning how to manage our time with important features and deadlines, and learning how to not burn out.
Just like any creative outlet a custom engine project is demanding, but it has been incredibly fulfilling. I am so proud of my 3rd step into a custom physics pipeline, my first steps into a graphics pipeline and some artistic shaders, and my last steps as a formal student.
I hope if anything that the work we have done can be a great lesson in custom engine development for novices, so check out the Github and the games download link.
Through out the development of Sync and Ecco, I learnt a lot, some of these things I wrote up individual pieces on, check them out below.
Blending accessible artistic tools, and a beautiful game, as a programmer
Learn moreAvoiding path-finding AI while optimising
Learn more