Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: We built real MMO Asteroids (mmoasteroids.com)
197 points by mayop100 on Apr 9, 2012 | hide | past | favorite | 64 comments

After feeling the heartbreak of seeing MMOAsteroids last week turn out to be an April Fools' joke, I decided to take things into my own hands. This afternoon hack project I threw together yesterday using Firebase.

I adapted a simple single-player asteroids game off github (https://github.com/dmcinnes/HTML5-Asteroids) and made it fully multi-player with Firebase.

It's set up to spread out users across a bunch of games to avoid having 500 HN'ers on the same page. Login with Twitter so other people see your picture...

Glad to see my code live on :) Nice work!

Nice job with the single player versioN!

Wow, this is amusing. Seems like there are a lot of cool things you could do with Firebase.

It's fun. Congratulations!

I just set http://www.Asteroids.com to redirect to http://www.MMOAsteroids.com for the next week.

How do you happen to own asteroids.com? There must be a good story! :)

Wow... best. thing. ever!! Thank you : )

The problem with calling this Asteroids is that there are no asteroids. :)

This reminds me more of an old DOS shareware game called Spacewar (http://www.youtube.com/watch?v=yY5qHe2VadA), which was also multi-player although that game also allowed turning on gravity and warping (I see a comment mentioning warping in this game but I don't see it in the command list.)

This was one of my (and my friends') favorite small games back around 1990.

Edit: It was a DOS game when I played it. It is good to feel like a young person when talking about a game that I played 22 years ago.

Uh... Spacewar was an old PDP-1 game. It predates DOS by a little bit. And the microprocessor. And DRAM. And raster displays (the output was two analog channels fed to a raw CRT). It was essentially everyone's favorite computer game (everyone who knew what a computer game was) back around 1962.

And Spacewar even introduced the concept of "hyperspace" (don't let Atari ever tell you different)

Only partially related, but there was a fantastic game called Star Control 2 once upon a time. The main single player game was a big long quest, but it also had a 'Melee' mode where you and a friend could go up against each other in Asteroids-style space combat- putting different types of ships with different weapons against each other. So much fun was had.

Good news is that it's been ported to modern systems: http://sc2.sourceforge.net/

There was another one called Subspace (now Continuum) http://www.getcontinuum.com/. I loved the early days of that game. 1997-ish.

Oh man, I remember finding the client on a CD around '97. I had no internet, but I roamed those corridors alone for hours... Those were the days.

I spent hours flying round in that thing, one of the most perfect online competitive experiences I've had in gaming so far.

I came to say this exact thing. Please make this one into an MMO next.

Check out http://www.mmospacewar.com/. I made a few changes to mmoasteroids.com to make it behave more like the DOS version of Spacewar. Unfortunately, Firebase isn't available for another 1 day 18 hours 18 minutes and 10 seconds yet (http://www.firebase.com), so anyone who plays this will share the world and scoreboard with MMO Asteroids for now. (Hopefully this doesn't present a problem to the guy who created MMOAsteroids; there are already plenty of cheaters on there anyway.)

New features: warp (press 'z') and instead of instant death you have an energy which gets depleted by using thrust, colliding with other ships/bullets, and warping.

indeed. basically: Asteroids = Space War + asteroids + single-player + occasional alien ship

i've recreated both games a few times over the years, as hobby prototypes. fun games, simple mechanics. flying & shooting + imagination FTW.

Check out the data behind the game: http://mmoa0.firebase.com/asteroids0

Question: How do you bootstrap an MMO to reach a critical mass of players so that the environment sustains itself?

A friend and I built this MMO game called Pixza (http://pixza.com/lite) and we're finding it incredibly tough to bootstrap the ecosystem. The problem is that since it is an MMO game, it's not enjoyable with a few players. So after every wave of publicity, traffic comes in sporadically which does us no good. If all of the traffic came within a frame of 20 minutes of starting a game, I'm sure the game will explode. I've seen it happen during play testing with friends and family.

> "The problem is that since it is an MMO game, it's not enjoyable with a few players."

I think this is your problem. All of the compelling virtual worlds I've been part of have some hook that works on the individual. If you doubt, log into one of the old classic MUDs like LegendMUD (http://www.legendmud.org/) or Blood Dusk (http://mud.dusk.org/). They're still compelling when you're alone in the world (and these days, that's pretty likely).

I think it's perfectly legitimate to say your product is better in groups. I would hope so for something calling itself an "MMO." I think it has to be compelling by yourself to some extent though. I'd argue that every major virtual world from WoW to Second Life to even Minecraft has provided this.

What's even better is that when you have that action that is compelling alone, the second person into your virtual world sees that person being awesome and then desires to join in. You open yourself up to getting a "First Follower" effect, in other words.

Then again, some kinds of games cannot really be played alone. Multiplayer shooters for instance.

"Then again, some kinds of games cannot really be played alone. Multiplayer shooters for instance." > This specifically applies to Pixza because offering a single-player mode in any form would change the dynamics of the game - because it is essentially a two-team game.

I had similar issues, I had absolutely no idea what I was doing. You need some sort of primer visible to people know what they're supposed to be doing. Other than that it looks pretty intriguing, I like the nice clean graphics and from what I can tell it's a pretty novel idea (although, as mentioned, I don't know what the point of it is yet).

Should we make the help button at the bottom of the page more prominent? Or was the help text not very clear?

Just some as-I-try-it feedback:

1) What am I doing? 2) Oh, okay, right. I move the blue blocks to make a "B". 3) Okay... Why am I doing this?

I'm not sure what the game /is/, or why it's a challenge, or why it's any fun at all. Could you explain it a little further, please?

There's a help button on the bottom of the page. We should make that more prominent may be?

Very cool. Quick feedback: there are too many players on one screen. Getting immediately run into and killed repeatedly by random players careening around isn't a great user experience. My guess is dropping ~5 players max onto a canvas would be more compelling, and lead to longer initial engagement times.

Good feedback; just bumped up the split between users and games. Should ease up a bit. As traffic ebbs and flows we'll try to keep it balanced. It doesn't assign users in any intelligent way right now..

It also seems that spawning happens only in the top left section of the canvas, which makes that area especially crowded.

It's a bit too easy to get killed right after spawning; maybe there should be a very short grace period in which you can start moving, but can't yet kill or be killed.

Regardless, it's a very fun game. Thank you!

Please can you make it scale to for a 1024*768 resolution? Thanks. I found it great fun dog fighting with another when it's a bit quieter. Annoyances were someone hacking the controls and setting a ship to move across the screen shooting a great number of shots directly left and right that moved in a wave straight up and down the screen, wiping out all players in its path. Trying to move ahead of this often didn't help due apparently due to lag. I managed to shoot the bugger, but then they respawned with movement reset and the whole screen was speckled with shots, yet another killing field. Later it was doing similar movements to before but shooting out in a spiral at a rate unmatchable with the space bar. Thanks for building this!

Edit: A hide-able chat msg system would be cool. I just wanted to hit t and say "good fight!" after an opponent and I managed to take out each other at the same moment.

    > Please can you make it scale to for a 1024*768 resolution?
Mmmm. Doesn't fit in my 1280x800 screen's viewport either, which is a very common size.

God mode: "Game.ship.collision = function() {}"

Also "Game.lives = 1000;" and "Game.score = 1000; updateScore();" etc.

Game.ship.scale = 10;

hah. very nice! Figures HN'ers would find this immediately.

Seems like this is rapidly becoming antisocial behavior for all those NOT in god mode, though.

Cool job!

I wish there some an MMO that's like http://en.wikipedia.org/wiki/SubSpace_(video_game)

Good times…

.... looking for http://getcontinuum.com? :)

You can tell this one's real, due to all the popping and warping. :)

Brings back memories of Zap from torque network library. http://sourceforge.net/projects/opentnl/files/Zap/

This little sample game turned out to be tons of fun and is a great example of how to build something like this in a scalable and rock solid way.

The current mode is impressive, although may I suggest a co-op mode where you don't shoot other players but rather actual asteroids? Might be less crazy/frustrating that way.

This is very cool! What would push it over the top for me would be the ability to start a game of it with my friends...

I would definitely lower the inertia, it's not very enjoyable when there's such little control over what your doing also there's a bit of lag but that's to be expected with the influx in traffic. But other than that it looks pretty good, nice job!

In similar news I created a MMO Snake, you can try at http://bfilmhelden.de:8080

My backend is running on Go - Would be really interested in what firebase is exactly. Looks like it would make this much easier.

I'll agree it's multiplayer, but considering gameplay goes from "fun and challenging" to "frustrating" at around 10-15 players, I doubt its massive-ness.

However, if the map scrolled instead of wrapped, it could easily become massive.

Yeah. We broke it up into a bunch of smaller individual games that people get assigned to.

Is there anyway to make sure you start with specific people?

Awesome job on the game :)

No, it just randomly assigns them right now...

It seems to have randomly assigned me to a game with no other players. (Or maybe there really are no other players?)

The scoreboard has been hacked already!!!!

Also, I'm not sure if I was regrouped with players who weren't signed in but after logging in with Twitter I no longer saw any other user pictures.

Hah! Yeah, we left the debug console open so you can play with it. It's a graphical debugger that shows the data updates for the game in realtime. Have fun: http://mmoa0.firebase.com/mmoaleaderboard0

You don't need the debug console, though: the database seems to simply be a shared scratch space, so anyone can just manipulate anyone else's state using the JavaScript API.

Oh no. I predict that within the hour every player will have a rage face as their player picture.

Awesome! I've been using Firebase for a while now and this further proves that it has so much potential! Every day I see more and more apps being built on it.

Sorry about that...

Seems like I keep getting destroyed without even seeing anyone collide with me or shoot me. Maybe due to some hack?

Quick, leave the page before I waste more time ... !

I discovered this one last week, and I personally prefer it: http://seb.ly/demos/MMOsteroids.html

That's a clever April Fool's prank[1], and the inspiration for this one (which is real)

[1] http://seb.ly/2012/04/gotcha-fake-mmo-asteroids-april-fool/

Yep it's easy not to have any lag when there are no actual connections to other users.

All that is running locally in your browser.

Is this another April's Fools?...O wait it's real.

Hmm, doesn't work in any browser I have tried.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact