(Still In Development)
Over the years of academic study at university, I have spent two years in modules with C# and Unity.
My first module being Rapid Games Prototyping, creating a series of game prototypes over the course of the year.
The game concept is quite simple.
Featuring four main objects/mechanics:
The physics ball which is a basic object and has no input from the player whatsoever.
The game board which takes input from the player. As the name would suggest, depending on the direction the player pressed, the board tilts slightly in that particular direction causing the physics ball to roll in that direction.
Keys & Gates which serves as a level mechanic, making it more of a challenged to win each level.
The portal which ends the game and after a delay starts the next level.
The criteria of this project was just “make a physics based block game” so from there I decided to do Jenga.
The first thing I set up was instantiating a prefab of a Jenga block.
When X amount was created, flip the prefab, raise it and create X more.
Once that was done the next priority was making sure players had good input selecting and moving jenga blocks.
When you hover over a jenga prefab, that blocks material will be a highlighted red for visual feedback.
Clicking on the block will get the appropriate axis (X or Z) for which direction the block is and pushing it away from the mouse.
When more then one block fell on a players turn, they lost.
The first thing I set up was the board itself.
Making it up of tiles as a prefab and each one having an index.
On the tile I had a trigger so I would be able to tell when a player was on that tile and execute functions accordingly.
As the game itself was local and played on a keyboard, setting up for 4 players was considerably easy.
From there alot of the game itself is UI based, for obvious reasons.
Depending on the choice of category, the question was randomized and called accordingly on a switch case.
Getting a question right moved the appropriate player to the next tile index whereas getting a question wrong sent that player back a tile index.
The first and arguably the most important aspect of a 2D platformer is the players input/experience.
So I started with making sure that movement inputs worked and felt right and not irritating, also accommodating a basic walking and jump animation using a state machine.
After that I put in some simple pick ups that would execute and affect the player upon impact.
Things that interact with (Score, Health, Ammo, Speed) etc, which is all handled in the player so it was just calling those variables and changing them when the player interacts with the trigger.
Much like all the previous prototypes, the winning and losing conditions of the game were simple.
When you reach the end of the level, hitting a trigger, you win the game.
If your health drops below 1, you die and the level restarts.