Torch (2023)
Platforms: Windows
Roles: Lead Game Designer | Assistant Programmer | Graphic Designer
Team Size: 2
Project Length: ~3 days
Engine and Tools: C# | SimulationFramework
About
Torch is a 2D survival sandbox game akin to Terraria. However, your goal is not to explore, survive, and conquer the game world. Rather, you play as the world itself, attempting to thwart the progression of an AI-controlled player-character. Utilize three elemental effect cards to manipulate the world in creative ways to stop Torch Guy. Can you discover all 12 endings?
Made as part of GMTK Game Jam 2023.
Features
- Compelling sandbox gameplay.
- 10+ endings.
- Mesmerising particle effects.
- Emergent elemental interaction system.
- Creative puzzles.
Development History
Around the time of SSRG's development, I became acquainted with Ryan Anderson. A fellow up-and-coming game developer and talented graphics programmer, Ryan and I quickly bonded over our shared aspirations towards the creation of video games. During one of our late night Discord calls, the idea to enter a game jam together was floated and subsequently agreed upon. Both Ryan and I were fans of the YouTube channel Game Maker's Toolkit and, as it would just so happen, the channel would be hosting its yearly game jam that month.
And so, this is the story of how two amateur game devs would compete in their first game jam.
Once the game jam started and the theme had been revealed, we would have 72 hours to make a finished game and release it to itch.io. Being as this was both of our first times participating in a game jam, Ryan and I took ample time to gather a development toolset and organize an effective workflow. Namely, we would be working in Ryan's game development framework, SimulationFramework. This would serve as an opportunity to test (as well as capitalize on) SimulationFramework's capabilities, along with introducing me to programming in C#.
Responsibilities for the project were expectedly free-flowing with both of us agreeing to “just kinda do whatever we gotta” until we ended up with a completed game. However, the general role of programmer was attributed to Ryan, with the designation of game designer falling to me.
Eventually, the day of the jam arrived; the theme revealed to be “Roles Reversed;” and Ryan and I swiftly got to not doing anything all day. We were busy!
With our daily responsibilities taken care of, the two of us met to discuss the theme and brainstorm ideas. Eventually, we landed on the concept of a survival sandbox game (akin to Terraria) in which players explore, survive, and conquer the game world. But rather than following genre convention, the roles would be reversed and the player would act as the world itself, attempting to thwart the progression of an AI-controlled traditional player-character.
Developing the idea further, I suggested a set of elemental abilities that the player could use to affect the game-world in various ways. From that a design doc filled with lofty ideas began to form. We'd have a complex character AI; we'd have expressive animations; multiple win states; resource management; different challenges.
We needed to make some cuts.
First thing to go, the Hello Neighbor-esque adaptive AI that would learn from players' actions and reactively adjust its approach to completing tasks. Now the player-character or, as he would come to be called, Torch Guy would simply walk from one end of the screen, collect wood for a Torch, return to the other side of the screen, and light said torch. From there the rest of the game's elements were easy to scale-back. Element interaction system? Ryan had an Uno clone we could nab the card UI from. Expressive character animation? We're not artists! MS Paint programmer art: take it or leave it. Multiple win states/challenges? The world is a sandbox full of unique ways to halt Torch Guy's quest, each one giving you a new ending!
With a satisfactory design outline, Ryan was tasked with creating a basic prototype which would include a game world, Torch Guy, and a card-based interaction system. As for me, I was going to bed. Throughout the following day, Ryan would send me updates on the prototype which would be completed by late afternoon.
We then met for what would become the bulk of Torch's development. With the basic systems working, our time was spent creating assets, menus, and interplay between the element system and game world. Put more honestly, we spent 15 hours in a Discord call cooking some bullsh*t.
By the end of our call, we had a little stick figure man who walked right, mined a tree, walked left, lit a torch, and could die in a variety of exceedingly outlandish ways. And we thought it was the funniest thing. Thanks to SimulationFramework, we were able to make some slick menus that helped contextualize the game as more than an idle program and encouraged players to seek out the different endings achievable through creative use of elemental afflictions.
It was not glamorous, but it was ours and it was time to publish it for people to play. I spent the early hours of the morning making an itch.io page while Ryan performed bugfixes and polishing. When we were done, we posted the game and went to bed. Waking up for the final day of the jam, we had feedback from early players to review. I compiled a list of changes (and mostly bugfixes) for Ryan to make when he was available and went off to work for the day. By the time I finished my shift, over a dozen people had played and commented on our game.
Postmortem
By the conclusion of the jam, over 140 people had played our little game. We received comments, critique, and congratulations on our work, and placed in the top 36% of the 6,688 entries.
This was my first time collaborating with another developer on a game project and was an amazing opportunity to test my ability to coordinate, iterate, and deliver on a project of this scale. Above all, however, Torch was a chance to have people play a game I worked on. The feedback we received was extremely validating and encouraged me to continue my pursuit of game development.