

Show HN: My first webapp: Humans Vs. Servers - younata
http://humansvsservers.com/

======
younata
This isn't normally the type of app HN sees, but I figured I'd show off what
I've been working on.

It's written in python using web.py with a mysql backend. Lighty is the HTTPd
running on FreeBSD 8.2.

It hosts games of Humans Vs. Zombies and Assassins.

I actually finished it about 5 am Monday morning, but I've been waiting for a
license to host HvZ games before posting it to HN.

Humans Vs. Zombies is basically a giant game of tag (600 players is not
unheard of, though my uni has yet to break 150) played with nerf blasters.
It's insanely fun, and played on a lot of college campuses.
<http://humansvszombies.org/> has more info.

Assassins is a rather smaller game of tag (usually no more than 50 players),
and wikipedia has a great article on it.
<http://en.wikipedia.org/wiki/Assassin_(game)>

Why I wrote it: Gnarwhal Studios Inc. (the guys who own the trademarks to HvZ)
already have their own (free) HvZ hosting software that my school used for a
game of Humans Vs. Zombies. From the perspective of the average player's
experience using the software, it's fine. However, for various reasons, their
software didn't really like our admins.

One of the major deal breakers was that, midway through our game, four
students/former students died in a plane crash (my uni has a pretty good
flight program), and in honor of those who died, the admins decided to put the
game on hold for a day. Gnarwhal's software offers no way to pause the game,
and prevent the "zombies" from starving and actually dying. So we had to
manually add time to the zombies. It was not fun.

Pretty much immediately after our game ended, I decided to write my own engine
for hosting games of HvZ. I spent the better part of my winter break (read:
all but 3 or 4 days) researching what all frameworks existed for doing this. I
had prior experience with django, and I didn't like it. It wasn't until mid-
january (and making the dumb decision to just write my own stuff from scratch
- no framework, just straight C code) that I finally discovered web.py. At
this point, I had about 3 weeks to re-write everything to work with web.py.
Fortunately, webpy is an absolute joy to work with, and this was (and still
is) some of the most fun I've ever had programming.

By the time our game happened, I had a basic app that didn't much other than
log kills and figure out when people were deceased. I then spent the next
month and a half just going through my required-for-a-release features (one of
which was kill/check-by-sms, which was dropped in favor of releasing soon).

At the urging of a friend of mine, I expanded to allow games of Assassins.
Assassins is almost feature-complete with HvZ, however HvZ has automated
graphical analysis of game data. (see
<http://hvz.humansvsservers.com/fit/analysis/> for an example using data from
my uni's last game) This is something I plan on adding sometime during the
summer.

Shameless plug: I'm a freshman in Computer Science at Florida Tech, and
currently looking for an internship preferably in a Silicon Valley based
startup (my parents live in lovely San Jose, CA). It's a bit late to apply for
one, but better than never.

