Ryan Davidson Headshot
Ryan Davidson

Nano-Escape Project Page

This page contains the Project page for Nano-Escape, A Top Down shooter where size and ammunition are linked. Collecting pellets increases the player's size, which in turn provides them more ammunition and a larger health pool, but also decreases speed and maneuverability.

Here, I'll go into more detail about the game and my development process.

Project Overview

This was my first game created in godot, and was an entry for the 2024 Game Maker's Toolkit game jam. The length of the jam was 96 hours, and the theme was "Built to Scale". Our initial design ideas centered around the ability to grow and shrink so as to fulfill various goals. I wanted to add more depth to that mechanic, and I realized that a collectible resource was a straightforward and effective way of doing so. Drawing inspiration from the old browser game agar.io, I proposed a top down ("twinstick") shooter in which ammunition was directly linked to the player's size. My teammates and I immediately began rolling with this design idea. We connected size to other variables such as maximum health, and allowed enemies to drop ammunition on death. My teammates came up with the flavor: a swarm of nanobots. Firing expels nanobots from your swarm, while collecting more allows the swarm to grow in size.

I took special interest in the implementation and design of the scaling system, and established a series of variables to interpolate factors such as speed, maximum health, bullet damage, and enemy spawn rate relative to the minimum and maximum backend variables for player size. This was a somewhat more complicated system to balance compared to my prior game jams. But by intentionally planning the infrastructure to directly connect so many variables, it was incredibly fast and easy to fine tune the values. It was even easy to connect new values - the enemy spawn rate was a last minute addition, but took less than 15 minutes to implement and balance. Overall, I was incredibly satisfied with the end result of this system. It felt very engaging and dynamic - progression felt easy enough to be encouraging, but involved enough to be satisfying. I received several compliments on the feel of the gameplay elements I designed and implemented, and was very pleased with the game as a whole.

Tools Used

Godot
GDscript (python)
Git
JIRA