News:

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

Main Menu

[SM] [DEAD] Multiplayer Project

Started by Black Falcon, October 31, 2011, 09:27:40 AM

Previous topic - Next topic

Black Falcon

             The Super Metroid Multiplayer Project IS DEAD!           

Too much to do, not enough vram space to duplicate Samus, not enough motivation to work on it any longer.

Thanks anyway for the positive feedback.  :^_^:

[spoiler=(kinda) original post]

The goal of this project is was to expand our lovely Super Metroid by a hot and intense multiplayer mode!

- Lots of new features will be would have been added
- Samus vs. Enemy
- Enemy vs. Enemy
- and Samus vs. Samus!

I thought, "many many awesome hacks are out there, but only one person can play them at a time, why?"
so why not making a game where up to four players can play together?

Because nuts!

- TONS of possibilities
- at least 200 different maps possible
- not only deathmatch, but also coop gameplay possible

[spoiler= Alpha Demo Preview]http://www.youtube.com/watch?v=OVmjrfUFty8[/spoiler]




For the sake of completeness, here's a screenshot that doesn't show the netplay functionality of the game:
[spoiler] :railgun:[/spoiler]

Don't Feel free to post comments and ideas about game modes, possible level designs and other stuff here.
If you want to join the project, just pm me or catch me on #metconst @ IRC on weekends. you have to restart it!



             Progress Updates             


Monday, April 29th, 2013:
- Project officially declared as dead
- cookies
- penguins
= double dash



Saturday, November 05th, 2011:

[spoiler]- used squishy's template patch, cleared and repointed all tilesets/palettes/tiletables
- removed entire pause routine, including map screen and status screen
  (space is now available for selection screens)
- coded a new and simple pause gamestate that freezes the current play for all players until host (player 1) presses start again
  (and only the host is able to pause the game)
  later the host will be able to choose whether to continue or to end the current play and jump directly to
  game mode/character/map selection screens
- reduced max amount of enemies per room from 32 to 8, releasing a total of 1536 bytes of available RAM space.
  (four playable enemies and four other 'decorative' enemies, such as yapping maws, platforms, fire bursts etc.)
- working on an enemy/room projectile documentation and a guide how to make new ones
  (e/r projectiles are things like Ridley's fireballs or the falling sparks in Wrecked Ship, also energy/ammo pickups)
[/spoiler]



             To-do-list             



[spoiler]- duplicate Samus
- more enemies to play with
- game mode/character/map selection screens
- lobby screen where players can meet each other and log in to the game (pretty much like the multiplayer screen in MP2: Echoes)
- palette selection
- gametypes, especially FFA and coop
- enemy/enemy interaction, also with each other's projectiles
- complete revamp of the current HUD routine for much faster weapon selection (also for enemies)
- new control system
- tweak of the current message box code to display messages quickly and without pausing the game
- weapon pickup PLMs
- fix sprite error that displays Samus multiple times on different screens
- slightly changed physics
- complete, I say COMPLETE removal of the entire debug routine to release another ton of ROM and RAM space
- other things I forgot[/spoiler][/spoiler]

...and that is all.

Qactis

At this point my only suggestion would be limiting the number of playable enemies, and scrapping the rest then improving the physics of each of the playable enemies. Metroid's have more slippery flight, other enemies move slower, etc.

Smiley

You better make Ridley a controllable character or I'll eternally hate you for a couple of hours! :FURY: (Umm, wait a minute there...)

P.JBoy

Is this gonna be an open source thing?

Chozunsda

I think a potential future use for this could be having a SELECT item that temporarily switches your control to the enemy it hits. It could lead to some pretty interesting puzzles in single player hacks.

Robstar360

WOW this is like a dream come true! PLEASE don't quit on this project. The idea of multiplayer SM is a goal i wished possible for a loooooooooooooong looooooooooong time!

Black Falcon

#6
Quote from: SMILEuser96 on October 31, 2011, 03:09:19 PM
You better make Ridley a controllable character or I'll eternally hate you for a couple of hours! :FURY: (Umm, wait a minute there...)
I can't think of a reason not to use him. :D
His code is perfectly suitable for controller input.

Quote from: P.JBoy on October 31, 2011, 05:51:31 PM
Is this gonna be an open source thing?
Sort of, yes, though I've not thought about it any further, yet
Best way I can think of atm is releasing two versions of the hack:
- one with some maps and controllable enemies made by me
- and one as a blank version so people can make their own characters and maps.
Needs more brainstorming.


Screw that.
The hack will be released with a couple of maps and a special room mdb.txt file.
I'll also insert some blank 1x1 rooms with enough roomspace and stuff, so you can add some more maps.

Making new maps is pretty much like making new rooms, so there shouldn't be any problems.

Things that's gonna be removed are the door transitions, the entire pause screen (cleaning out space this way so that it can be used for other things like the lobby screen or whatever), and like Quactis said, limiting the amount of enemies, which releases a TON of RAM that could be used for duplicating Samus (of course there will be improved physics  :wink:).

Quote from: Robstar360 on November 01, 2011, 01:11:19 AM
WOW this is like a dream come true! PLEASE don't quit on this project. The idea of multiplayer SM is a goal i wished possible for a loooooooooooooong looooooooooong time!
Didn't we all dream about it in some way...
:awesome:




Quietus

Quote from: Black Falcon on November 01, 2011, 05:30:15 AM(of course there will be improved physics  :wink:)
This always makes me pause for a second.  'Improved' is entirely subjective, and I'm not a fan of all of the changes speeding things up.  I'd prefer that this were just a different play style on the control system that I'm used to.

Black Falcon

Quote from: Quietus on November 01, 2011, 11:39:57 AM
Quote from: Black Falcon on November 01, 2011, 05:30:15 AM(of course there will be improved physics  :wink:)
This always makes me pause for a second.  'Improved' is entirely subjective, and I'm not a fan of all of the changes speeding things up.  I'd prefer that this were just a different play style on the control system that I'm used to.
Well, small speed up tweaks are necessary to give the play a better flow. Don't worry, the physics won't as fast as in Redesign, but the original game physics are too slow for an intense multiplayer game IMO. I'll try making them as minor and as 'comfortable' as possible.
On a side note: each map can have it's own gravity thanks to a patch made by Jathys.

About the control system:
How about each player (when playing as Samus) being able to carry two weapons at a time, ie you can pick up eg Missiles and Wave Beam, so the 'Shoot' button fires Wave Beam (primary weapon) and 'Item cancel' fires Missiles (secondary weapon)?
All the weapons would be (as in almost every multiplayer shooter game) placed everywhere on the map and you have to pick them up in order to get firepower.
Just an idea, though. Enemies could have different uses of these buttons, for instance primary button for firing projectiles and secondary button for doing close quarters combat (Metroid attack or whatever).
Again, alot of possibilities.
Perfect for making your brain hurt like hell! :heheh:

squishy_ichigo

Quote from: Black Falcon on November 01, 2011, 02:19:46 PM
How about each player (when playing as Samus) being able to carry two weapons at a time, ie you can pick up eg Missiles and Wave Beam, so the 'Shoot' button fires Wave Beam (primary weapon) and 'Item cancel' fires Missiles (secondary weapon)?

I asked you to do this aegis ago when you were working on your hud! :O

control system sounds great, but if I might inject a bit:
default equipment - morph, bombs, 5 missiles (can pickup more), charge beam, speedbooster, grapple
pickups - missiles, ice, wave, spazer, plasma (each beam would need to have it's cooldowns/damage tweaked), pbs
unused - xray, screw attack, space jump, hi jump, springball, varia, gravity

And as far as the missile shoot button is concerned, charge the missile shoot button for supers eats 5 missiles? missile button in morph eats a pb?
Not quite sure how you could get grapple to work with this missile button feature. I'd really prefer if it was only missiles and not a 'secondary weapon' button myself

just putting my two cents out there. :P

Charmander106

How about having to choose your own suit color so as to recognize what player is what.

For example, player 1 has the regular Varia suit color while player 2 can have a green colored suit. Something like from Metroid Prime 2 echoes. Just so you can recognize each player.

I don't know how that would be but just getting ideas...

altoiddealer

Samus vs Samus... maybe incorporate racing? Or a second game option?

I don't hack, but just an idea that I think would be fun

Character could set traps/pitfalls by crumbling boost blocks, closing gates (or opening gates w/enemies), placing bombs to knock other char back (would work best in morphball restricted areas), crumbling grappling blocks, etc.  Race could have a wall-jump area, morph-ball area, water area, etc.

Just a thought :P

silverpaw84

#12
[snip]

Power Missile

This looks interesting.  Hopefully this works, it'd probably turn out better than MP: Hunters.  :P

zephyrtronium

You could have so much more flexibility if you were to write your own game instead of trying to hack functionality like this into an engine that is entirely unsuited to it. \:

snarfblam

Quote from: zephyrtronium on November 03, 2011, 02:11:00 AM
You could have so much less cool-factor if you were to write your own game instead of trying to hack functionality like this into an engine that is entirely unsuited to it. \:

Fixed a little spelling error.

Qactis

Quote from: snarfblam on November 03, 2011, 05:48:30 PM
Quote from: zephyrtronium on November 03, 2011, 02:11:00 AM
You could have so much less cool-factor if you were to write your own game instead of trying to hack functionality like this into an engine that is entirely unsuited to it. \:

Fixed a little spelling error.

altoiddealer

Quote from: Chozunsda on October 31, 2011, 09:11:38 PM
I think a potential future use for this could be having a SELECT item that temporarily switches your control to the enemy it hits. It could lead to some pretty interesting puzzles in single player hacks.

Or how about implementing areas in your hack where you have an option to control an enemy by an event... like being grabbed by a chozo, or stepping into a platform like the one on top of samus' ship.  Could work beautifully with an "alien/human hybrid experimentation" plot.

Black Falcon

Quote from: squishy_ichigo on November 01, 2011, 02:41:56 PM
I asked you to do this aegis ago when you were working on your hud! :O

Heh, forgot about that, sorry.
That's probably the reason why this was the one of the first ideas I had, lol...

Quote from: squishy_ichigo on November 01, 2011, 02:41:56 PM
control system sounds great, but if I might inject a bit:
default equipment - morph, bombs, 5 missiles (can pickup more), charge beam, speedbooster, grapple
pickups - missiles, ice, wave, spazer, plasma (each beam would need to have it's cooldowns/damage tweaked), pbs
unused - xray, screw attack, space jump, hi jump, springball, varia, gravity

And as far as the missile shoot button is concerned, charge the missile shoot button for supers eats 5 missiles? missile button in morph eats a pb?
Not quite sure how you could get grapple to work with this missile button feature. I'd really prefer if it was only missiles and not a 'secondary weapon' button myself

just putting my two cents out there. :P
Hm...
Basically, since there're two button configurations (in both the ROM and the emulator),
I'd say using grapple with the select button. Another way would be completely getting rid of it, because it also uses a ton of RAM space, which is hard to copy if four Samuses are playing...
This way we could have three buttons for shooting, however I don't know how well that'd work.
Not having a secondary weapon is also a possible idea.
Or you can switch between secondary beam and missiles using select.
Well, I have to see how such things influence the game's flow, then I have to tweak them if necessary.

Quote from: Webber1900 on November 01, 2011, 02:49:41 PM
How about having to choose your own suit color so as to recognize what player is what.

For example, player 1 has the regular Varia suit color while player 2 can have a green colored suit. Something like from Metroid Prime 2 echoes. Just so you can recognize each player.

I don't know how that would be but just getting ideas...

That's a very good idea. I first thought of making sprites displaying things like 'P1' or 'P3' above the player's head, but I never really liked that idea.
In addtion to this, players could decide if they wanna make their colors manually (like with some sort of a palette editor) or choose between a predefined set of palettes for both enemies and Samus.
Alot of effort, though (the palette editor I mean).

Quote from: altoiddealer on November 01, 2011, 03:04:29 PM
Samus vs Samus... maybe incorporate racing? Or a second game option?

I don't hack, but just an idea that I think would be fun

Character could set traps/pitfalls by crumbling boost blocks, closing gates (or opening gates w/enemies), placing bombs to knock other char back (would work best in morphball restricted areas), crumbling grappling blocks, etc.  Race could have a wall-jump area, morph-ball area, water area, etc.

Just a thought :P

Racing... hm...
It may be a nice touch, but it's alot of work to code things like that, especially if you have to race through more than one room.
If a race like this should to be fun and challenging it should be at least the size of Grand Prix, which is hard to achieve, because the game has to calculate each player's XY coordinates on the map out of controller inputs, even if the players are not within the same room.

Quote from: ¯\_(ツ)_/¯ on November 03, 2011, 02:11:00 AM
You could have so much more flexibility if you were to write your own game instead of trying to hack functionality like this into an engine that is entirely unsuited to it. \:
I'm going this way, because making the game suitable for a multiplayer mode actually is fun and can be really challengeing.
IMO, if I'd make a new game with a new engine, there'd not be as many things that'd make it attractive as there are with the good ol' SNES (which is not unsuited for multiplayer).
Super Metroid was always known as THE ultimate SNES single player game, but a multiplayer mode gives an entirely new and interesting feeling that I hope will be as unforgetable as playing Super Metroid for the first time.
(besides, I don't feel like learning another programming language, also my PC is rather old, so if the engine is too complex, the game would lag for me, which is very bad)

Quote from: silverpaw84 on November 01, 2011, 05:57:15 PM
So this is what's been blowing up my RSS reader lately... It looks better than what I was hoping for with the screenshot. A winrar is you!
Thanks  :^_^:

Quote from: Power Missile on November 01, 2011, 10:44:43 PM
This looks interesting.  Hopefully this works, it'd probably turn out better than MP: Hunters.  :P
I can't guarantee that, but I'll try my best.


altoiddealer

Quote from: Black Falcon on November 04, 2011, 03:19:32 PM
Racing... hm...
It may be a nice touch, but it's alot of work to code things like that, especially if you have to race through more than one room.
If a race like this should to be fun and challenging it should be at least the size of Grand Prix, which is hard to achieve, because the game has to calculate each player's XY coordinates on the map out of controller inputs, even if the players are not within the same room.

I would say one giant room then.  Maybe at the end of the race there could be a straightaway with one of those auto-closing gates, timed to close exactly after the first player runs through.

I also had a thought that if player 1 has missles and player 2 has supers exclusively, then it could open up possibilities of having gate obstacles that can only be toggled by only one player or the other.

Again, I'm not a hacker so I have no idea how it works, but perhaps for a multi-room... with each room as a separate race... you could have a method that both players have a way to exit the one room simultaneously?  Would that help with the XY coordinate thing?

Just spitting this out there b/c I think racing would be totally bada$$ :)

Qactis

Whenever I start making some of my puzzle-oriented asm for SM I'll definitely give you some BF. Would totally open up co-op puzzle games

Black Falcon

Quote from: Qactis on November 05, 2011, 12:49:49 AM
Whenever I start making some of my puzzle-oriented asm for SM I'll definitely give you some BF. Would totally open up co-op puzzle games
Thanks!  :^_^:
Btw, how are your slippery slopes coming along?


Edit:
Updated first post.

P.JBoy

Can I suggest we make a spreadsheet or something like the File Compare output from SMILE to help show the areas of RAM and ROM that have been freed up?

snipereighteen

Woah man! You are like a God of Super Metroid hacking! I've always wanted a multiplayer addition to Super Metroid! Dude, can't wait till this is done. I'd love to help but I have no idea how this shit works.

snipereighteen

Could I design some levels for your proj?