Follow Us!
Donate
Search the site
-
Recent Posts
Recent Comments
- France on Downloads
- Krom on Knights Province Alpha 13.1 is out!
- Winter on Knights Province Alpha 13.1 is out!
- Kirsof on Knights Province Alpha 13 release with Multiplayer!
- The_Crow_ on Knights Province Alpha 13 release with Multiplayer!
Animations sidenote
Asked to send me a rigged and animated character for a test. Came in in FBX format. Surprisingly it imported well into Lightwave and exported into Knights Province animation format without a glitch. The only downside is that the rig had much too many bones for the game (86) and was rotated 90 degrees. The game’s engine can handle up to just 16. Had to trim the excess for a test. Of course later on, with dedicated animations I can raise the limit and order animations with less bones. All in all I’m very happy to see it is working out so well. Hope to tease you with some screens/videos later 🙂
Posted in Sidenotes
Leave a comment
Live Progress #43 – Misc
Taking a break from Caster, did a playtest and found and fixed a bunch of smaller issues:
- Stone/Iron/Gold decals will be shown on the minimap correctly now
- Stone roads will have more tints and become a bit darker
- Group direction selector now previews all members locations
- House tablets will be placed with a little random rotation
- Forts “train” button will properly update on stock change now
- Iron/Gold house plans will be shown correctly now
- Scripting will now use TKMHouseType/TKMUnitType/TKMWareType instead of IDs (described in previous post)
- several more minor issues
Posted in Live progress
2 Comments
Live Progress #42 – Caster and enums
Caster issues continue to occur, but also grows the list of fixed ones. When before Caster was tested 100% in a staged environment, now it is 50/50 between staged and actual game.

Some of the issues are:
- Agent needs to walk through in-between 2 locked agents
- Agent should not hesitate approaching another agent if his target is in front of him
- Group of agents walking through corridor should not clog it while trying all to register at a waypoint
- Agents approaching house entrances from the side often look unnatural
On a different note – while staging in-game tests for Caster, I got frustrated with how unit/house/ware types were hard to use. This got me thinking and testing, what if enums were available? And they seem to be. For a quick example:
procedure OnTick(aTick: Integer);
var
H: Integer;
begin
H := States.HouseAt(6, 7);if (States.HouseWareInside(H, wt_Grain)) >= 5 then
Actions.PlayerWin([0], True);
end;
Now this syntax should be much easier to use!
Posted in Live progress
Leave a comment
Live Progress #41 – Caster report
Good news – work continues!
Over the weekend I have successfully corrected the problem with two or more agents going for the same target and getting stuck, because no one had a clear priority over others. I have tried two different ideas and choose the best.
Also greatly improved pushing out of idle agents.
Changes and improvements were also made to other parts, such as pathfinding and selection of the next waypoint en route.
Many additions were also made to the debug rendering, for easier isolation of problems and debugging.
Now there are two relatively easy problems:
– In the narrow corridor agents often interfere with their neighbors, if they did not touch the waypoint while walking past it. Here the solution is already known – needs just implementing and debug.
– Idle agents are much too “scared” sometimes. If some other agents approaches them and stops one tile short, they run back around 1/5 of tile. I still need to re think how to solve that, because this behavior is a part of the interaction and collision avoidance algorithms.
All-in-all everything is going pretty well so far 🙂
Posted in Live progress
1 Comment
Caster at the end of the day
Today was one of the most productive days in a few weeks – Caster shows some good results for massive counts of agents:
Posted in Sidenotes
Leave a comment
Caster sidenote
Problem with agents pushed into unwalkable areas seems to be fixed – instead of trying to keep the on walkable, wrote a “push back to walkable” function.
Now to the next problem – pathfinding!
P.S. Navigation calls units – agents, sounds neat. Agent “Serf” bringing stone to agent “Builder” 😉
Posted in Sidenotes
Leave a comment
Caster status update
Let’s see a bit about Caster navigation state:
Whats right:
- Unit interaction (avoiding each other, pushing out, etc)
- Basic pathfinding
- Unpassable terrain outlines generation
- Avoiding unwalkable outlines
- Fixed a few bugs in Recast code rewritten for Caster
- A lot of debug render display
Whats left:
- Resolving cases where 2 units go for the same spot
- Resolving other common cases of units getting locked or stuck
- Returning units from unwalkable to walkable areas if they get pushed out
- Pathfinding adaptation for Caster
- and more ..
Once these issues are dealt with, Caster needs some testing in real-life scenarios in KP and then, hopefully, Alpha 4 will come out 🙂
Posted in Sidenotes
2 Comments
New Caster Navigation looks promising
Reimplementing the algorithm with critical thinking over every procedure seems to be working well. Agents already avoid and push each other out of the way. And the best part – I know why they do so now.
A little sneak peak into the internals:
On the picture rightmost agent was staying idle and 2 agents from the left are on their course to walk to the purple dot. Each agent samples a square area in front of him (1024 points, for better debug display). Red shows where agent should not go (due to being off-way or on a course to collide with another agent). Green is preferred. White dot is the best way agent chose to go.
Posted in How things work, Sidenotes
1 Comment
Heads up on progress
RecastNavigation port did not work out as well as I expected. Area costs do not always work, agents get stuck, paths are sub-optimal. Now working on writing my own Caster Navigation (see the anagram 😉 ) following Recast steps with a grain of salt.
Posted in News, Sidenotes
Leave a comment


