BTH: The Prequel

About the Game
A 2D arcade-style vertical shooter game. This game serves as a prequel to the game of the same name: "BTH"
Players will play as a homeless man high on acid. Players must then defeat the onslaught of enemies coming towards them by throwing rocks or gaining power-ups that grant the player the power of Beijing Corn to defeat them. Players will also have to try their best to dodge the bricks that are being thrown by the enemies.
Players have the option to choose between 2 different game modes: Normal and Endless
.png)
Game Engine
Design Process
Concepting
This project was my second school assignment and my third game project that I did for university. The task that I was given was to make a fully working Shooter Game, either horizontal or vertical.
When the assignment was given, I had already planned to do a vertical shooter game, and the theme for this game, I decided on it very early on. A university senior of mine made a game called "BTH" and it was also a vertical shooter game where the player would play as a regular dude, beating up the homeless by throwing bricks and coins at them.
Wanting to create a sort of sequel game for that, I decided to make a game similar with the theme of homelessness and thus decided to do a prequel story to the BTH game made by my university senior friend.
The theme and story is also loosely based on the original story intention I had for my first game project: Subterranean Bomb in the Bayou. In that game, you would also play as a homeless defeating enemies throwing bricks at you. However due to the time constraint and lack of experience, I wasn't able to get the results I wanted and therefore decided to use this project as an opportunity to fulfill my original goals.
Pre-Production
During this stage, I had planned out the mechanics I would want to have for my game. The original planning was to have 3 different powerups. One powerup will upgrade the player's bullets, one will heal the player and give extra health, and the other powerup will add a shield to the player.
However, later in production, I would only be able to achieve 2 out of the 3 mechanics I wanted.
I also had to implement a regular score system into the game. But I decided to opt for more by adding in a high score system. This will prove a bit problematic for me when I have to do the 2 separate modes later on.
It was also here where I decided to have my enemies spawn using a random interval basis. By this point of time, I have properly understood how to add in a random spawning system that wasn't able to add for my 2nd game project, and therefore used that for my enemies. Thus every 5 seconds, either the first or second enemy will spawn in. I did the same for the enemy drops as enemies may either drop either powerups or nothing at all.
Game Mechanics
Power Ups:
-
Beijing Corn: When a player picks up a Beijing Corn, they will start to shoot out Beijing Corns instead of throwing rocks. Fire delay is completely removed when shooting Beijing Corns, and this power up can be upgrade another 2 more times. When another Beijing Corn is collected, players will start to shoot 2 Beijing Corns diagonally by 20 degrees on both the left and right side. Collecting 3 or more Beijing Corn will have the player shoot up to 3 Beijing Corns, essentially a combination of both the level 1 upgrade and level 2 upgrade. Max level of upgrades is 3 and any more collected after will not count towards anything. However, upgrade level will be reset whenever player takes damage.
​
​
​
​
-
Mushroom: Essentially serving as a healing item for the player. When picked up, it will either heal the player or grant more health to the player depending how much health the player has. If the player has less than 5 health, then it will heal the player; if the player has exactly 5 health or more, then it will give extra health to the player. Since it can be powerful, I decided to reduce to spawn chances of mushrooms.
​
​
​
​
Game Modes:
-
Normal: For this normal game mode, players will be fighting enemies up to a certain time. When that certain time arrives, players will then have to fight a boss. They must kill the boss to win the game.
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
-
Endless: As the name suggest, it is a game mode where enemies spawn endlessly. As the game progresses, the enemies spawn timer will be shorter, causing enemies to spawn more frequently. A third kind of enemy will also spawn in this game mode where they will travel faster and shoot faster too. These special third enemies are also guaranteed to drop a Beijing Corn upon death.
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
Score System:
-
When a player kill an enemy, they will get 10 points added to the score.
​
-
When a player's score surpasses their current high score, the high score will follow the new score until the player dies, setting a new high score.
​
-
A boss will award the player a 100 points to the score when it dies.





Production
In this stage, development was fairly simple and fast. All my art assets and most of my sound assets are just reused from my first game project.
Coding in Stencyl also didn't take too long since I also had a rough code outline to follow. There wasn't too much problem when coding the game, and the only issues I've faced was the random spawn interval of items and enemies, the boss movement, boss bullets, and the now scrapped 3rd mechanic.
The problems I faced when coding the random spawning was that it originally would only spawn 1 type of enemy and not the other. After several troubleshooting and figuring out the right attributes with the intended booleans, I was able to get this to function. The same was applied for the items. Although I later had more issues with this when I had to code out the endless mode, the problem was very minor and was an easy fix.
As for the boss movement, I had trouble having the boss to move from left to right. It was a major issue as I wanted my boss to not remain stationary. I knew the problem had something to do with the x and y speed of the boss as well as the x and y positions, even the coordinates of detection played a problem too. Adjusting these factors after awhile helped solve the issue.
The boss bullets were spawning correctly, but the extra ones that would spawn periodically were not working. It was a minor issue as I realized I had coded it to spawn outside the scene and slowly fall in the scene, which was why it didn't work.
The scrapped mechanic was the shield. Due to time constraints, I didn't have enough time to develop and fix the third mechanic. Since I also already met the requirements for the powerup feature, I just scrapped the shield mechanic overall.
Audio file credits will be linked below.
Game Screenshots




Asset Credits: Click Here