My biggest regret is that Fleshcult is a server based game. You click a button, it sends a request to the server, and all the processing happens there in Python code.
There are several disadvantages:
- It doesn’t run offline. If the server goes down, nobody can play.
- There’s no easy way to keep multiple versions of the game live. I was always careful to keep saved games backward compatible because I know players can’t just fire up an older version, so my ability to make drastic changes was limited.
- Modding is completely impossible.
- I haven’t been able to do a totally unrestrained promotional push, because I know the server can only take so much before it lags out horribly or starts spitting errors. Server administration isn’t my forte.
This is all my own stupid fault.
Here’s how I’d do it gradually, instead making everybody eat all their veggies before dessert:
- Add content to the server version for a couple of months, all the while doing prep and fixing up code that translates poorly.
- Start work on Fleshcult 2 from the same codebase. Then can I start making really big changes.
What do you guys think? Technical details below the fold.
I plan to use:
I also looked into Brython (seriously impressive, but way too slow), PyPy.js (poor start up time, unmaintained), and Rusthon/PythonJS (total cack).
I’ve converted a little bit of the game as a proof of concept. The lion’s share of the work will be cleaning up Transcrypt’s output. The cruft isn’t as bad as it first appears – it cranks out gunk to emulate Python’s class-based inheritance which I can mostly get rid of because prototype inheritance is a better fit for Fleshcult.