This project was developed with the same group of friends that created Jump Ship! We wanted to try our hand at using the absolute beast that is Unreal Engine 5. This time around, we added another group member to help us with sound design. The new team consisted of two programmers (including myself), two artists, and a sound designer. This time around, we did a better job sticking to our roles, especially since we decided to get a lot more ambitious with our scope
I completed work on the following areas:
- Core game logic
- Objective functionality
- Win conditions
- UI Implementation
Overview
Wild Midwest is a real time strategy first person shooter hybrid game. The player is dropped in to protect and expand their farmland from a rival farmer. They begin by controlling a tractor with a big ol' cannon that shoots corn cobs! When the capture period runs out, the player's tractors transform into mechs to brawl in a sudden death arena using upgrades they gathered while playing.
Core Game Logic
While we were concepting this game, the topic of multiplayer came up. Because we were early enough in development, I was able to build the authority game mode with the expectation of multiplayer, even if we never implemented a networking system. All of the important game events such as upgrade purchases, player deaths, and objective captures must be approved through the authority game mode before they are officially counted. In the end, we decided against the additional work of setting up networking and server host options, however LAN play does work.
Objective Functionality
In our preparation, we determined that the core elements of a real time strategy game lie in three pillars: setting up your base, managing your resources, and building an army. Wild Midwest aims to capture these core concepts and simplify them so the game can be played in a short duration, with players whose understanding of how a real time strategy game works could vary wildly. The first step to this was making a robust base system. To simplify the base building aspect, we placed 7 bases on the map that are armed with turrets, and can be captured. When captured, the player has access to its shop menu.
This shop menu allows players to purchase up to three farms per base, starting at 100 corn per farm plot. The corn generates at a rate of one corn per second per plot. The next purchasable item fills the army building requirement. The player is able to buy minions at 50 corn each, that they can command to capture bases or fight enemies. The final upgrade that players can purchase is a general damage upgrade. This maxes out at 3 levels total, and can not be upgraded further, even at other farms.
Win Conditions
Now that we have all of the necessary elements of gameplay, let's talk about win conditions. The authority game mode and state makes sure that the player wins when it hits one of two coniditions: total domination, or sudden death win. Total domination is when the player captures all of the bases and kills the entire enemy team. This was designed to be possible, but difficult even for veteran RTS players. If total domination is not accomplished before the timer hits zero, both teams are sent to the arena along with their minions and upgrades to fight to the death with their tractor turned mech suits. Last mech standing wins!
UI Implementation
Implementing the UI was relatively simple by the time the final UI widgets were completed. I simply had to expose a few behind the scenes variables that I had already been keeping track of. With the UI, players are able to see how much corn, minions, bases, health and time left on the clock. The hardest UI to implement was the base shop UI. At this point, the shop was partially working, but a lot of functionality needed to be given to different parts of the shop to show how many upgrades were done on a certain item, or if something was purchasable at all.