It’s been a few weeks since the last post and we’ve been busy!
Things that are working fairly well now are the map stitching (although with a few tiny itsy bitsy problems still to work out). Souls fixed the depth reading of both 3d text and particles so they are now fully visible in the world together with softshadowing from multiple lightsources (#yay)
I’ve been mostly busy with a mixed bunch of things, cleaning up some code here and there, making things tiny bit faster on the server side of things, also implemented things like V-sync, exit designations for tiles (which work pretty well after Souls rewrote the whole map generator ;)).
Besides that… a lot of game mechanics implementation. Weapons, Items (pickups), Projectiles and the hp/mana/xp bar with leveling system. Death notification to clients, chat window improvements, rcon (Remote Console), as in.. you can login as game master and do some more commands to annoy other players and map change triggers. So that we can actually have an exit per map.
Also did some work on extra tiles with weird shapes or just plain huge tiles to see how it would handle it and I’m still pretty happy with the performance, with over 100 entities alive the server side barely requires more than 1 millisecond to do it’s tick. The client is currently doing around 14ms for drawing, 1ms for updates. #DarnDrawCalls
Basically the next job is to implement Pathfinding A* with jump point search and after that creating visibility within tiles (Line of sight) and then implementing the AI with home-brew goal oriented assisted planning (goap for short). Why home-brew? Since there’s already so many examples out there of how it’s done. And I prototyped quite a few of ‘m to see how they worked.. they all have this problem with complexity, and some with horrible coding guidelines.. or lack of comments which is sorta contained within guidelines making everything very difficult to implement.
So yeah, own goap system that will take actions, sensors and apply a list to an entity which gets nicely updated every tick. Sensors update the world and entity information and GoapPlanner applies 1 plan per N ticks for an AiSlotted entity. I hope to get that to work soon.
Anyways, picture time 🙂
Seen in the picture below, 3d text of entities and a health bar that’s currently not corrected to scale with the entity.
Flying above the tiles.. showing the linking of tiles.
Showing off Souls’ awesome shadow system with rotating/-ed entities.