Today was a pretty exciting day! Work covered a lot of ground, including testing and bug-fixing of AI, random-number generators, and some new moves.
Much of the morning was spent hammering out major dents in the AI code, and it started working much better. There were some bugs that caused chaotic behavior yesterday, and I was a little disheartened. However, a good night's sleep helped me find some bugs, and today's battles were much more logical.
After a morning of squaring away AI and battle bugs, I managed to get a bit of testing done. The available moves are still pretty basic, but I'm able to tweak the AI based on behavior in battle. Here's a shot of a battle with a looter today:
I got the AI decision code hooked up to actual moves today! That was a pretty big step, as I could actually test out how combat feels, instead of guessing.
So far, I think it's moving in the right direction. I had a few moments where the AI surprised me, and made me smile. My very first encounter was with a dogman, and I charged it full-tilt, and it actually ran away. Even though I knew it was the element of randomness I added, it felt like it was a creature freaked out by my brash move.
I did a lot of restructuring today. I originally planned on getting the AI up and running in battle, but ran into a snag. The way NEO Scavengers turn-order is setup caused some weirdness. Plus, conditions (like "recently moved") had a minimum duration of 1 hour, which meant it would last several battle turns (which are currently a small fraction of an hour).
I made a pretty big change to the underlying architecture for combat today. As mentioned yesterday, I decided to move battles into their own class, so that the player's UI only displays battle info, and the battle manages itself. Now, each hex can have a battle, but only the one the player has joined is displayed in the UI.
We just got back from our trip last night, and I had a productive first day back at work. I was able to make a number of changes to the new combat system, though I don't have much to show for it. It still looks pretty much like last week's screenshot.
However, I was able to get most of the basic maneuvers working for the player, including advancing/falling back, running forward/back, attacking, improving cover, and retreating from battle. I started looking into letting the AI take a turn, but that's going to require quite a few changes under the hood.
I managed to get a very basic combat loop up and running today. After a morning and afternoon of making the new combat code play nice with encounters, I was able to enter combat with a Dogman, and get closer/further from him based on my choices!
Most of today was spent working on code to accommodate the upcoming combat changes. Since combat will be handled in encounter screens, and within the same hex, that means quite a few systems need to be updated.
One such change was making the game allow multiple creatures in the same hex. Hexes had to be updated to store lists of creatures, and most of the AI and targeting code needed to be reworked to treat occupied hexes as viable options. I also decided to try and stagger subsequent creatures on a hex, so it's obvious if more than one is standing there.
Sorry for the delay, folks. My internet connection was on the fritz most of the day yesterday. I was able to get some combat design doc changes made in the morning, before having access cut off (one of the perils of cloud documentation).
However, the outage did give me some "closed door" time to work on actual implementation. Even though some of the design needs working out, there are things I could start coding. I was able to start setting up a new UI for the combat, as well as creating a some structural code for managing the battle.
I spent most of the day brainstorming combat and wounding systems. It's nice being back in the game-designer mode. I think writing and encounter design are pretty grueling tasks. Possibly the hardest to stay focused on out of the work I did so far. Game mechanics, on the other hand, are hard to stop working on. I feel an endless amount of inspiration to tinker.
I've been doing a lot of thinking today about combat. I feel like our encounter designs keep getting hedged by fear of colliding with the mysterious "future combat system," and I think I've decided that needs to stop.
Got a lot of work done on encounter design today. Brainstormed 22 new encounters, some for use in the DMC and the rest as random encounters for the wilderness. Most of them are less complex than current encounters in the game, and are meant to be minor experiences and/or world flavor.
A couple are more substantial, and address some of the player identity and overall plot. They'll all need work before they're serviceable, but it feels good to have stuff down on paper to work from. Lots of hooks to hang stories from.
If you thought "mysterious plot updates" were boring, you may want to cover your eyes.
Today, I spent most of my morning making profit and loss (P&L) sheets for Blue Bottle Games. P&L sheets detail revenue and costs of operation for the company, month-by-month, to give an overall picture of the business. So far, they're more "L" than "P," but that's to be expected at this stage.
Been slow going today. After finishing testing of the encounter implementation, I started looking at what to work on next. There's still a lot to choose from, including mid-plot encounters, random encounters, implementing the finale, and coming up with appropriate encounters for within the DMC walls.