DYSTOPOLIS is a run n’ gun shooter set in a minimalistic cyberpunk metropolis, where you have the ability to redirect bullets using an ability called the “Gravity Well.” The game is available on itch.io for free here, so please try it out and let me know what you think!
Coming up with the Idea
At the time of the game jam, my brother and I were obsessing over the latest co-op indie game we picked up, Broforce. We were a fan of the different ways you could play the game, whether by going rambo and lighting up the landscape with machine gun fire, or by using stealth to sneak behind the simple AI characters and hit them from beneath the ground. No matter how you decided to play, this game was a difficult arcade shooter, where a single mistake would cost you your life. So while we were thinking of ideas for the game jam theme “rigging” we thought we could give making a shooter a try for this game jam, where you could instead “rig” your bullet trajectories through an in-game mechanic that we called the “Gravity Well.”
However, before we could get started on the game, my brother had to go on a vacation with my family, so I was left alone to work on the game solo. This gave me a great opportunity to practice some skills that my team usually handled such as the art design.
Choosing the Engine and Making the Game
First off, I needed to figure out an engine. For every game jam, our goal has always been to learn and practice something new, something that we have little practice in during our regular work days. This time, I wanted to practice my art skills as well as level design, focusing in both the artistic design of the level, as well as the gameplay aspect of the layout.
In order to have as much time as possible to practice artwork and level design, I had to figure out how to cut time needed for other tasks such as programming. For this game, I chose to use Unreal Engine due to the utility of their projectile system for a shooter, the availability of free shooter character animations, as well as their BSP volume system, which makes designing level layouts very useful. With these in mind, I had all I needed to spend as much time designing the level and as little time modeling, animating, and programming. However, one thing that I didn’t expect was coming across some problems attaching UE4’s mannequin rig to my own model, so in the end, I still had to animate my own rig anyway.
With programming done early, animation and modeling simplified, and by using UE4’s starter content props so no props needed to be made, I could afford to spend half the week I had available to figure out the art style and layout of the level, something that I definitely needed ample time for considering I hadn’t done much of either before.
Figuring out the style of the game
Art… art art art… Art is hard. Even by skilled artists, figuring out a style can be hard. But this is something I was lacking and wanted to work on, and I definitely needed to figure it out if I had to make this game alone. A tip I learned from a friend was to gather as much art as you can in a style you enjoy, and some websites that help you do such things are websites like Pinterest. So… with the help of my brother, we gathered a bunch of cyberpunk art, a style we’ve never really done before but always enjoyed. After grabbing a bunch of art, from cityscapes, to characters, to objects, we came across the art piece below (real source unknown), and everything fell into place.
As you can probably see, a lot of the style of the game was inspired by this one gif alone. The simplicity of the photo, utilizing emissive light only in a dark city really captured a beautiful unique scenery, one that I thought could fit this game really well.
With the setting style decided upon, I had to figure out how to make characters that would fit in this world. Character design has always been a weak point of mine, so this was a good time to practice. With how the game played, I quickly noticed I had one large problem: I had to make characters that could be seen easily despite being so small in a dark setting.
Now, how to fix this problem? I needed to make the character clearly visible at all times, something a lot of arcade shooters do poorly at, which tends to result in disorienting the players during the midst of a firefight. A good example is Broforce, where their character colors and designs often blended with the background, and with the amount of bullets, rockets, and screen shaking there was, you could easily lose track of where your character is in the middle of a fight. To fix this, I took to looking at how SUPER HOT solved this problem: colors. In the game SUPER HOT, weapons are black, enemies are red, and all of the environment is solid white. This makes enemies and weapons easily recognizable in a fast paced setting. With this, I decided that the city would be lit with a singular red color, and our player, as well as all safe points, would be a contrasting color, blue.
Another design choice I had to keep in mind was that with characters so small, details often get lost. So to fix this, I looked towards games like Journey and Necropolis, whose simple character designs had a lot of beautiful stylistic choices to them, such as lack of feet or hands. However, I still had quite a bit of trouble dealing with simplicity during the design, and in the end, you’ll notice that some small details still got lost in the transfer from Blender to Unreal Engine, such as small emissive outlines in the character outfits and folds in the clothing. Rather than spending more time simplifying the details even further, I opted to just go with it, and instead focus on spending time adding effects and more ambience to capture the style of the scene.
Practicing Level Design
This was quite a challenge. Usually in our projects, I am often the one behind a large portion of coding, and occasionally working on 3D models and animations. Sometimes I would find myself doing level design, but by no means were my levels anything that I feel I could be proud of, both gameplay-wise as well as visually. So, for this game jam, let’s work on it!
Aesthetically, something I learned from my good friend Conrad Fay, was that levels need to have variation or else the players get fatigued. In the design of this level, I attempted to apply this advice and you can hopefully see the visual layout change from a warehouse-style setting, to a hotel, to the outside of a skyscraper, and finally to an office-like setting. This ended up taking up a couple days of the week in order to simply get the setting looking right.
Now how about the gameplay aspect of level design? Something I’ve always had trouble with in level design is working on creating levels that feel like they have progression. People like to be led on a journey through a level, where they start off learning what it takes to win, and eventually applying that knowledge in different ways that don’t feel unfair to them. In order to do this, I have to teach players step by step what it means to play this game, from shooting your gun to killing simple enemies, to utilizing the gravity well to solve puzzles, to utilizing the gravity well to kill enemies, all leading up to a boss that requires you to use all of these in some way or form in order to win.
Overall, DYSTOPOLIS was a great and fun experience for me. I had one week to make something playable essentially on my own, and I opted to practice art and level design, over doing the stuff I usually spend the most time on, such as programming, 3D modeling, and animations. By utilizing Unreal Engine 4’s available resources, I cut down on the time spent programming, modeling, and animating, and spend as much time as I could, learning about how to discover and create an art style for a game, and making a setting that could accurately portray what I was aiming for. I had a lot of fun working on this, and I hope it’s as fun for people to play as it was for me to create. If you get a chance after reading this long drivel of a blog post, please try the game free on itch.io here, and let me know what you think!