DISCLAIMER: Music and some SFX are not of my property. They are placeholders. The project has no commercial purposes. If the game was ever sold these assets will be replaced.
(MIK's v3.0 update - Several level designs were updated in an attempt to simplify gameplay for new players)
Overview:
MIK is a skill based 3D action platformer built for speedruns. The main objective is to reach the "pixel glasses" as fast as possible. Moving platforms in Mik are synced to the music presenting an innovative challenge where the player will have to time his actions differently. The platforming challenges, enemies and the music driven levels will deliver a creative gaming experience that will challenge the player in ways they have never experienced before.
Process:
1. Brainstorm
2. Research
3. Plan Elaboration
4. Character Development
5. Character Prototype
6. Test and Iterate
7. Polish
8. Enemy and Level Design
9. Test and Iterate
10. Polish
11. Package build
12. Test / Feedback
13. Update packaged build with bug fixes and feedback suggestions
Design:
Mik's orignal idea was to make an adventure game, I took a lot of inspiration from Ratchet and Clank, Mario, Jak and Daxter, Crash Bandicoot and Sonic. However, after doing my research I realised the scope for the project was too big. I was by myself when developing Mik and I had never developed platforming mechanics before, so I decided to develop a simpler game instead, focusing on very strong basics rather than a lot of content.
The idea was to create an extremely agile character with a wide array of mechanics that could be used by themselves but also mixed together. With such a versatile toolkit the player would be able to play his own way by chaining mechanics in creative ways and creating a unique playstyle.
I really liked how the Sonic games are built, the levels are really fast paced and the game always encourages you to find shortcuts to beat your high scores. This speed and level design concept were ideal for Mik. I iterated on that and came up with the original idea of making the levels dance/move with the music.
The goals for this project were:
-
The levels must move with the music creating an immersive environment.
-
The gameplay mechanics must be fun and provide plenty of tools for speedrunners to create their own shortcuts.
-
The enemies must feel satisfying to defeat and present a decent challenge.
-
The game must be fast paced.
-
The game must present a big challenge even for speedrunners, who are mechanically excellent players.
Character:
I wanted my character to be unique with a strong personality. When doing my research I found out that the games I took as reference have really peculiar and appealing characters. I decided to focus on the music theme as I believe this has never been done before and it could result in a creative character design. My favorite music genres are hip hop and trap, so I decided designing a character that anybody could directly relate it to these cultures.
In order to provide the character with some cool unique mechanics that could relate to it's theme I decided giving him a speaker backpack to perform acrobatics and impulse himself in innovative ways using the power of sound waves. As a weapon, I used a bat that looks like a long studio mic.
The character name had to be catchy and simplistic, like "Mario", "Sonic", "Ratchet", etc. Because music was the theme, I decided to call him Mik. Microphone + Mike = Mik. Specially after looking at the character's final model with that microphone-shaped hair I was definitely convinced about this name.
My 3D modelling skills are not bad, however, I had never done organic models before so I opted for contracting my friend https://es.fiverr.com/crispybr0.
In order to provide this artist with the general idea of the character I made this doc.
In order to achieve the desired result, I decided to contact the artist every day so he could provide me with any updates so I could give him the exact feedback I wanted before it was too late. We shared multiple images and I edited a lot of them pointing out where I wanted him to focus next. Here is a gallery with some of these images.
The final image from the gallery above was the final model handed to me, however, I decided to make my own visual upgrades and edits. I also had to do the rig, which had multiple vertex weight issues. It took me a long time as this was the first time I ever used Maya and it was really challenging. Here are some shots with the final character model fully rigged and posed.
Mechanics:
In order to design the mechanics I had to set up some goals and discard any idea that would not let me achieve these goals.
The goals I planned for Mik were:
-
Mechanics must seamlessly transition into each other.
-
Mechanics must be fun to use yet challenging to use properly, rewarding players for learning and innovating.
-
Mik is an acrobatic character, so the mechanics must make him feel very agile.
-
Several mechanics have to reset other mechanics, allowing the player to combo them in many different ways.
With this in mind, I decided to create a functionality diagram:
Boosting: Enabled by holding Gamepad's Right Trigger. Increases movement speed in every mechanic state applicable. Extremely useful and the most important mechanic for the game. The player should always be playing with boost activated in order to speedrun. The reason behind having this button pressed at all times is to really enhance the feeling of speed, as if it was a racing game, where you hold a button down to accelerate. Releasing the button will slow Mik drastically, granting the player more control. Boosting is visually represented by having sound waves coming out of the backpack's speakers. (This mechanic was updated to be always active in MIK's v3.0 update in order to simplify gameplay mechanics for new players)
Wall Running: Triggers when Mik detects a wall with a side angle while moving at a certain speed.
Ledge Grabbing: Triggers when Mik detects a ledge in front of him.
Butt Slide: Activates by pressing Left Trigger. Mik needs to be moving forward at a certain speed. (Update from MIK's v3.0 - Now this mechanic can be cancelled by pressing Left Trigger again, this allows Mik to perform the initial jump successively after landing)
Jumping: Activates by pressing Face Button Down. If tapped, Mik will perform a short jump instead. (MIK v3.0 update - Removed the short jump as it was unnecessary and it caused bugs)
Double Jumping: If Mik is already in air, he will Double Jump instead. Double Jumping resets the Ground Pound mechanic.
Audio Jack Swing: Activates by pressing and holding Face Button Right. In order to trigger, Mik needs to be facing and in range of a swing point. When released, Mik will be impulsed depending on the swing momentum.
Ground Pound: Activates by pressing Left Trigger while in air. Mik will perform a back flip and fall down with an intense gravity multiplier.
As Mik starts performing the move, there is a 0.3sec interactable window where Mik can press Right Trigger to Boost himself forward and cancel the Ground Pound.
As Mik lands while Ground Pounding, there is a 0.3sec interactable window for him to Jump back into the air, gaining extra impulse due to the rebound.
Bassnades: When Mik walks over the spawner he will pick them up automatically. To throw and detonate use Face Button Right, if there is a swing point in range the Swing mechanic will tirgger instead. Mik can hit the Bassnade with his bat and combos. The Bassnade will only detonate if Mik triggers it or if it goes out of bounds, like a C4. Boostnade explosions will impulse Mik depending on his momentum. If Mik is Ground Pounding when the Bassnade detonates, he will gain the maximum impulse possible. Bassnade explosions reset the Ground Pound and Double Jump mechanics.
Combat: Combat acts as a separate mechanic, it cannot combo into anything apart from combat combos. Mik will use his bat/microphone to attack. Pressing Face Button Left will trigger Light Attacks, which can combo up to 3 consecutive swings. Pressing Face Button Up will trigger Heavy Attacks. Mik can chain his 3 Light Attack combo into a super ability by interrupting the 3 swing combo at any point with a Heavy Attack.
There are 3 super abilities available: Light Attack + Heavy Attack = Wave Push, Light Attack + Light Attack + Heavy Attack = Sound Wave, Light Attack + Light Attack + Light Attack + Heavy Attack = Tornado.
Additionally, Mik can attack while in air, Light Attacking while in air will make him spin once, Heavy Attacking while in air will make him ground pound with his bat damaging enemies around the sound wave created.
Mik can also perform dash attacks by Light Attacking as he is Butt Sliding or just after he lands from a Ground Pound.
Mik can also Dodge from left to right with the Shoulder Buttons, pressing both at the same time will make him Dodge backwards.
Enemies:
I designed 4 different types of enemies for the game and 3 different turrets. Enemies in this game act as obstacles, Mik can normally ignore them if he's fast and agile enough.
The Grunt Dude: This robot does not represent that much of a threat. It will chase Mik when detected and will loop this pattern: Melee > Roll Back > Rockets.
The Yellow Minidude: This tiny and squishy robot will be hard to hit as he's really agile. It will chase Mik when detected and loop this pattern: Reach Range > x3 Fire and Roll > Overload Stun. Because he is so fast I decided to stun him after his pattern is over so that Mik has a time window where he can take him out easily.
The Super Soldier: This is a complex enemy, he can fire a beam out of his cannon that will track Mik's movement, he can fire mini bombs and he can also attack melee. His loop pattern is: Beam > Chase and Melee > x3 Fire and Roll. The best way to kill him is by interrupting his beam charge making him fall then chain into an attack combo or wait until he comes towards you to perform his melee attack.
The Mini Boss: This enemy is very tanky and it will deal massive damage. It will charge towards Mik once he enters the range. If Mik never gets close it will just fire bouncing bombs. This enemy is invulnerable. The only way to beat him is to bait his charge into a wall then hit him when he's stunned.
The 3 types of turrets are the following: Cannon Turret, Machine Gun Turret and Rocket Turret. They can be reprogrammed in real time with 2 different behaviours, intelligent and stationary. If the behaviour is stationary the turret will fire forward at its fire rate in an indefinite loop. If the behaviour is intelligent the turret will only activate when Mik is detected by tracking and firing at him.
Level design:
I decided to build levels that would last for around 20 - 120 seconds. I like calling them "mini hardcore gameplay doses". Some levels have a theme mechanic, however, there are few of these, I like mixing thing up a little bit to make things more interesting.
The main objective is to always reach the end as soon as possible, however, there is a secondary objective. In every level there are 3 hidden music notes that the player can collect. These add replayability potential and will challenge players in a different way when playing the same level again. Here is a video showing a 3/3 notes collected run.
(MIK's v3.0 update - Several level designs were updated in an attempt to simplify gameplay for new players)
Post Mortem:
This was the first platformer I have ever worked on. I enjoyed every single stage of the development of Mik, it was extremelly challenging programming the camera and movement. I love challenges, they are what truly makes me push myself forward and learn. The amount of technical skills and procedures I learnt from developing this project by myself are extremely rewarding. I love platformers, and I really think I created something unique that delivers the experience I originally designed.
However, the game is very complex and it can sometimes feel frustrating. The current tutorial level is not enough to teach the player all the mechanics that are available in the game. The game was designed to be challenging, but I believe it's a bit overwhelming for new players. The players who put time into the game ended up learning and performing well, but I really believe I should have given them more tools in order to make the learning process easier and more enjoyable.
There are definitely some areas that need more polishing and I do not discard updating the project with new content and fixes. In fact, I was able to share the game with my friends at Rockstar Lincoln and after I got their feedback I quickly worked and released a new build in less than 1 week. This new version included fixes to the ledge grabbing system, the Boostnade mechanic, some level re-designs, a tutorial level, and the Mambo Trap level pack which has 4 levels in it. I was honestly surprised I was able to do all this in only one week! I really fell in love with this game and I hope you like it as much as I did!