Posted October 16, 2022 by The Grumpy GameDev
I just go through breaking up the enormous ICharacter interface into a bunch of subinterfaces.
And I've moved on to making the game more data driven.
There is a boilerplate.db which is loaded when the game starts.
It had nothing in it. All of the tables were made on the fly with "CREATE TABLE IF NOT EXISTS" calls.
But I recently had put all of the metadata for character types and everything into these lazy creation calls.
The upside: everything is in the database.
The downside: the way of seeding a database on creation requires a cte, and it makes the columns typeless.
So no foreign keys, no check constraints, no uniqueness.
Now i'm moving them slowly into the boilerplate db.
I've moved 12 metadata tables.
I have 19 more to do.
Much of the time I am frustrated with how much I have to churn up the code to rearrange it into code that does exactly the same thing. At another time, I would want to start a new project. I've gotten to the point of often dreading working on it.
And I've even tried to switch to making a jam game for a short term.
But something in my cannot. I must continue this project.
The data layer and the game layer are now both characterization tested. There are 369 tests.
But I keep going.