Late in 2016, having spent close to 3 years working on the Unity engine, I decided to branch out and try something new. In September I met with the Video Game Development club at UC Irvine to sign up for a game using the Unreal Engine hoping to get more experience with C++. Enter Beat em’ Down.
Beat em’ Down is a beat em’ up game, much in the style of the Streets of Rage and the Final Fight games for the Sega Genesis and Super Nintendo.
Unlike any game I had worked on previously, Beat em’ Down has involved a lot more development with developing the artificial intelligence. Where in previous titles I had mostly worked with a “follower” AI, this game involved helping create a more complex state machine system, to more easily prototype and develop enemies that the character would encounter.
We also are working on enhancing collision physics in the game. Instead of simply going for a basic collision box, where instead of the player being hit based on a single damage value through a collision box, the character has defense and resistance stats. Furthermore, the damage can be changed based off of states the player character is in and what angle of attack the player is approaching the enemy with.
Overall, while I think the Unreal engine isn’t as refined as the Unity engine is with regards to 2D, it has still remained an interesting challenge getting used to the new technology and game design.
In September 2015, I was fortunate enough to be able to join the Video Game Development Club at UCI, despite being an alumnus. I was hoping that by joining the club, I would gain experience using Unity that I would have otherwise missed in my personal projects and even professional life. In addition, I was hoping to get team experience working on a game with other people who shared my passion, and most importantly, to have fun!
The project I am currently working on with a group of students is called Soulstealer. Essentially, it is a fantasy card game based off the Mega Man Battle Network series. The player can walk around an overworld as normal, but when they enter combat it is a completely different scenario. The player spawns on a the friendly half of a grid (usually 3 x 6), while their enemies (or bosses) spawn on the unfriendly side. Before the match, the player can choose their deck based off of cards they have collected by playing through the game. Each turn, they choose 5 cards to put into their “battle queue”, and resume combat. At any time, the player can trigger the next card, which can do damage, debuffing or buffing depending on the way the card interacts with the grid. For example, the player can either play an AOE debuff for all enemies on the grid, or play a lightning bolt that arcs straight down the middle, and more.
Overall, I’m pleased with the experience I have had with the team. The game is progressing along nicely, and I am learning more not just from a development standpoint, but also design and team management perspective. Most importantly, I am having fun working on a project that every member is passionate about. We all like developing games!