SamSuka
Lithier
Lithier

patreon


Dev Journal: On the Mountain

It seems, at once, like only seconds since I last checked in with my progress, and also like eons have passed. Life has been a whirlwind, and thank goodness, because who would want my greatest challenge to be boring? Let's have a look backward.

After v0.07 was finally finished and shipped, I took a short vacation. This itself was surprisingly exhausting, but probably an enriching change of pace. Sadly, ill tidings were brewing back home, and I came back to family troubles, as I mentioned before. Things were very difficult emotionally for a while, and it was nearly all I could do to keep up the front end here while dealing with it all. Eventually, things finally turned for the better again, but it has been a very gradual process, freeing up my time and energy bit by bit.

It's in these difficult times that I have finally launched myself fully into attacking the AI Overhaul, the most fundamentally important part of what I want Project Wild One to be, and the greatest challenge of its design, perhaps of my career. I've done everything I can to lay the groundwork in previous updates and build little pieces of it in preparation, but the true work of it, the Core of the Core, is finally under way.

It has been a tremendous challenge, and I've struggled to keep going when I keep hitting so many design walls I feel like I'm trying to straight-line a labyrinth. Some problems I put aside for later, accepting that the first draft of the design should be as simple as possible. Some problems I must make concessions to, and accept that my design will not be a perfect simulation in every way. Some problems I find a clever workaround for, and some problems force me to change my approach on a broader scale, to re-frame my expectations. Some problems just require steady, grinding work. I've already been forced to use every tool in my problem-solving box, dusting off some old ones and refining some new ones.

If it were any other challenge, I would handle a lot of these problems differently. Many are so profound that I might spend as much as a week just thinking it over, mentally simulating different approaches, looking at it from new angles. It's very common for me to stop working for the day when I run into such a problem, take some time to decompress, and see if the next day brings an easier or more natural solution. Unfortunately, working like that would place v0.08's release sometime several years from now.

I have a rough idea of just how much work still needs to be done before all of this will be ready to ship. It's a lot. I don't have the time to handle all of these design problems “the right way,” so I have to settle for bashing my way through them one after the other until I have a remotely functional engine I can worry about tightening up later. Perhaps more than any other single thing, the challenge in this process has been letting things go, accepting imperfect solutions, and pushing forward, today, no matter how daunting things seem.

So where does that put us?

I've previously talked about how building all of this falls under three major categories: The Core work hardcoded into the project; the Content work filling spreadsheets with instructions for all the eventualities; and the Infrastructure work that converts all the Content into useful data for the Core. This is also how the text parsing system is built, so it served as a sort of practice and model for this system. Last update, I managed to slip in a lot of work beneficial to the Infrastructure, building systems that both the text parsing and AI systems could hopefully use.

This update cycle started with fleshing out how exactly the Core is going to work, turning a million very broad and abstract ideas into actual workable numbers and variables. I have the main pillars of the Core in place now, though a lot of details still need filling in-- so much that it's hard to even simulate all of it in my head. So I've started working in the Content area to help me step-by-step it more quickly, to figure out what exactly each section will need from the Core and the Infrastructure to accomplish its goals. This has been revealing lots of problems for me to work through, and things are gradually taking shape. There are still many gaping holes of mystery, but it evokes the feeling of building a spiderweb. A few of the critical starting connections have been made, and I'm starting to fill out the broad strokes. There's still a great deal of detail work to come, and everything feels terribly tenuous at the moment, but we've passed a lot of great hurdles.

Now, while a lot of this work is building foundations and tools for the whole of the AI system, I'm still only trying to get one chunk of it actually online for now-- the Input System, interpreting everything that's happening in a more intelligent and individual way so each NPC can “know more” while still not just “knowing everything.” The more I've worked on it, the more I've suspected I might extend that to some measure of “I should do X” thoughts as well, since many of those should derive quite easily and directly from the work I'm doing now, but other than that, it's all going to be plugged into the pitiful AI system I currently have in place so I can get it shipped sooner. I want to get the maximum benefit to the game experience I can from the minimum work and time, after all!

Once that system is built and installed, there will still be some “dressing up” to do. I'll probably want to install some sort of “thought display” that gives the player an idea of what characters are thinking and perceiving, including their own. This would be a temporary addition, as I hope to have more elegant systems for showing these things later, but at least it would hopefully help players see that yes, all these changes I've made really are “doing something” behind the scenes.

Along with that, I expect I should add some more Descriptions to the Text Output System that begin to connect to the new AI System-- currently, Descriptions can only guess roughly at what characters might be feeling, or what motivates them to do what they're doing. This update won't be properly simulating emotions yet, but it should still allow a fair amount of spicing things up with descriptions that imply how the characters see things and what's going on behind their actions! Of course, this feature might not make it in if it ends up being too much work to implement and write, and it will probably only really start to shine when I do get to more elaborate simulations of emotions and plans down the road, but I think it would be a strong way to make what's going on more visible if I can manage it.

Once those are installed, I think the new version should be just about ready to release. I might add a few more small side goodies to help round things out and improve quality of life for players, but that's my road map to the next version.

Of course, building the AI System itself is still the main bulk of that, and I'll still need to do a lot more work on the Core, Infrastructure, and Content, all three, before it's ready to ship. That's why I've been tearing through problems as quickly as I can, even if I have to do a sloppy job of it for now. After how many times I've gone back over old work in the project and found a hundred things to fix and polish, I've come to accept that designing systems for as complex a project as this is an iterative process anyway. It always ends up doing things differently than I initially imagined, and the perspective of using it for other things once it's complete lends a great deal more insight than I could possibly have now!

I'm still deep in it, but I'm hard at work and mostly recovered from the many troubles of recent times. I can't say it'll be done soon, but it's my sincere hope that this update will be worth the wait, and prove to be the beginning of a new chapter that is a big turning point in the project's development.

I think that covers everything I have to say about development at this point. Thank you for giving me the chance to climb the mountains I want to climb, and for your patience as I find my way up there. Thank you for trusting me, and for supporting me even when things are hard and slow going. I'll do my best to reward your investment with something special.

Comments

You should write your own book :D

Kayne Lhogan


More Creators