Best way to make a platform game

Chat about anything not covered in these forums, but keep it civil!

Post » Thu Jun 11, 2009 2:06 pm

Well, it has been a long time that I want to create a Megaman 8-bit fan game, but I've never even started the project. Every time I open Construct I just stare at the blank layout, I don't know where to start, or what the best way to make the game easily editable is.

I've made a little diagram to show you how a Megaman game works.

Megaman-style game


In Megaman, the player chooses a stage, goes through many rooms and then fights the final boss to get something new.

Megaman, in my opinion, is very similar to Left 4 Dead.

The rooms have the purpose to damage the player before the boss battle, forcing him to use a Energy Tank early, finish ammunition, or to lose a life. The rooms can also be tricky platform puzzles.

In Left 4 Dead, the player goes through a level while harassed by zombies. The player can heal himself or others using a Health Kit (Energy Tank). After the harassment, the player has to fight in a very intense event where the zombies attack togheter. If the player has been severely damaged during the previous parts of the stage then he can make a low amount of errors.

In Megaman, it's more or less the same. It is possible to finish every stage and kill every boss without losing health, but it is very hard.
A skilled player will have little trouble and will make a low amount of errors while fighting the boss, while a non-experienced player may have a difficult time even fighting a simple boss.

I made another diagram to show how the rooms work in Megaman.

Megaman-style rooms


In Megaman the player is forced to go through rooms filled of monsters and damaging objects, insta-kill spikes, puzzles, jumps, and many other things.

While the player is in a room, he can choose multiple solutions to finish the room:
[list:1pdk1vs0]The player can take his time and kill every enemy separately to avoid getting too much damage[/list:u:1pdk1vs0]
[list:1pdk1vs0]The player can try to make a rush for the next room[/list:u:1pdk1vs0]
[list:1pdk1vs0]The player can try to avoid all the enemy fire and keep going straight[/list:u:1pdk1vs0]
[list:1pdk1vs0]The player can use different weapons to make different situations easier or to skip certain puzzles[/list:u:1pdk1vs0]

This is why Megaman or Left 4 Dead are good games. The stage may be linear, but the player can use all of his creativity to go through it.

Usually, Megaman rewards risk. You can often find power-ups that are hard to get, because of difficult jumps or strong enemies. If the player takes a risk to pick that power-up, he is greatly rewarded. This allows the player to "fix" a stupid error they made before, like getting damaged accidentally, but there is a chance they don't make the jump or get more damaged in order to get the power-up.

Now let's get to the point: what is the best way, in Construct, to re-create a game similar to Megaman without much trouble and a good way to edit/balance the game if any problem is found?

My idea is to have the less number possible of sprites.

Minimalistic attempt with sprites


As you can see, we have 6 sprites now. 3 Colliders and 3 decorative sprites.

The player collider is the sprite controlled by the player.
The enemy collider is the sprite controlled by the computer which tries to harm the player.
The projectile collider is the sprite that manages collisions with the bullets and projectiles.

However, this solution still needs backdrop objects (for the stages' tileset), moving objects and power-ups.

This looks like the best solution, it's not that hard to implement and easy to edit/expand.

The rooms could be .ini files created with a special editor, and everything else could be, too!

If I manage to find a way to create enemy behaviors and weapon effects in .ini files, then the development would be much more easier and editable.

What are your thoughts on this development-method?
What would you change/add/remove?
B
2
S
2
G
5
Posts: 512
Reputation: 2,674

Return to Open Topic

Who is online

Users browsing this forum: No registered users and 3 guests