Weekly Blog Update - March 8-12th
Updated: Mar 14, 2021
My goal this week was to complete a short prototype for a 3D platformer that I’ve been working during my spare time in Unity. The main gameplay consists of pushing large colored cubes on a 3x3 grid made up of the same cubes. The objective is to earn points before a certain time by pushing those colored cubes next to each other on adjacent grid spaces which will cause them to explode. If the player can blow up more than two cubes at a time they can trigger a score combo and earn more points. New cubes are dropped into the map every time the player matches a set and they can also spawn at semi-random intervals.
At its core though, the game is still a platformer that requires the player to run and jump in order to avoid being crushed by the falling cubes. If the player let's the cubes stack too high, they will risk being killed by spikes located at the top of the grid. However, destroying too many cubes (whether intentional or not) becomes a hazard for the player because the possibility of falling off the grid is increased as more cubes are destroyed and the number of empty spaces grows. The layout of the map is also always in flux during a round since a chain reaction of exploding cubes can substantially change the play space and require the player to change their current strategy.
I was able to finish it - albeit late - but I’ll write a more thorough blog about it afterwards. It will basically be a post mortem. Just need more playtests before I begin writing it. Some more feedback will be helpful to narrow down what about my prototype was enjoyable or not so I can have more to write about it. Screenshot Saturday is coming up, so hopefully I can find some randos online to test it this weekend. From now on I’m going to start making a habit of writing a post mortem for any project I work on. I want to document and summarize the overall development process, and highlight any important information I learned or any new insight gained about coding, designing, team management, general development process, etc.. Every project brings their own set of unique problems to resolve and learn from. Writing has definitely been the best method to retain this information so I will use the post mortems as a way to reflect on what I worked on and cement the important stuff into my brain.
Now that I’m wrapping up my prototype, for next week I plan on going back to work on a 2D action shooter I was originally developing. It’s been a few weeks since I last touched the thing which means this coming week I will spend some time getting reacquainted with my code and other parts of the project. I left it in a buggy state so it’ll take a couple days to figure out what the hell I was doing. I remember that I was last working on implementing a sprite cutter I found online that slices a Unity sprite in runtime. I got it working in my game, but it started to return null references when I would use it on more than one sprite at a time. I can’t remember the specifics of the error, but that’s probably going to be the first thing I work on once I’m ready.
Other Shit I've Been Looking Into
I got bit by the stock/crypto bug a few months ago. Now I want to dip my toes into algo-trading to see if I can create a trading bot that can replicate my basic trading strategy without all those stupid human emotions involved in trading that can ruin a profitable trade. Long term goal is to have a fully automated scalping bot that can dynamically change its watchlist during market hours.
I’m still doing some research on Robin Stocks, Robinhood’s unofficial API, so that I can use it with my bot. The API is written in Python and so far every tutorial I’ve seen people enter their orders in a terminal. I don’t really like this method because I’m more of a visual guy when it comes to interfacing with my programs so my goal is to have a very very basic frontend built in C# to interact with my Robinhood-Python program
Even though the trading bot isn’t related to game development per se, this small project sounds like great way to expose myself to another program language that I have very little experience with. It’s also a fun exercise/distraction to help me improve my programming skills in a non-game environment. Building the frontend in C# is also exciting since I’ve been looking for a fun project to work .NET's framework. Most importantly it would be cool if this thing can earn me some extra beer money.
FUHRER IN LA
The first game I completed this week was Fuhrer in LA. This was an entertaining top down action game released last Summer by Ankaar Productions. Fuhrer is set in an alternate 1947s United States wherein Hitler and Eva Braun manage to fool everyone to thinking they suicided themselves but in reality they managed to escape from Germany to accidently wind up in Los Angeles. What ensues is a ridiculous grindhouse style plot where you play as Hitler through nine varied and (mostly) well paced levels as he attempts to reunite with his love, Eva. It's real heart warming shit.
Gameplay wise this game is somewhat similar to the NES Metal Gear games. The player can sneak around the level trying to avoid guards or NPCs so others won't get alerted of your presence; dodge incoming projectiles; and hit enemies with Hitler’s cane which works as a melee weapon (the only weapon Hitler carries in the game). Fuhrer can be slightly difficult at times because the attack range for the Fuhrer's cane is so small that it requires the player to get really close to enemies to land a hit on them. The short hit range wouldn't be that much of an issue if it weren't for that Hitler also moves slightly slow. Direct combat becomes very risky because approaching an enemy straight on can lead to Hitler , so it's best to wait for them to attack them from behind when they're not looking at you.
I think there was one unique enemy introduced in the sixth level (the hardest level) whom wildly bounces off surfaces in
an attempt to hit you. The mechanics and gameplay are not doing anything interesting or new, they’re serviceable enough for what it's attempting to do.
What makes Fuhrer truly enjoyable is its humor, pacing, and presentation. It’s lowbrow for
sure, but the game never gets into dark territory given the subject matter. The premise does begin to wear thin by the end but since the game is short (took me about an hour to get through) it's not that much of an issue. The art style is great, I especially liked the cutoff mouths for animating dialogue. Ankaar successfully replicates the COD structure/pacing by interspersing the typical COD set pieces through out the game. One level in Fuhrer includes a vehicle sequence; another includes an on rail shooting sequence; and a flashback sequence of Hitler as a lonely child at a boarding school. I legit guffawed at one sequence where Hitler goes through a karate dojo and fights ninjas. Fuhrer in LA a lean straight to the point experience with none of the bloat you find in AAA games lately. Which is the antithesis to the other game I beat this week.
I didn’t want to over bloat this update talking about God of War (2018) since I have a lot to say about it so I’ll save that for a later post....