From Conception to Completion: The Evolution of ‘Danger Space’
The Genesis
The journey of Danger Space began with an idea: "A modern re-imagining of the classic shooter asteroids with loot and powerups." Though the initial idea was my collaborator's, I was keen to build upon it. As a fan of physics-based 2D games, this seemed like a fun concept to bring to life. Moreover, the prospect of working on a team and collaborating on a shared vision is something I live for. Our goal was ambitious but achievable: we aimed to create a minimum viable product within two to three weeks.
The Collaboration
My collaborator was new to Unity, a fact I was well aware of at the onset of the project. But this was an exciting opportunity for both of us - I got to teach someone about something I love, and he got to learn about something he was interested in! The pace at which he picked up the material was inspiring, and it was a pleasure to assist him in these formative stages. However, after a few days, my collaborator felt he could contribute more effectively to the project in the long term by stepping away and working on smaller projects first, a decision I fully supported. This shift left me with the task of driving Danger Space to completion.
The Artistic Contributions
Despite only having a brief few days of material contribution to the project, my collaborator's artistic impact on Danger Space remains! Specifically the bullet trails and bullet-impact sparks - both created by him within his first few days using Unity - I couldn’t be prouder! After his withdrawal, I found myself wearing another hat - that of an artist. But I didn’t mind, I’ve got at least a little bit of style in me. So I took charge of the rest of the art, design, and visuals, shaping the game's minimalist geometric aesthetic into what it ultimately became.
The Change of Plans
With my collaborator moving on to work on smaller projects, I assumed responsibility for all of the coding. Given the broad nature of our initial game concept, I had to put my designer hat on and be judicious about what was feasible within the timeline and keep the scope of the game reasonable. I honed in on what seemed doable, focusing on creating the most compelling gameplay possible.
The Power of Version Control
The development of Danger Space would not have been as streamlined and manageable without the power of version control. Leveraging Git, we employed a feature-branching strategy, allowing us to integrate new elements seamlessly. After establishing the foundational chunk of the game - the enemy AI - the narrowed scope helped streamline my efforts towards achievable targets. This clear focus coupled with efficient version control enabled me to steadily implement various systems and features, merging them into the main branch upon completion or reaching significant functional milestones, all within the confines of our timeline.
The Final Mile
As our development timeline was drawing to a close, a significant challenge emerged: creating a public version of the repository that excluded non-distributable code from a third-party asset - Freya Holmér’s Shapes package, which the project uses a modified version of. This task required a good understanding of Git's technical capabilities. I was able to create a suitably modified version of the repository using Git's filter-branch command, ensuring that our public repository only contained what was legally ours to distribute.
Reflections
The development journey of Danger Space was not just about creating a game, but a story of collaboration, adaptability, and technical expertise. Navigating changing team dynamics, adjusting the project scope, and handling multiple roles were all part of the experience. This project has reinforced my skills, and showcases my ability to adapt, and to guide a project to completion. While I've always been an enthusiastic game developer, Danger Space further solidified this passion, and I look forward to tackling even more exciting challenges in the future!