For the second installment in the AppHarbor Featured App blog post series, we're profiling Rook, built by João Paulo Bochi. João works as a software developer for Dell in Porto Alegre, Brazil.
What is Rook?
Rook is a game-engine under construction. The goal is to support almost
any kind of turn-based strategy game.
More than strictly abstract games (such as Chess), games with random
factors (like Backgammon) will also be covered. The main feature,
though, will be support of games with hidden or uncertain
information. One classic example is Stratego, but I have some ideas
that may be much more interesting. Theoretically, one game that could
be implemented is Sid Meier's Civilization.
In order not to lose focus, I'll be focusing on the features required
for my target game, Duelo. It was invented by me and my brothers quite
a few years ago.
How many users do you have?
Rook is a hobby project, but may turn out to be more than that. Since
Rook is just starting, the only users I have are friends willing to
work as beta testers.
I imagine that Duelo alone has the potential to attract thousands of user. Its
flexibility and randomness keeps the game very addictive. Every match
is totally different from the others. I know that because I have one very
old implementation of it. Unfortunately, it only works in hot-seat
Why did you choose AppHarbor?
I read a blog post about Apharbor on Aaronontheweb. It looked much
better than other hosting services. It already had MVC3 one day after
RTM, for example. The web page is extremely simple and clear. And it's
free. I decided to give it a try, and I have not been disappointed.
Which technologies is Rook built on?
ASP.NET MVC 3, Ninject, and xUnit.net.
How has AppHarbor worked for you so far?
The whole experience has been great. Pushing and deploying worked very
smoothly. My unit tests ran automatically and I didn't even know it
was supported. The environment and connection strings management is
very neat, too.
The application configuration page is as simple as it can get. And all
the options are easily available. It's an inspiration to anyone
buiding a web site.
What did you like the best? Where could we improve?
I liked the way how everything is convention-based, making any
specific configuration unnecessary.
Before the first deploy, I was wondering how Appharbor would know
which web project to publish. It's obvious, just use the only web
project that I pushed.
I think more documentation is still needed, but that's just a matter
of time. The way connection strings are handled, for example, were
documented today. Coincidentally, the same day I looked for it.
Rook is open source. Anyone who wants to snoop into the code can go to
https://bitbucket.org/jpbochi/rook. Collaborators are welcome.