Hey Folks! Productive day today. Website fixes and game dev :)
The website fix is something some of you may have run into. Apparently, the user contact forms would never work due to a missing Subject field. So probably, nobody's been able to contact each other since the new site went live. I've got this fixed now, and thanks to James Murchie for the heads-up!
Back on the game dev front, I've been further fleshing-out the new doors feature to work with other systems.
Hey Folks! Unfortunately, slow day today. Doctor's appointment in the middle of the afternoon. And some paperwork catch-up in the morning.
However, I did manage to make a little progress on the room atmosphere simulator. In fact, I think I got it working just right when only two rooms were interacting. However, if a room had more than one open door in it (like a corridor or galley), things got weird. Like, pressure would ping-pong around the rooms, spike, and suddenly drop to negative or positive infinity.
Hey Folks! Hope everyone had a good weekend. We visited some friends for the first time since leaving Edmonton, and had a great time eating and playing board games. I think we are all set to do that again sometime soon. We had all but written-off board games since the little one was born. But it appears to be possible to wrangle and play at the same time!
Still trying to move quickly through features, with an eye toward getting stuff up and running, even if crude.
Today, I finally wrote room-detection code. It's not very sophisticated, and basically treats walls like doors. Small openings/bulkheads are ignored, so rooms will pass through them. Unclosed rooms that adjoin empty space are also "rooms." However, each separate room has an object to track data, and it can set properties on the tiles it covers. I've even ported my tile-based gas exchange over to room-based gas exchange.
Continuing yesterday's thrust toward faster prototyping, I worked on some more gas expansion code today.
First, however, I had to fix something I broke in my haste. I accidentally made all UI overlays use a material for tinting, and it caused selection brackets and AI thought bubbles to be washed out. Splitting the GUI items into tile and not-tile allowed me to restore the different materials for different usages.
Okay, I've pulled the trigger on "Gamejam Mode." I wrote a script to yank out all my lights from the big ship layout, cranked the ambient lighting back up, and I'll just ignore that for now. And in it's place, I'll start banging out as many new features as I can. No polish. Just quick and dirty.
Not much to report in gamedev-land today, as pretty much the entirety of the day was spent filling out forms, mailing things, calling offices, and sorting out other business tasks. The good news is that the bulk of it involved the final steps to incorporating Blue Bottle Games, LLC. It's pretty much a done deal now, and I'm just waiting for the various parties to sync-up. (I.e. lawyers, government)
Hey Folks! Hope everyone had a good weekend. Not a lot to report from mine. Mostly a quiet one, which can often be just fine!
I continued pushing the limits of the ship editor today, finishing up the largest layout yet. It's the same 80x50 tile ship from last week, now with floor grates and lighting. As of the end of the day, the ship has (roughly):
Hey Folks! As mentioned yesterday, my brain was seriously losing traction on the AI task. By midday, it was getting to the point where all my energy was being spent keeping focused, rather than doing productive work. This usually means it's time for a change of task.
I'm starting to burn out on this AI stuff. I spent another morning looking over potential interactions, cribbing example dramatic interactions from summaries of Hamlet, Dr. No, and Casablanca. I was planning on comparing this to my existing list of "payloads" as well as existing interactions, in the hopes of grouping as many as possible into a short list for easier payload creation.
The first part was spent reviewing conditions from NEO Scavenger for those that would apply to the new space game. Things like nausea, diarrhea, some diseases, headaches, and the various physiological stages such as hunger, hypothermia, etc. These were extremely handy in NS because I could have standardized symptoms and other effects used across multiple situations. Diseases and fumes could both apply the "headache" condition without worrying about double-penalizing or maintaining two sets of headache data.
I took a break from AI code today to reexamine the data. And as a result of some analysis, some chatting in the comments, and some testing, made some interesting discoveries.
First of all, I need to standardize my AI stats better. I'm having trouble conceptualizing them when coming up with values for how they're affected in an interaction. And a lot of this stems from having stat names which are not only abstract, but struggle to keep a standard of "more of this thing" vs. "lack of this thing." So I'm working on that.
In the middle of the night, an idea occurred to me: maybe the reason my AIs aren't doing predictable things is because the interactions produce such small effects. And in particular, the results they're trying to get are not much greater than the side-effects. Basically, the signal-to-noise ratio is too small.
Hey Folks! Hope everyone had a good weekend. It was a scorcher here (relatively speaking), and it would appear sweating is in the forecast for the near term. The upstairs semi-attic-office is, shall we say, not the coolest room in the house :)
I managed to make some progress on the AI/container issue I found last week. In the end, I decided to go the bookkeeping route, despite my reservations. It wasn't as hard as I anticipated, and it's the best way to be sure Bruce doesn't agree to do something for Abner if Bruce doesn't have the goods to do it.
Hey Folks! I got the food interactions hooked up today, and that revealed a new obstacle: containers.
My first order of business was to get AI to be able to find food again, now that I have this new "learning" system in place. I had to separate the old "SeekFood" into two distinct interactions: one for seeking a food item directly, and one for checking a container for food. And this revealed a problem with my system and containers.
Basically, AI had no way of associating success/failure of their food-seeking with the container it came from.