Development journal

Making Vandrel with AI, including the parts that go wrong.

Vandrel is a colony simulation you can inhabit. I use Codex and ChatGPT to coordinate agents, write and inspect code, change the rules of the project, and generally get more done than I could alone. I make the decisions, reject bad work, and remain responsible for what ships. This is the running account, not the cleaned-up version written later.

Today I got past the part where the right three people appear and then stand there. The production run now starts with the player, Takka and Brukk, no prefab camp, and four nearby resources. Takka chose to explore and Brukk chose to forage berries through GOAP, so the Utility AI repair worked and the test now proves the actors are actually making decisions. Then Brukk hit the next broken boundary: every time he tried to finish foraging, the C# action system rejected it because the reservation was no longer live. That happened over and over, which is useful because it means the test is no longer dying during startup and is finally finding an actual game-rule problem. Codex spent the rest of the day pulling duplicated scoring and mod-loading rules out of the runtime and making the real Main scene publish definitions through one path. Those changes have a lot of tests, but I have not rerun this complete opening proof since the latest fixes, and Godot still leaks objects when it shuts down. So the opening now has the right people and working decision-making, but Brukk cannot reliably finish the first useful job. That is closer to a game, but it is still a failed run.

Today I was trying to prove that the navigation data Vandrel is actually using stays connected when I rebuild the same four terrain tiles in a different order. Codex got the real gather-order run all the way through and the paths still crossed the tile boundaries in every direction I checked, but the wrapper failed anyway because Godot left objects behind when it shut down. That is not the same thing as broken navigation, but I do not want the test quietly calling it a pass either. I tightened the rules so it now checks nine routes, all 24 possible tile orders, and the actual server map before and after the rebuild, and I changed the cleanup code so the navigation result and the shutdown failure are reported separately. The navigation part now works for this test. The complete run still is not clean, because the object leak remains, so I am still chasing that instead of pretending the green part of the result proves the whole thing is done.

A development proof comparing disconnected navigation paths with a connected rebuilt path.

I'm keeping this journal because I eventually want to release Vandrel into early access, and I think people should be able to see how the thing is actually getting made instead of hearing a cleaned-up story after the fact. A lot of this project is me telling Codex what I want, watching it hand work to other AI agents, finding out that one of my rules was vague or contradicted another rule, and then changing the rules and trying again. Sometimes the AI gets something useful in a few minutes. Sometimes it takes fifty tries and I eventually realize that I have been asking for the wrong thing. I want to leave that part in here. If somebody is thinking about playing Vandrel, making a mod, or using AI on a project of their own, they should be able to see what worked, what did not, and where I am still trying to figure it out. I also want feedback to come back to an actual person. I am using a lot of AI, but I am still the one deciding what this is supposed to be, rejecting the bad results, changing the rules, and taking responsibility when I break something.

Today I was working on getting the Foundry to process several candidate assets at once. The bad version of this was that one broken asset could kill the entire batch, which meant I would wait for the AI to run a bunch of work and then get almost nothing useful back. I changed it so each asset can fail on its own, and I added timing and result information so I can tell the difference between one bad candidate and a problem with the whole pipeline. It works for the batch I tested, and that is a lot less irritating. It does not mean the assets are good, though. The Foundry is still much better at static objects than characters, and it can now produce a complete batch of ugly or wrong things more efficiently, which is useful but not exactly victory.

A stylized bronze axe processed by the Vandrel asset pipeline.

Today I finally got the second chest all the way through the Foundry and into Vandrel without losing track of where it came from or which version I actually looked at. That has been more annoying than it sounds, because the AI can make an asset, validate the files, and put it in the game while still blurring together three separate questions: is it technically valid, did I actually review this version, and do I want it in Vandrel? For this one object, those pieces now line up. I am happy with that. It still only proves the path for one static object. I have not shown that it scales, and the character pipeline is still a much larger mess.

An open wood-and-metal chest after it passed through the Foundry and into Vandrel.

Today I was working on what happens when one terrain tile changes. The easy thing was to rebuild the navigation for that tile and everything around it, but that kept replacing things that had not actually changed. I finally got it to rebuild only the tile I edited, keep the neighboring tile intact, and still let a route cross from one to the other. That looks right in the small test. It took a bunch of work to get the rules about identity and rebuilding to stop fighting each other. I still only have a two-tile test, though. I have not shown that it survives a large rebuild or the stranger terrain changes the game will eventually allow, so this is working, not solved.

What this is for

I want prospective players, modders, and people trying to build with AI to be able to follow the actual work and tell me when I have got something wrong. Vandrel is intended to become a general-purpose framework that other people can modify and add to, not a sealed box.