This project was made for the two week long GameName Game Jam 2026 with Owen Large (owlarhino) and Jake Fairbairn (SharkbaitSplashy) between April 1st and April 15th. My role in the project was multifaceted - I was the main developer / programmer and did all the work in-engine to make the game a working product. I was also the project's producer, ensuring that everyone (including myself!) knew what they were doing and had the correct references and material to make assets for the game. Finally, I also picked up odd tasks that here and there to improve the project, such as sound design and making the game's main backing track. Owen was our project's main 3D artist and created everything 3D related within the game that isn't credited to an external source on the project's itch page. Jake was our 2D artist and created all of the game's wonderful UI.
A lot of our project's pre-production was fairly brief thanks to scheduling conflicts forcing us to start work on our project 4 days into the jam. It mostly comprised of group calls where we brainstormed different game ideas we could do related to the game's theme (invincible). Past that, we worked together to compile reference material in the form of moodboards. We considered working on a bit of concept art (and in retrospect we should've) but decided to get straight into production instead.
In addition to nailing down an idea to pursue and establishing an art style for the game, I took the time to set up a Trello. Our Trello was instrumental in ensuring that everyone knew what tasks they had done and what was left to do, and helped me (as producer) to see where people needed extra help and guidance. It was also invaluable experience in using Trello in a more professional manor, as prior to this I had only ever used it for keeping track of my own progress on personal / solo projects. It also showed how much progress we had failed to achieve thanks to both me and Owen being fairly busy outside of the project towards the end of the jam.
Production began with a lot of setting up. I got the game's GitHub up and running (which can be publicly viewed here), set up a very basic player controller, and made a main level from which to work and experiment in. The original camera view for the player was (in my entire team's opinion) awful - it was at an awkward angle that I had landed on thanks to some inspiration from Don't Starve. This also included a camera movement system inspired by the same game, moving it left and right in 45 degree angles using Q/E.
Once we had landed on the final camera system - a top-down perspective with a self-made movement lag that makes rapid left/right movements feel much less jittery - I began work on the core gameplay loop of the game - this included a few key aspects:
Player Attacks
Enemy Movement
Magic Enemy Attacks
KOTH Progress
Victory / Death
I never found any of these core gameplay aspects to be difficult to implement. Issues mostly arose with spawning enemies, projectiles, etc. I found out post-jam that it was because I had fundamentally misunderstood how I was spawning objects into the scene. I was making them siblings of the scene root rather than children, and as such when reloading the scene it would entirely break the game, forcing me to remove the in-game ability to restart after you win/lose as this issue mostly cropped up at the end of the jam. It was an easy fix, merely changing how I called the scene root caused the issue to disappear. Restarting has since been re-implemented in patch v1.0.1.0, which was released after the game jam and judge voting period that followed.
The easiest success to point out with InvinciKnight is the sharp improvement in the overall quality of my work as a programmer / developer. I am a lot happier with the mechanics and systems I made for this game than with earlier projects, and my performance on this project clearly shows how much I've improved as a programmer. I think both Owen and Jake did splendid jobs in their roles as 3D and 2D artists respectively, and the quality of the assets they've made is superb (especially given that it was Owen's first time creating game-ready assets using Blender).
Project scope and time management are the biggest sore spots that caused us to ship a partly complete project. While some of it was unavoidable - such as things coming up during the jam that pulled time away from working on the project - I think that we should've considered reducing scope (which we did in some places; our game was originally supposed to have a roguelike element to it that I never got to implement during the jam).