Featured App: Rook
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 mode.
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.
Anything else?
Rook is open source. Anyone who wants to snoop into the code can go to https://bitbucket.org/jpbochi/rook. Collaborators are welcome.