

Show HN: We built real MMO Asteroids - mayop100
http://www.mmoasteroids.com/

======
vikrum
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...

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

~~~
mayop100
Nice job with the single player versioN!

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

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

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

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

~~~
StavrosK
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.

------
mayop100
Check out the data behind the game: <http://mmoa0.firebase.com/asteroids0>

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

~~~
citizenparker
> "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.

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

~~~
jabo
"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.

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

~~~
vikrum
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..

~~~
mbrubeck
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!

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

~~~
h2s

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

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

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

~~~
minikomi
Game.ship.scale = 10;

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

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

------
justjimmy
Cool job!

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

Good times…

~~~
crux_
.... looking for <http://getcontinuum.com>? :)

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

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

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

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

------
sodafountan
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!

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

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

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

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

Awesome job on the game :)

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

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

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

~~~
vikrum
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>

~~~
saurik
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.

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

------
sslemon
<http://imageshack.us/photo/my-images/849/mmohackedlol.png/>

~~~
PhearTheCeal
Sorry about that...

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

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

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

~~~
ConstantineXVI
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/>

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

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

