

This Post Took 3 Years to Write - kenpratt
http://brawl.in/3-years-to-write

======
codegeek
"Like who you work with: In life, and in business, surrounding yourself with
people you enjoy makes difficult times easy."

A very underrated statement. This really matters. No matter what you do in
life, it _always_ comes down to the people you do it with. E.g. People don't
leave a company, they leave their boss. People don't leave a marriage, they
leave their spouse etc etc.

~~~
Kiro
I don't agree. I prefer to work and be alone.

~~~
dyselon
If I take your meaning correctly, you do agree! You also would prefer to work
with the same set of people you want to hang out with. It's just in your case
that set is empty in both instances.

~~~
foobarbazqux
Both sets are non-empty.

------
huhtenberg
In Tutorial, when being instructed to place the 8th-grader, it's not clear
that it should be placed on a specific tile out of 6 (?) highlighted. Took me
some clicking around to notice that small _green_ arrow against _greenish_
tile and realize that.

Later on, same hiccup with "Now press forward". Green smallish arrow against
cyan background next to green header pointing at green field... you see where
I'm going.

    
    
      --
    

All in all, while this is not something that I'd play, it appears to be really
well done and it leaves great first impression. Congrats on the launch and
here's to hoping it will make you rich, healthy and happy! :)

~~~
mynameisme
Also, having the modal boxes jump around is kind of annoying.

~~~
eps
Same here. If you transition one into another - fade out content, resize and
move into new place, fade in new content - and do it quickly (200-400ms),
you'll get nice continuity and better flow to the tutorial. But as others have
said - great job as it is!

------
nonchalance
Something that is not said often enough: congratulations on launching! Even if
it was years behind schedule

~~~
kenpratt
Thanks! I'm more of the "launch early and iterate" philosophy, but
unfortunately with games you need to be much more polished than a web/SaaS
app.

~~~
Widdershin
An interesting example of this is Dejobaan "1, 2, 3 Kick It! Drop that beat
like an ugly baby" which is effectively a mashup of their earlier game,
"AaaaaAAaaaAAAaaAAAAaAAAAA!!!" and AudioSurf. They released a prototype to pre
purchasers, which then they put on Steam (privately) for ease of distribution.

Leading up to Portal 2's release, with the potato promotion, a still
unfinished "Kick It!" was involved as part of the promotion, with users
needing to obtain a certain ingame achievement. However, it was not at all
made clear to users that this game was still in alpha. Tons of users had a bad
experience, and a game that wasn't even really intended to be played yet ended
up getting exposed to the games industry at large, of course, with a horrible
reception.

------
pfraze
Good work!

I tried out the tutorial and thought it was pretty good, but wanted more
before signing up. I'd recommend putting in another larger battle where the
tutorial ends, so I can get a feel for how the game plays.

~~~
Revex
I felt the same way. And then I signed up with a bogus account, and it wanted
an e-mail verification.... Why make me e-mail verify?

~~~
nathana
E-mail verify is a GOOD THING. They're going to need your e-mail address
anyway, for the inevitable password resets and such. And almost nothing drives
me _more nuts_ than sites that take down an e-mail address during
registration/account creation and then DON'T verify it. Why? Because I've
discovered that there are thousands of idiots out there who either don't know
their own e-mail address and accidentally type in mine, have a personal
vendetta against me (so they sign me up for crap sites using my e-mail
address), or want to sign up but use a disposable e-mail address to do so (and
again they use mine). Apparently I have a common-sounding-enough (err, you
know what I mean) username on GMail that people are constantly signing up for
crap and using [myusername]@gmail.com to do so, and I am _SO_ _TIRED_ of
receiving it all.

If more websites would verify, then this wouldn't be a problem.

------
JonLim
Gave the tutorial a try and signed up.

We're huge fans of tactical strategy games here in the office, so I've shot
the link around to get a few people up and running. Small game studio based
out of Toronto here, so if you'd like some feedback from peers, let me know
and I'd be happy to collect what feedback we can offer. :)

Congrats on launching!

~~~
Shorrock
I'm the other 1/2 of the development team. Glad to have some other devs kick
the tires. Would love whatever feedback you have! Thanks!

~~~
JonLim
Cool! You guys have an email I can reach out to? Might take us a bit to get
some more game time under our belts. :)

~~~
Shorrock
Yup. You can use the in-site Feedback link, or hit us up at
hello@atomicbrawl.com

~~~
JonLim
Consider it done. :)

------
greenbes
There's some pretty unpleasant stuff in the "Terms and Conditions". I didn't
agree.

* If you link to the site, you can only say nice things

* You can't opt out of their emails

* They say, "please refer to our privacy policy" but there isn't one (this might be an oversight or maybe I just missed it)

[edit for formatting]

~~~
Shorrock
Valid feedback, not an excuse, but we drafted this with a lawyer ages ago and
haven't had the funds to properly revise. That said - it's not an excuse, and
I have nothing to say but we're sorry. It was an launch oversight.

We will look to revise this to get rid of the yucky stuff. Lawyers can't be
that expensive :/

That said, you can opt out of all emails, and we obviously the link stuff is
just dumb and not enforceable.

Apologies.

~~~
greenbes
Thank you for the response. Is there any reason why you can't just take those
clauses out?

You also say that you might change the terms at any time. Go ahead and change
them. :-)

~~~
Shorrock
Valid point. I guess we don't really need lawyers to remove stuff, likely only
to add them. We'll take them out this evening.

[EDIT: Terms have been updated. Thanks again for bringing this to our
attention]

------
joshbaptiste
_Don’t waste hours hours on something someone else can do in minutes. Value
your time._

Yep, hence why I hire designers..

------
ianferrel
I played through a dummy game for about 20 minutes.

This seems like it will be a lot of fun. My suggestion: Make basic info
(attack,movement, etc) about the brawlers viewable without clicking. There's
too much clicking as a new player because I don't know what anything does.

------
mathattack
"Had 1,867,713 additions, 1,748,514 deletions and 4,923 project commits."

Damn you're persistent!

In hindsight, why did take so much longer than initially expected? Poor
estimation of the initial target, or a large change from the initial target?

~~~
kenpratt
I think to be fair, a bunch of those insertions/deletions were from checking
in node_modules early in the dev cycle. But the 5k commits is accurate :)

And for schedule, it was vast underestimation of the scope of a digital CCG
combined with having day jobs => bad estimation and inconsistent hours.

~~~
mathattack
I suspect that managing a day job and a kid impacted the schedule quite a bit.
I recall a quote from another thread, "Once you have kids you are only allowed
one hobby."

------
nilliams
Tip to others trying the game: Play multiple games at once. Start a game, then
open the menu on the left, click Start Game, and begin another. I've found
some players are quite unresponsive and having a few on the go keeps it
interesting. You get notified when it is your turn in each game. Enjoyed my
first foray into this game, nice work guys :)

Feedback:

\- As someone else said the 'End Turn' button should disappear or be more
heavily disabled when it's not your turn. A more prominent alert at the top of
the screen when the turn hands over would be nice too.

\- Notifying of the turns you need to take is great when you have multiple
games on the go and totally saved the experience for me. It would be even
better if you could jump between games more quickly. Imagine a quick-jump menu
on the right with all your active games in it.

\- Music/Sound please! (I'm sure you're working on this!)

------
jurassic
My main feedback based on playing one game is that "End turn" shouldn't be
visible, even faded, if it's not my turn. I found myself clicking that a lot
during my first game because I wasn't sure if I'd passed control to the
opponent or not.

------
grimgrin
Well, that felt intuitive. I didn't want to click on a card then click the (i)
to view a detailed description. So I held ctrl and clicked it. It worked!

I'm going through the challenges right now. So far I'm really enjoying this.
Nice work!

~~~
vwinsyee
Right-clicking to get info was what came to my mind -- which also works!

------
andrewkreid
Isn't it great that stuff like this isn't getting getting built in Flash
anymore.

------
kayoone
Awesome game! Totally with you..Launching as early as possible with a MVP
simply doesnt work for games.. There are some exceptions if you target the
right audience (Minecraft) but in general gamers are very unforgiving. This
being a side project made by 2 people who have jobs and families i can only
imagine what kind of work went into that. Great job!

------
thomaslutz
Great game! Do you have short overview of what you used for making this game
(frameworks, database, hardware, etc.)?

~~~
Shorrock
Sure - I can speak to that a bit (there's a bit more information in an
interview we did over at: [http://blog.nodefly.com/post/49780591448/nodefly-
buzz-atomic...](http://blog.nodefly.com/post/49780591448/nodefly-buzz-atomic-
brawl))

We're currently running an all javascript (coffeescript) stack. In the backend
we have a variety of node.js servers. We have the following "types" of
servers:

\- Metagame: handles our web api requests \- Game: handles all the game logic,
on the server. no client side game logic. Because we're all JS - client is
effectively open-source. \- Notification: routes messages and notifications to
the users, utilizes 0mq between servers. \- Matchmaker: takes in requests for
game searches, keeps requests in memory, and finds matches. \- Overseer:
orchestrates where all the servers live. Want to know the address of a server?
talk to the overseerer. Need to spin up a new game server? Overseerer. \-
League: Handles league management.

We currently have physical 6 servers (2 metagame, 2 game, 2 for the others).
The metagame mixes web-sockets and standard web requests. The game server is
web-socket only. These are the only two servers that talk to the clients. All
other servers just network between themselves.

The Metagame, and Game server are fronted by nginx which acts as a reverse
proxy, does ssl termination, caching policies, etc. All our assets (images,
etc) are stored on Amazon Cloudfront, and cached forever. All filenames encode
the MD5 signature of the file to ensure that we can cache everything forever,
speeding up the clients.

We're currently using MongoDB to store all our game data. We use
[http://www.objectrocket.com/](http://www.objectrocket.com/).

We were also accepted into the Rackspace
([http://www.rackspace.com/](http://www.rackspace.com/)) startup program which
provides us a lot of free servers for a year. While we don't need all 6
servers right now, we can test out the infrastructure and launch this way,
allowing us scale up easier. Free for a year was a good reason to move away
from AWS - where we previously resided.

We went with nodejs - largely because of the "fun" factor. When we started we
didn't have a ton of familiarity with it, but we wanted something different,
and node had a lot of buzz at that time. While writing it in C, Java, or
Erlang would of been more in our wheelhouse, we knew this was a hobby project
and wanted to learn something new and enjoy ourself. It turned out to be a
good choice, node is great. It performs well, and is a joy to work with. I've
always felt that server side performance just needs to be good enough, you can
optimize and optimize and optimize, but at the end of the day your stack needs
to be architected such that it can run on 100s of computers at a time. You can
only run with 1 server for so long, so creating something is scalable in
hardware is more important then squeezing a single server for all it's worth.
Node, combined my 0mq (for us) makes this a snap. My 2 cents anyhow.

Mongo was chosen for a similar reason. It has nice aspects to it, and is a
great compliment to an all JS system. For us, we're not query heavy so it was
a good choice. That said, as we add features, I can see partitioning our data
into mongo data and more traditional RDBMS data. Mongo is good for certain
classes of data, but you need to know what you're getting into. If you'd like
me to talk to anything else, let me know.

~~~
inquist
Very cool, thanks for the info. I don't play games, but I do develop servers
and I find this fascinating.

------
abraham_s
Played the game, it is very good. A couple of points, \- I was also confused
by the end turn button. \- Is there time limit on the move? It wasn't very
clear to me. -It wasn't clear to me that traps affect friendly units (A
warning would be good.

~~~
abraham_s
Not having a time limit is a big issue. Currently I have 5 games where the
opponents are AWOL.

------
educating
> Had 1,867,713 additions, 1,748,514 deletions and 4,923 project commits.

93% of the code written was replaced at an average of 734 lines changed per
commit. That is some serious coding.

------
oddshocks
Not sure how I feel about the considerable bonuses for supporters. Maybe less
cards/gold and more aesthetic things? Gold bonus and 50% more cards per
challenge reward is quite high.

------
Ettolrahc
Not sure if anyone here had the pleasure of playing "Glitch", but the copy
done by Chris Shorrock is wonderfully crafted and reminiscent of the game.

~~~
saraid216
Copy?

~~~
Ettolrahc
Copywriting. All the character descriptions and such.

------
oddshocks
Oh my god someone wrote something awesome

I am going to be the best, like no one ever was

------
sbashyal
Congrats on launching! Not much of a gaming guy but liked the tutorial you
have. Good luck!

------
gazarsgo
I forgot how tedious signup forms are. OpenID or facebook/twitter login?

~~~
dochtman
I emailed them to recommend Persona. Would get rid of the separate email
verification step, too.

------
educating
> Keep emotions out of arguments.

Impossible.

