top of page

Surroundings

A side-scrolling tower defense beat-em-up

Surroundings is a prototype for a larger game concept I made in Unity.

Play the game here!

My main interest in game design is systems design, so I set out to create a project that would show off my ability to create simple and fun systems for players to interact with. This became Surroundings.

The core loop of Surroundings consists of a home tree that the player must defend from waves of attacking robots. The player can do this by attacking the robots themselves and purchasing defensive items from the home tree, which can then be placed on the map. The game is only lost when the home tree runs out of health. If the player dies, the home tree suffers 33% damage and the player respawns without any of their held resources or damage upgrades, but maintains their item upgrades.


 

Card.gif

I wanted to give Surroundings more interactivity than the typically hands-off formula for tower-defense games, and to make it feel more fast-paced and chaotic. So, I created a 2D character-controller so the player could attack enemies themselves, as well as forcing them to physically collect the resources that drop from enemies. The player can also recall to the base at any time and purchase items, upgrades, or refill their health, at the cost of leaving their base more vulnerable. Finally, any items purchased from the base have to be placed by walking to the desired spot by the player. These design decisions all work together to create a tense back-and-forth between fighting enemies and rushing back to base, eliminating the awkward down-time experienced in more traditional tower defense games.

Store.gif

The biggest development challenge was the shop, which also ended up being the section of the game I am most proud of. I implemented functionality for upgrade paths and wave-unlocks, all through a modular system that allows new content to be added to the store quickly and efficiently. The item-slotting system was also tricky, as I wanted it to be intuitive and quick to navigate, as well as working seamlessly with the shop system - all of which were accomplished.

What I Learned From Making Surroundings

The design and development of Surroundings was a non-stop lesson in proper scope, and how quickly scope-creep can distract from the development of a game. I found it very easy to come up with new ideas for additional systems to flesh out the complexity of the game quickly, which usually resulted in less work being done on the existing systems that needed to be finished. Towards the end of my work on the project, though, I was able to keep my head down and push forward on the work that needed to be done to get the game-loop solidified.

While making my own art allowed me to implement features exactly how I wanted and to create the visual language of the game, it also massively slowed down development time. It became difficult to work on new features without creating art to visualize them, which would then lead to the features being reworked, and so on. Working with asset packs in the past, like with OtherJump, had allowed me to focus on what I already have, instead of what I wanted to add. If I were to dedicate myself to a large-scale solo project I would absolutely make my own art again, but it is not optimal for quickly developing and iterating on small game ideas.

My Plans for Surroundings

While I certainly won't be coming back to Surroundings any time soon, and probably not ever, I wanted to talk about my larger vision for the game:

The original plan was to add more roguelike elements, with a new playable character every time you load the game, as well as on respawn after player death.  Also, every run would've offered a different selection of items and upgrades in the shop. This involves the creation of a lot of content, which I unfortunately did not have the time for.

One thing that the game is noticeably lacking is enemy variety, which was scrapped for the same reason as the roguelike elements: time. I had planned to implement multiple unique enemy types (Faster/slower variants of the orbs, thieves that bring resources back to the enemy base, shield enemies) and bosses that spawn every 10 waves. This would've been the feature that allowed the 2D beat-em-up side of the game to really shine, as I put a lot of effort into the player controls, and there isn't much need to grapple with them against the basic enemies.

I am very proud of the work I did on this game, as I think it effectively communicates its potential for something interesting and scalable while being fun in its own right.

©2025 by Jason Warrick. Proudly created with Wix.com

bottom of page