nkholski Posted January 31, 2016 Share Posted January 31, 2016 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/ 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). sombriks, dr.au, Dread Knight and 1 other 4 Quote Link to comment Share on other sites More sharing options...
Roman Posted February 2, 2016 Share Posted February 2, 2016 I've signed up just to tell you how I like what you've achieved! Man, DAMN IMPRESSIVE JOB! There should be more love for metroid here! nkholski 1 Quote Link to comment Share on other sites More sharing options...
nkholski Posted February 3, 2016 Author Share Posted February 3, 2016 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? Quote Link to comment Share on other sites More sharing options...
GrimPanda Posted February 3, 2016 Share Posted February 3, 2016 Nice. This was one of the first things I made in html5 (private and smaller as a hobby). Got a big soft spot for this game. Keep up the good work! marabout 1 Quote Link to comment Share on other sites More sharing options...
rich Posted February 3, 2016 Share Posted February 3, 2016 Seriously well done! Quote Link to comment Share on other sites More sharing options...
BattyMilk Posted February 4, 2016 Share Posted February 4, 2016 This is awesome. Very well done! Quote Link to comment Share on other sites More sharing options...
WombatTurkey Posted February 4, 2016 Share Posted February 4, 2016 Wow, incredible. Really like the old school level transitions. Brings back a lot of nostalgia. Quote Link to comment Share on other sites More sharing options...
marabout Posted February 5, 2016 Share Posted February 5, 2016 Awesome! I wasn't able to play it on full screen on my IP6 but controls were fine. Really nice job Quote Link to comment Share on other sites More sharing options...
ramspeed Posted February 5, 2016 Share Posted February 5, 2016 Very neat! Quote Link to comment Share on other sites More sharing options...
Dread Knight Posted February 5, 2016 Share Posted February 5, 2016 I haven't really played the Metroid games myself, but it was cool to try out your demo, great job with it! Too bad no source code available :-) Quote Link to comment Share on other sites More sharing options...
marcgfx Posted February 6, 2016 Share Posted February 6, 2016 pretty good! ended up in some lava area where I could not land on blocks :X Quote Link to comment Share on other sites More sharing options...
nkholski Posted February 7, 2016 Author Share Posted February 7, 2016 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.) Quote Link to comment Share on other sites More sharing options...
Dread Knight Posted February 8, 2016 Share Posted February 8, 2016 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 nkholski 1 Quote Link to comment Share on other sites More sharing options...
bobonthenet Posted February 9, 2016 Share Posted February 9, 2016 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. nkholski 1 Quote Link to comment Share on other sites More sharing options...
Pixel Guardian Posted February 10, 2016 Share Posted February 10, 2016 Awesome!! I find the audio is a bit distorted on my phone, but I'm bookmarking this so I can play it on my computer when I get a chance awesome job man, keep it up nkholski 1 Quote Link to comment Share on other sites More sharing options...
Tobiasz Posted February 10, 2016 Share Posted February 10, 2016 Well done mate. One thing i noticed (not that you have to change it for me): my german keyboard layout has Z where the US Y is. It's akward to play. But i think your game is not for newbies so it's ok as it is. Good job again. nkholski 1 Quote Link to comment Share on other sites More sharing options...
nkholski Posted February 12, 2016 Author Share Posted February 12, 2016 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. Quote Link to comment Share on other sites More sharing options...
Tobiasz Posted February 12, 2016 Share Posted February 12, 2016 @nkholski it's: y nkholski 1 Quote Link to comment Share on other sites More sharing options...
nkholski Posted February 13, 2016 Author Share Posted February 13, 2016 I've made a small update today. Nothing worth any attention (I made the room transitions more true to the NES version, otherwise it's mostly internal stuff), except for @Tobiasz's fingers who can enjoy more ergonomic jumping using Y on that German keyboard. :-) Quote Link to comment Share on other sites More sharing options...
nkholski Posted February 29, 2016 Author Share Posted February 29, 2016 I posted a new tutorial today: Making a custom pool class by extending Phaser.Grouphttp://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 release: http://metroid.niklasberg.se/2016/02/19/introduced-a-bug-next-release/Map completed!: http://metroid.niklasberg.se/2016/02/27/map-completed/ Quote Link to comment Share on other sites More sharing options...
nkholski Posted March 28, 2016 Author Share Posted March 28, 2016 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. Quote Link to comment Share on other sites More sharing options...
andrewray Posted March 29, 2016 Share Posted March 29, 2016 I'm very impressed by how much work you've put into this. So many memories! I hope to see more. nkholski 1 Quote Link to comment Share on other sites More sharing options...
nkholski Posted March 29, 2016 Author Share Posted March 29, 2016 Thanks @andrewray! It's been great working with Phaser on this. I feel that I get results for every hour I put into it with most work already done for free. You'll see more, but I can't promise when. My hope is to be able to finish the full game with some extra features before the 30th anniversary in August. Quote Link to comment Share on other sites More sharing options...
nkholski Posted June 10, 2016 Author Share Posted June 10, 2016 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). Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.