back
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!
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.
Wow... best. thing. ever!! Thank you : )
How do you happen to own asteroids.com? There must be a good story! :)
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.
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.
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.

I came to say this exact thing. Please make this one into an MMO next.
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.

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).
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?

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..
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;
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...
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
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.