Henry Ho logo Henry Ho

NanoTowns : Facebook town builder

NanoTowns beta title over a town scene

Published by Digital Chocolate, we used a Flash client served with Java back-end. I spent a lot of time on the back-end, learning multi-threaded Java application code, interfacing with Facebook APIs.

This was my first deep dive into back-end development, as the bulk of the heavy lifting in Facebook games was the scaling request service that had to be able to handle tens of thousands of simultaneous users. This was a learning experience, and we made some mistakes, like adapting our real-time multiplayer server that Digital Chocolate purchased from us (Flying Dino) to handle game sessions instead of using a simpler asynchronous http service. I had to learn lot of different back-end concepts and technologies like load balancers, database sharding, content delivery networks, ORMs like Hibernate, multi-thread safety, thread pools and executors, Java memory tuning, and of course, a ton of Linux.

I dug up a video showing the gameplay from Social Games Broadcast:

← Perfect Getaway : Cruise Boat Sim iMech : 3D online robot deathmatch →