I’m back to where I was with Elm now, but this time with Kotlin. I’ve got:
- A game loop
- Actions including gather and forage
- A player action that can be set and that takes time to complete
- Buildings that cost and produce using the action system
- Random pumpkins
It was considerably easier than it was with Elm, but that is almost entirely due to the fact I know how to build an imperative program. I did find the documentation pretty lacking for Kotlin, and there’s a few styling details I don’t like (I really miss semi-colons at the end of lines. It’s funny how small things matter), but all in all Kotlin seems serviceable so far.
I’ve got two technical things in mind for the next steps. One is saving – an absolutely essential feature that I want to make sure I get in early in order to stop it getting confused. The other is using the web worker API in order to make sure that the update loop works when the window isn’t in focus – for an idle game that is also quite important, and this may make a difference in architecture so it might be important to consider early.
While I’m doing that I need to think next steps in design – improving the look and feel (it’s currently a white screen with some numbers on it and a few buttons) and also think about what the next steps are in terms of gameplay – What new buildings do I get? What do I do with all these herbs?