As you can see from the previous post there are a lot of things to consider when building something on-chain. It's easy to get overwhelmed by this and reach a state of analysis paralysis. The best way I have found to break out of this is to just start writing code, so that's what I did:
This is the first Go code I've ever written and there were definitely some "learnings". Overall it was a great exercise for getting un-paralyzed and learning a new language at the same time. I have a number of thoughts and comments, but I will maintain those in another post.
go run src/main/main.go this code, it'll spew a bunch of info in the output. It's just doing a sample run through of the core game loop.
Yes, I'm aware that Go doesn't have "classes" just structs, and that the New... functions aren't actually on the struct. But for ease of understanding I've adapted them into a class diagram.
The objects look like this:
And the flow it's following is this:
Obviously there are a lot of things missing here. The code is passing around state as if it's readily available, and much of it is not keyed in a way that we could store and retrieve it. At least we have our core objects and can see their interface points.
There are a lot of references to "colors" here, because a concept I'm thinking of with this game is that character stats (and appearances) are determined by colors.