After learning the basics of the Godot game engine in summer 2024, I felt ready for a challenge. Broken Dawn is a short, 2D side-scroller narrative adventure born from the Brackeys Game Jam 2024.2, developed in just seven days in Godot 4.3, that tells the story of Riven and Alba – two guardians of a dying world struggling to save it from an inevitable demise. It was the first of two small games I developed with a small team over autumn 2024, the second one being isometric horror puzzle game Nightmare Artifacts.
It was also the first ever game I worked on as a game designer, writer, and programming lead all at once, created with a small team of talented developers I founded myself. Soon I realised this project was more than just a chance to have some fun making games – it quickly turned into an opportunity to learn not only about game development, but about myself, too.
Here’s an overview of Broken Dawn, including details of the development journey and how I coordinated the whole team in Notion for a successful jam submission!
Riven… remember when we used to play here?
About Broken Dawn
Broken Dawn is a 2D side-scroller narrative adventure that tells the story of Riven and Alba, two guardians of a dying world struggling to save it from an inevitable demise.
However, their story hides more than it seems: Alba’s powers are strangely connected to the world’s health, and as her surroundings surrender to decay… so does her body.
Broken Dawn is a story of acceptance, loss, and cherished memories. Will Riven be able to save his dear Alba, or rather, will he have to save himself instead?
Game concept & narrative
The theme for the Brackeys Game Jam 2024.2 was Calm Before the Storm. As soon as it was announced, the team realised the incredible storytelling potential we were grappling with, and we quickly identified a chance to create something centred around a crescendo, leading up to a tragic event.
We focused on one core mechanic: a timer, ticking down throughout the entire game. Upon reaching zero, the timer would serve as a watershed moment between a positive and heartwarming experience, and the tragic representation of our chosen emotional themes of loss, acceptance, and cherished memories.
First came the two characters: Riven and Alba. Tied through life, connected even when death did them part, the two co-protagonists represented an unspecified relationship between two loved ones. Alba’s presence fuels Riven’s energy… so, what would happen if she were to ever vanish from his life?
The game was designed as a side-scroller platformer in pixel art, with tile-based levels, focusing on the journey of the protagonist, Riven, as he began to accept the loss of a loved one in his own way. We decided to add player movement abilities to make for some interesting platforming sequences, but that the game would mandatorily have to be completable by using a single jump as well. That was so that, the moment the timer reached zero, Alba would disappear – and Riven’s movement abilities would be severely restricted from there until the end of the game. The player would need to feel free to lose Alba at any given moment in the game.
The premise of the game is that Alba’s powers were strong enough to keep a world alive. The reality is that Alba’s absence would make the world more hostile for Riven, specifically, depriving him of his will to push forward. The game attempts to deal with the theme of loss and acceptance delicately, trying to tell a story of two souls connected through the ages, inspired by my own experiences.
Learning goals: Core mechanics
My goal, diving into this jam, was to learn as much about Godot as possible, while applying all the concepts that I have learned over the past year while dabbling with software and game development a bit more seriously. I identified a bunch of systems that I was curious to explore, and thanks to my programming co-lead, nicknamed Andy, we came up with a series of elements that would help us tell our story cohesively throughout the game:
- Text and dialogue reading system, powered by a simple state machine
- Pickup system to replenish the timer and deliver story elements
- Player movement abilities such as glide, double jump and roll
- Tile-based level design, taking advantage of Godot’s flexibility to build levels fast, and using nina‘s amazing art
By the time the project wrapped up, I realised I had learned way more than I thought I would in terms of programming, logic, and how to structure a game project. Without even realising it, Godot was quickly becoming my favourite engine among the ones I’d ever touched.
Project management: the Notion hub
As a Notion-certified professional, one of my hard and tested skills is the ability to create project management systems tailored for team collaboration in Notion. For this project, too, I decided to put together a little hub the team could use for inspiration, task management and general coordination, as a way to keep us on track and accountable for the parts of the game we each wanted to tackle.
The team was made up of two programmers (including myself with a few more hats as a project lead), a musician, and a 2D artist. Coordinating our efforts in a project management and collaboration hub felt like the perfect way to keep us on track, as well as keep an eye on our scope to make sure we weren’t being overly ambitious with our ideas.
Keeping all our processes within Notion allowed us to avoid touching Google Drive and tampering with permissions to get our game made. As a paid Notion user, I also had full access to the platform, allowing us to create the system that worked best for us. Our Notion hub included:
- Mini GDD: a very rough game design document, accessible directly in Notion, detailing the concept, design goals, mechanics, aesthetics, and a lot more about the little game we were making
- Development roadmap database: a simple project and task management database, split into several views, allowing us to keep an eye on our deliverables as the project unfolded
- Inspo corner: a simple gallery-like database to dump inspiration for our game
- Meeting notes: a simple list of meetings to collect notes if we ever needed to
All of this was supported by a Github repo with several branches, where the team could work independently before ultimately merging everything into a main branch.
Having such a system to guide us through development was priceless to let the team stay on track, but it was even more useful to myself as the game designer and project lead, enabling me to keep a watchful eye on the state of the project and cut features as needed. Throughout, my goal as a project lead was to ensure a stress-free experience for my team as much as possible, and to see the game jam as a chance to learn something new while having fun together. I was willing to cut as much as possible to make that happen – and Notion was a powerful ally in giving me that peace of mind.
What I learned from Broken Dawn
Broken Dawn was completed and successfully released on 15 September 2024 by a very tired (but incredibly proud) development team. I entered the project conscious that I would know a bit more about programming games, and possibly not much else, by the time it wrapped up. Oh, how wrong I was.
As soon as I started laying down the tasks together and collaboratively with the wider team, I realised I knew a lot more about creating a game than I had ever anticipated. Somehow, my confidence as a game designer strengthened massively over the past years, going beyond the simple process of creating logic for games, and embracing a cohesive, coherent, top-line strategic view of an entire game project – including systems, art, music, level design, mechanics, and a lot more.
My confidence as a project manager saw a massive boost as well. As development progressed, I was confidently shifting tasks between days, changing levels of priority, cutting out features and adding new ones, compromising on deadlines with myself, and checking in with the team to ensure everything was running smoothly, and everyone was still having fun. This is something I would unfortunately lose sight of during the development of Nightmare Artifacts, which taught me even more about managing a team in stressful times.
Lastly, Broken Dawn taught me first-hand the single most important thing every guest of The Indie Diarist podcast brings up sooner or later: scope creep. The game was an ambitious project from the start, and many of our original plans never came to fruition at all. Keeping a property specifically as a ‘car park’ of ideas in the Notion task management system helped ensure we’d still have a place to keep ideas without shooting them down straight away. As I write this, I realise how important it must have been for the team to still feel encouraged to come up with ideas, no matter how wild they could be, knowing very well we may not have time to implement them, but still letting the creative juices flow freely. I’m confident this kind of empowerment and creative freedom was fundamental to Broken Dawn‘s success, and it’s a learning I’ll take with me for many years to come.
But perhaps, the single most important thing I learned from this project was something I knew would happen all along, as unlikely as it may have felt to my former self: possibly, I now love games even more.
Download the game: Broken Dawn
Credits
Broken Dawn was created by a small team of 4 incredibly talented people in a week, as part of the Brackeys 2024.2 Game Jam.
Anthony L. Wolf | Game Design, Story, Programming Lead |
nina nomori | Art & Animation Wizard, Co-Lead, Some Level Design |
Siqi Liu | Core Developer & Programming Design, Co-Lead |
Matthew Estrada | Composer, SFX |