News:

Don't forget to visit the main site! There's lots of helpful docs, patches, and more!

Main Menu

Metroid One (Remake in Godot Engine)

Started by Grimstar, April 20, 2018, 03:58:23 PM

Previous topic - Next topic

Grimstar

After Godot 3.0 came out, it's finally mature enough to be used for actual projects, so here goes...

Metroid One
This project is an alternate re-telling of the events of Metroid 1. Since it's written from the ground up in Godot Engine, most of the mechanics, visuals, and core gameplay will be dissimilar, if not entirely different, from the original game. I am not a good pixel artist, but I am a better programmer and musician, which helps makes this solo-project at least feasible.

Presentation
The game's visuals and audio will be what I call NES+. This means the game will be about 512x420 resolution (2x pixel scale), with 16x16px tiles,  4 colors + 1 for transparency per tile, a 32-64 color palette (think Dawnbringer), and stylized (but not technically limited) music and sound effect quality. The melodies and soundscapes of the nes, gb, gba metroids will be transcribed into a unifying style with something that sounds oldschool in composition, but with crisper quality and less limited synths. Obviously I will be borrowing sprites and tiles from the original games and wherever I can find them during development. What is important is that they fit in a unified theme and presented as such.

Physics
Godot's 2D physics engine has it quirks, but with 3.0 its finally decent enough to do an oldschool platformer. That said, there is no reason to do things exactly like they did all those years ago with NES, so advanced physics will be present, though not at the cost of visual quality (i.e ugly rotations and such). This means rigid bodies, fluids, possibly even soft bodies if it works gameplay-wise and looks good.

Setting
Scouts from the Galactic Federation have located the hideout of the outlaw faction known as the Space Pirates, somewhere deep underground on the desolate planet named SR388. Before contact was lost, the scouts reported that the Space Pirates may have been developing some type of biological weapon. The Galactic Federation, spread thin and in constant diplomatic tension, does not have the resources to spare for a large-scale military operation, and so they send Samus Aran instead, a highly competent Bounty Hunter, to investigate SR388.

The Player Character
Samus Aran is now a 16x16px character with a one Hit Point, and has the following abilities:

  • Move Left/Right, Jump, Shoot,
  • Climb up/down/left/right certain terrain (largely replaces Morph Ball),
  • Throw/Place bombs to destroy certain blocking terrain,
  • Pilot Chozo Power Suit.
The Chozo Power Suit is a 32x32px (4 16x16 tiles) mech modelled on the character from Metal Storm. You either gain the power to summon it, at the price of energy collectibles, or find suits spread around the planet, and then power its abilities or HP with collectibles. When the suit is destroyed, thats it, you are back to your 1 hit point Samus. Until you find a new one at least. The idea is that this provides a way to combine fast-paced action gameplay with strategic exploration (outside the suit a single hit kills you) , in clearly separated and defined roles.  The suit itself can be upgraded to gain various abilities, like flipping gravity, faster movement, energy shields, and different weapons. It might be too heavy for swimming underwater though, but probably good as protection from lava.

Schedule
Since I am a single person with many real-life commitments don't expect rapid updates and progress. It will take time, but I enjoy the process, so it will likely survive to an alpha stage and possibly beyond (if we are being pessimistic). Right now the code for characters, enemy AI, and levels, is still being worked on.

Screenshots
As you can see, there is still a long way to go, especially with modifying assets to fit together.

Hackmi

Good plans.
Nice mockup there too, please revamp the physics n stuff too tho. It looks pretty stiff from that gif.

Grimstar

Quote from: Hackmi on April 21, 2018, 04:26:22 AM
please revamp the physics n stuff too tho. It looks pretty stiff from that gif.
Do you mean stiff as in non-floaty / instantaneous momentum change? I think floaty physics like super metroid might make a 1 hitpoint game too hard.

Also, I would like some feedback on using  incremental sprite rotation on the zoomer. Does it look good or bad?


Quietus

It doesn't look too bad, but it's making me think "if it can move that fast round corners, then why not move that fast all the time?" :^_^:

Grimstar

I'm thinking about making the single hitpoint of Samus to be more like a shield. By this I mean that when she takes a hit,
she is in a wounded/shieldless state, for about 2-3 seconds. In the first 0.5-1 seconds in this state she is invulnerable, but in the remaining time, if you take another hit, she dies. Basically she has some sort of emergency shield function that protects her for a short while before needing to be recharged, and it is in this recharge period that you can die. What do you think? Perhaps it could be an upgrade.

Grimstar

#5
[Edit: had some trouble with upload, fixed now]
Some more progress

Balancing the early game around 1 hitpoint is going to be tough. It's a fine line between stupidly difficult and too easy. Any tips would be more than welcome. Right now the Samus' hitbox is very forgiving

DestroyedChozo

Godot 3.0 seems interesting might give it a try.  :grin:

Moehr

Maybe just make it a normal shield, and significantly reduce auxilliary hp. So you take dmg as normal once the shield is broken. I you don't gain extra hours past the starting qty this gives you the option of low DMG critters at first, and one-shoys later.

On the other hand, if the goal is to avoid tracking dmg, which is hard to do on a game designed to let people play risky fast and sloppy, you could have enemy impact reduce firepower for a brief period, after which the gun can go back to full power. Make full power really really good and stunned power doable, but slow.

Grimstar

#8
Quote from: DestroyedChozo on May 01, 2018, 07:12:39 PM
Godot 3.0 seems interesting might give it a try.  :grin:
Well it was going fine for a while until I replayed the old Metroid and realized how crappy the built-in physics engine's collision response and so on really is. So I hit a bit of a wall (no pun intended), and I am now making a custom tile-based physics responses, where I want to support a few types of slopes. I will post the source for you to play with.

Also, after trying for a few days to get good gameplay out of a 1-hitpoint small character I realized it just doesn't fit the metroid type of explorative gameplay. The idea was simply bad for this type of game. With that said, I will be building the game with the original metroid in mind, with a few added things like slopes, aiming, crouching etc. that where there in its sequels. I'll be updating the main post once I get a playable first level.