26 June 2020 (W4) - AI, Crafting, and UI
The last week and a half has been a busy, exciting week (and a half!) as I've begun to ramp up working again. Various situations (present company included) drained my motivation to work, and my mental health. Not to worry though, I'm back and ready to keep working!
Also, there's a shiny at the bottom if that's what you're after. ;)
The State of AI
There's my shitty pun for the day...
I ended the second half of last week by overhauling completely the way AI is handled in Astraeus. No longer an unexpandable, spiderwebby mess intertwined with random classes, it's now handled in a nice, modular 'state machine'.
While technically it's not like the kind of AI decision state machines that the term commonly denotes, it still follows a state machine pattern. AI behaviours are held in modular, compact "AIStates", which can be chained together to create dependent substates (like how you Walk to your enemy to Attack them). This is all held in a queue handled by the state machine that the character rarely has to check.
Don't mind the interface! |
The states make working on the AI behaviour significantly easier, and make the technical architecture much easier to interrupt and otherwise interact with. It also means that anything with a StateMachine can perform actions, so if I wanted a moving, punching, item-picking-up candelabra I could have it in a matter of seconds!
I haven't yet finalised the shift-queuing, as I want to migrate the game over to the newer Unity input package before I do. I'll get around to it!
Crafting & UI
There was a slight change of direction from finishing AI attacking. A while ago I had an idea that I really like regarding the crafting system. I've written about it before, and I'm still committed to it. Unfortunately it means I have to drop AI for the moment (As attacking is a dependent feature of crafting & how items are handled). I'll first have to overhaul the entire crafting system, and likely how items are handled internally, though with any luck it shouldn't take more than a week or two, considering the overhaul still works off some of the base assumptions of the old system.
Additionally, that means that the UI needs to be overhauled for the crafting. Over the last couple days I've designed a UI style that I feel fits the game, looks nice, and that I personally like a lot. I've begun implementing the UI style into a new crafting UI, though it's only partially finished.
Tadaa! I'm quite proud of this overlay |
There are two primary windows associated with the new system, one being an overlay of the other. The first is the item selection screen. Much like the current system, you select the target item you want before you begin designing. Once you've done so, the window changes to the design window, where you'll get to add nodal parts, and modules to your weapons and armour as well as tweak some of the minor values of these parts and modules. Then, you can send your item to the blueprint cache, to be built by your characters!
The second part of this dual window UI is the unfinished part (though it's close!) but as bit of a bonus, here's an annotated version of the above UI, which I use as a reference.
Other UI
In other news, I spent some time refactoring the command console, and made the UI for it much better. I also worked on a combat log, which aside from being rather useful for debugging, it's kind of pretty in a very utilitarian sort of way. I've not much to say about them, but I'll show some eye candy...
Yes, the 'blocked' text colour is the wrong way around, whoops! |
My favourite feature is that typing 'w, a, s, or d' doesn't move the camera in the console |
Next week I'll be finished up the final UI design, and hopefully implementing most of the new crafting system. I'll be completely honest, I'm incredibly excited about these UI designs as the second one looks absolutely incredible, even better than the first. I can look at it and pretend I've already shipped the game!
Comments
Post a Comment