I think it’s perhaps time to take a step back and see where I am.
So far I have a basic shell of a game:
- The main game loop runs and updates itself based on the current state.
- A web page shows the current status of the game and you can choose a player action as a basic interaction.
- I can build more interfaces reasonably easily using the React/Kotlin interface.
- I can add new gameplay features to the worker that does the main game updates separately from the interface.
This is nearly at a presentable point – obviously nowhere near a real release, but for a technical demo I think I’m nearly at a reasonable point.
What Else Is Needed?
There are a lot of features I want to add in the long run, but two stand out as being things that stop the game really being a game:
- The game is not saved so when the game is ran it will only last as long as the browser window is open.
- The game has no objective.
The latter of these is a big problem and something I hope to think about over the next few weeks. I envisage that there will be some sort of Ritual of Power that you can cast, which resets all of your resources (perhaps teleporting you to a new region, so any discoveries or previous rituals are lost).
The former of these is a technical challenge that I need to solve. I have had a think about how to do this, and in many ways much of this is already done as I have my message passing already. I just need a way to pass the game state back to the worker, and a way to store that game state from a browser.
Releasing a Technical Demo
Given that I’m not writing a commercial project with a release date and a marketing budget, I am planning to put together what I have and put in on this site sooner rather than later. I plan to add the storage before I do this, but I think that as a technical demo (rather than a real game) I am happy to post the game to the site somewhere without having a real objective to the game.
So there’ll be two jobs; firstly to finish off the storage, and secondly to work out how to package the project and put it online. I don’t think I want to give myself a strict timescale for this – storage is a large job – but I hope this will before the end of February.