Distraction or Sabotage?
As noted below, Saturday was a washout as far as work on the game went. Have I done what I said I would do by this weekend? Well, the letter of it, yes, but not the spirit. I had intended for this post to include a link to a page which would allow people to see a dynamically generated view of the map, and for the db behind the map to be being updated. There’s a page that shows some text about the map, but it would be dishonest to suggest I had completed my intended tasks.
So, what have I done? Well, I got a Wacom tablet in the week, and I’ve started dusting off my artistic abilities, such as they are. I’m not sure if I intend to produce all the art myself, but I’m certainly capable of producing the majority of the graphics I need to get a working and presentable website and game. I intend to spend at least an hour a day on art practice or production from here out. This is because the visuals are important, but also in order to keep making progress even if I’m really not feeling like coding, which I clearly haven’t been.
As far as the coding goes, I spent a lot of time today looking into the whole BLOB issue and then re-writing the DB routines in the map editor to load/save/delete maps on the DB. I’m still unsure of the performance issues surrounding the database, so it takes me a long time to think about anything to do with storing and accessing data.
The current plan is to have the game logic working on a tick where the game update data (all the queued user commands for the tick) will be extracted entirely from the DB along with a BLOB representing the previous game state. The game code will then update the game in memory before pushing the updated BLOB to the db and then updating a translated table-based view of the game state. The DB table data will contain a subset of the BLOB data, designed for use for creating the browser display and interface. Whether the BLOB storage is sensible considering I could just store a file lookup, I don’t know yet, but the idea is to minimise the effort required to provide the player interface and to avoid churning the db in order to calculate the major game updates.
When will I have what I said I’d have this weekend? Hopefully soon. It really is within reach of 10 hours of decent effort, it’s just a matter of putting that effort in. As long as I’m making some progress every day, I’m happy, and I don’t intend to turn this into a chore. At some point I’ll cross the border between “that’s a lot of work” and “if I just do this and that, it’ll be working” and the work will be easy and enjoyable to do — which is the point of doing it. In the meantime, I’ll keep sketching.

