DEVGLOG - 2023-08-12


Last week I had less time than expected to progress so I had to skip the livestream (this week too, sorry!) but managed to do a bit this week.

To be short…and get into the technique immediately, I managed to fix most of the issues I mentionned in last devlog by “simply” falling back to adding a way to automatically translate any message type (Action or Event) in JSON using nlhomann::json on the C++ side filled up using the Boost.Describe data required to be set on any Action or Event type. That way I could convert the json representation of a message into a godot::Variant which is what Godot’s internal language likes to work with. godot-cpp provides the internal Godot/GDScript api for JSON manipulations and they have a parsing function to create a godot object from that. The good news is that this means automatic translation to GDSCript of any new message type I would add or modify. The bad news is that as mentionned in the last devlog, it shows how much runtime work, with a non-ideal result, transfering value-data from C++ to GDScript is, and clearly it feels like doing a max of the view-driving work in C++ only would be faster. However we are still prototyping so I need to continue challenging that and decide later for the real game.

Next step will be to use these messages to setup basic animations of the characters (currently cylinders) when they move instead of recreating the scene at each turn. Hopefully I will have more time next week to do that.

By the way, I am tempted to do a special livestream where I would play Caves Of Qud, one of the major inspirations for this game (on the “traditional roguelike” aspect). I think it would be fun and they also announced that there will be a v1.0 release soon. I might not wait for that to happen though. I am super bad at Caves Of Qud but it’s an amazing and inspiring game and I will take some notes while playing it again like a noob. Hopefully you will join :) Not sure when but I’ll make sure to decide before next stream.

Leave a comment

Log in with itch.io to leave a comment.