Jump to content

[Phaser] Metroid (Alpha 2 released on March 29th)


nkholski
 Share

Recommended Posts

 The original Metroid for NES turns 30 years this year. To celebrate this and as an exercise I'm recreating the game with Phaser (although it will probably be just a partial remake). I put what I have done so far online tonight and embedded it in a quickly made dedicated Wordpress site. The site was made partly to offer Nintendo an explanation to what this is and a contact form to send a cease and desist request to if they would stumble upon this and decide that they disagree with it. I'm particularly happy with the still unoptimized performance on my mobile (only tested in Android/Chrome), but beware that there will be a significant delay between the title screen to the actual game on weaker devices. Available here: metroid.niklasberg.se 

Update - 2016-03-29: Alpha 2

Alpha 2 was uploaded today which adds complete world map, save game support, elevators, dat.GUI integration, two player mode (experimental) and 16-bit mode (experimental). Read more: http://metroid.niklasberg.se/2016/03/28/alpha-2-released/
save-games.png  two-players.png.358ff77a56f990ef0fe7578616-bit.png.f6a94b4190a6eb890ff1b8fa216a3

First version includes:

  • Complete Brinstar map, but only populated with enemies in the path to the first missiles
  • All items except varia and wave beam. Keep right to reach a special room containing all of them.
  • All brinstar enemy types. They won’t behave exactly as in the original though. My aim was to add them all, and in some cases I just went ahead as I remember them without comparing with the original.
  • Doors, destroyable blocks and lava.
  • Touch controls on touch devices (and decent performance on at least my Nexus 5 mobile).
Link to comment
Share on other sites

Thanks!!! That's really encouraging! I posted a probable roadmap to the next release on the blog (mainly expanding the game to cover more of the original and improvements) but I've been thinking about optional (and toggleable) 16:9 and 16-bit modes to bring something new. What do you suggest I should focus on?

Link to comment
Share on other sites

Wow! It's been fun working on this so far, but knowing it's appreciated makes it even more fun! I actually uploaded this in it's current state because I got a baby on the 25th and knew I wouldn't prioritize this for a while,being busy welcoming a new person to this world. I'm happy I patched what I had together to something working and shared it. Google Analytics reports visits from around 60 countries. 

 

I've finished 8 of 12 enemy classes (but not all tweaks of them) and 8 of 10 items. I also figured out a better way to dump map data from an original rom-file and might even get some assistance with that. I look forward to find more time to work on this. The first release was very limited and kind of buggy, the next may be far more complete and a bit less buggy :-).

I'm also considering writing some blog posts on the development f there is any interest for that.

@Dread Knight: I haven't shared the source code because of two reasons: 1. There is a lot of last minute hacks in this version which I would be too embarrassed to share :-). 2. I use copyrighted assets and trademarks and want to keep some control over how the project is spread, at least for now. I'll likely upload the source code to Github at some point. (Btw, you should at least try Super Metroid, my all-time favorite game.)

Link to comment
Share on other sites

Congrats on your new born! :-) Seems you got quite a bit of attention with the project. I'll definitely love some blog posts about development!

 

Will watch some gameplay videos with it on youtube. I'm currently offering a part-time coding positions and one of the questions there was regarding what games does the submitter likes and I noticed quite a few people answered Super Metroid, so it seems like it's quite a popular game.

I only played a little bit some 3d Metroid that was preinstalled on Wii, only because my best buddy at the time dropped by and started playing. The game was somewhat strange/different, but looked pretty cool. Anyway, as it happens with franchises, it's often that people tend to have a crush of some sort with the old-school stuff, I'll probably end up checking out most of series via youtube. Sometimes I tend to play some of the old arcade/NES games via Mame and even from browser-based arcade websites which offer Java based emulators, very accessible and cool stuff :)

Link to comment
Share on other sites

Seeing this just made my day! Metroid is one of my all time favorite games! If you blog about this or or share code I would love to see it. This is really one of the most exciting things I've seen done with Phaser.

Also congratulations on the new baby. You've got about 10 months give or take that you should still be able to get some good game making time in before the little one starts walking. That is when it'll be all over. I have a 3.5 year old and between him and my day job it is really hard for me to get time to code my own fun projects. It is still possible but I'm pretty much a zombie and not coding smart by the time I get to it. If it wasn't for the love of doing so it wouldn't happen at all. As soon as he is old enough to read, I am going to teach him to code so we can make games together.

Link to comment
Share on other sites

So, I wrote a first tutorial to see how it is received. Don't want to cross post, so I just add a reference to the post in the bottom of this one.

@Dread Knight: Don't know if youtube make the game justice, but it gives an idea. Don't spoil the final clash with the Mother brain in Super Metroid. :-)

@bobonthenet: Yes, it's a challenge. I got a soon to be three years old too. On the other hand I feel I get more focus on using the free time I have instead of wasting it getting stuck on youtube or something. These days it's hard to even find an hour though.

@Pixel Guardian: I will add alternative audio formats later on. Hope you enjoyed it on the desktop.

@Tobiasz: Ok. I have a Swedish keyboard (å,ä and ö) but they are placed next to enter. Thank you for the info, which key is on the left of X on your keyboard? I could just add it as an alternative key.

 

Link to comment
Share on other sites

  • 3 weeks later...

I posted a new tutorial today: Making a custom pool class by extending Phaser.Group
http://metroid.niklasberg.se/2016/02/29/making-a-custom-pool-class-by-extending-phaser-group/

Other news since my last update is that I got a complete dump of the map data in the original Metroid ROM, and I worked really hard to inject it in my Tiled tilemap and update my tilemap-parser. I've also implemented save games in the development version. I will try to wrap my work up soon and hope to make a new release within a week or two.

Other blog posts since my last post in the forum:
Introduced a bug + Next releasehttp://metroid.niklasberg.se/2016/02/19/introduced-a-bug-next-release/
Map completed!http://metroid.niklasberg.se/2016/02/27/map-completed/

 

Link to comment
Share on other sites

  • 4 weeks later...

I uploaded a new version of the game today. In the next version, I hope to get the game up to speed again, fix the map parser bugs, add all enemies (except in Tourian), Kraid, Ridley and all items. Perhaps I’ll add gamepad support, 16:9-mode, minimap and a status screen. I might also upload minor updates with just some of these features. What would you like to see first?

The development is quite straight forward at the moment, and my main challenge is to find time to work on the game.

 

Link to comment
Share on other sites

  • 2 months later...

Would anyone be interesting in collaborating on this? I haven't spent a minute on the project since March and am considering putting it on Github. Before doing that I need to spend some time cleaning up the code and remove the biggest embarrassments.

The main tasks that need to be done are to remove some game breaking bugs in the map parser, rewriting the code for destroyable blocks, rewriting parts of the generic enemy code such as how frozen enemies are animated and adding support for more enemies (of most are just variants of already supported enemies). The sprite sheet is also incomplete, and there is a lot of obvious tuning and smaller fixes. Also, the current version is not as performant as earlier versions which should not be too hard to fix (perhaps just by upgrading to Phaser 2.5.0 when released which is planned to improve tilemap performance).

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...