It begins... again!
After my previous attempt at an Android Seven-Day Roguelike entry (we parted on friendly but premature terms), I figured I would go back to what I know to give myself a better chance at actually releasing something. Since I'm primarily a server-side developer, that means online gaming. Hooray!
The first game I fell head over heels in love with was Final Fantasy VI (US) on the SNES, and that hasn't really left me. What I'm working on is a party-building game in the style of Disgaea but with a simpler early-Final-Fantasy battle system (i.e. fixed positions, no tactical movement elements).
I tend to spend some time playing the most popular games in the Google Play store, so the gameplay I'm going for is largely a more casual version of the CCG genre, which tends to overwhelm me with "Fuse these! Level up these! These are only for fusion! Evolve that! Wait, you can't evolve that yet!"
There's a lot I'd like to get in, but starting with the basics, this is what I'm going for.
- Unit acquisition and multiple party management
- Equipment and item acquisition and management
- PvE with dynamically balanced enemy party and reward generation
- Optional PvP with (hopefully) fairly accurate party strength matching
On the technical side, some of the groundwork has already been laid.
- Realm.io for local player data caching (partially integrated)
- Websockets for low-latency, low-overhead connections (mostly implemented)
- Redis behind Tornado for transactional server state management and client updates (partially implemented)
Unfortunately, this blog is probably going to be pretty freaking boring to most people, since it's unlikely to produce screen shots for a while, and at first there's a fair bit more tech groundwork to lay before the UI can realistically do anything interesting. When it does get to that point, my plan is to use Oryx' 16-bit fantasy sprite set, which I picked up for the last project and am definitely looking forward to using again.
State of the Project
- The only remaining hurdle for websockets is getting SSL to behave. Since it's entirely a protocol issue, for now I'm moving forward with development without SSL.
- Realm.io already gets dummy objects at startup, so what it needs next is corrections to the data model and actual data coming from the server.
- Very basic list views for units are in place and just need UI work when the data models are updated.
- Tornado happily handles ridiculous numbers of websocket connections and messages. My benchmarks were admittedly quite contrived, but I'm confident the bottleneck on the server will be Python-Redis interaction, which should itself be very fast.
- The first draft of the game's data models are about ready for implementation; list and detail views for units and items are first up, and should be interesting in terms of seeing how the infrastructure behaves with actual data.
If this sounds even remotely interesting to you, please do stop by once in a while to see what's going on! I don't have a timeframe for this, but it's been going faster than expected so far, and I'm going to try and update this, both as a way of letting people know what's going on and to help keep myself working.