Work done
This month I could only do 10 hours of work compared to my goal of 20 hours a month. Though those 10 hours were still very effective as I finished 58 tasks, both coding and design. As usual these are of varying size but it's better than I expected. Part of this work was also upgrading Godot to latest version of 4.5
The main work when it comes to features this month has been working on verbs and making the player able to perform actions in the room.

Verbs
So now when creating a statement we match a verb in the statement with an action that the player will try to take. As we create a statement we have the interpreter extract out what is the direct object this concern, where is this item if there are prepositions and if there is a target, we'll get to what a target is later. So for a statement like inspect the apple on table we can extract the objects as:
- Direct Object: Apple
- From Object: Table
And these are passed to the
Inspectverb to process which is simple to implement as we just need to output the description of the Direct object. Nothing particularly complicated here.
Target Object is a bit harder because it is a preposition but it's not a preposition of where something is but where to apply the direct object with the verb. An example of that would be for instance unlock door by the south wall with key on table. This was tricky to get as now we have not only a where preposition for the direct object but we also have it for the target object we will be using the direct object with. I'll tell you it wasn't the easiest to get working but I felt it was necessary to allow the input for the player to be as natural as possible.
There's also another case where I had to do some extra work to keep the language natural feeling. There's a component to some entities that they have a hidden compartment, this would mean that another entity could be hidden in that entity. For instance there could be a key hidden behind a painting and you'd find it by writing inspect behind painting. Here we have only a from object and no direct object.
Party Inventory
To make the take verb work, I needed to have some kind of inventory for us to put those objects in. So I created a mockup structure for a party inventory. I feel it will be easier to manage to have a party-wide inventory rather than having to micromanage where stuff ends up.
Debug Tools
I've also started working a little bit on some simple debug tools. Just starting with being able to switch what kind of state the game is in. For instance being able to quickly switch between interacting with a Room or Combat.

January & Combat Prototype
My current contract with Paradox Interactive ends by Christmas before my new one resumes in February. I plan to use most of that time to establish a prototype for how combat will work in the game. I've already started a bit to set myself up with implementing the Idlers to let me switch between vastly different interfaces easily. But also by defining what I want to accomplish in that month. So I've written up the Design for what I hope to be able to do before end of January.
Following is the design as I have written it so far.
Prelude
Inspired by Darkest Dungeons Combat. However I think we can make the combat more interesting by doing some things
- Make choices a bit simpler, DD has a lot of modifiers/values to keep track off.
- Applying Minimax algorithm for the AI to pick the most optimal outcome.
- Add Elemental Effects from Divinity Original Sin 2 to let players make cool combos.
- Customizing spells through runes in style of Tyranny spell system
The design put here is to put together a prototype to be quickly implemented and check if everything holds up together and is fun to play with.
Board
On each side there is 2 rows of slots with each having 4 columns. If there are no slot occupied on the second row then the other side can flank positions. If there is someone on that row, by default they block actions behind them unless their action says something else. Like a ranged weapon shooting. However other actions such as something like a "Shield Wall" or similar can reduce the damage they can inflict behind that slot. This is to make positioning of the characters important.
Environmental Effects
I want the players to be able to predict and combo cool effects. Such as if they've done a spell which made a group of slots wet, if they then use lightning on one of those slots the effect will spread to the neighboring wet slots. Another example would be oil and fire.
Characters
A character is the agents that play on the boards. Your chess pieces so to speak. A character will be made up of five attributes that affect their abilities on the board:
- Strength - Melee
- Dexterity - Ranged
- Constitution - Defense/Health
- Magick - Spells
Actions
Each character can take two actions each turn as a base. An action can be as simple as repositioning on the board or doing a simple attack with your weapon. It is also any Abilities that the characters have.
Obstacles
As an extra feature if there's time it would be nice to also be able to have stuff like furniture take up slots on the board. These would function as obstacles also being able to be interacted with using environmental effects.
Ability Crafting
The player will have some runes available to them before entering combat. These can be combined together to craft custom abilities. It's not intended that the player gets to combine these together before a battle starts but more as an overall strategy of a campaign. This system is also used by non-magical characters, like a fighter or a ranger.
An ability is made up of three runes. A Element, An Expression & Infusion.
As an example a magical spell would be:
Element: Fire
Expression: Range
Infusion: Explosive
This would make a fire ball spell that target several targets and not only one target.
Runes
The runes can have requirements such as "Only usable by magic users" and similar things. "Needs to have a ranged weapon" is also a good example.