Public test 0.0.1.2452


This public test brings some protocol changes into the picture and I was tired of launching a local server to test everything, so here’s an early push to the public-test release channel for last week of 2024!

Important note

  • The Linux build is semi-broken. Be sure to set LD_LIBRARY_PATH to “.” before launching the game!!!

Bug fixes

  • Fixed a bug when changing world seed for debug session didn’t update heightmaps of the world generator (thanks PuZ-ZaN);
  • Fixed inconsistent epoch time values produced on Windows systems (changed high_resolution_clock to system_clock which seems to be implemented using FILETIME on WinNT);

Protocol

  • Bumped protocol version value to 10;
  • Updated LoginRequest packet with a new field that specifies login mode;
  • Added configuration values for the server to reject sessions with a specific login mode;
  • Implemented itch.io API to figure out client username and user ID; the game will launch in this new login mode out of the box if you launch it using itch.io App;

Packaging

  • Since the game now issues API calls to itch.io, package now bundles in cURL as a dynamic library. The entire thing is HUGE which practically doubled package size to 7 MiB. I am very sorry about the inconvenience but there’s not really a way to optimize this!
  • I’m now using butler to push releases;

HUD elements and hotbar

  • I added a basic hot-bar with hastily drawn textures and integrated it with a current experimental feature of selecting what voxel to place and remove. Current implementation doesn’t render anything apart from the voxel’s name but still it’s a good thing that you can at least understand what you’re placing without chat history taking the entire window

Internal API changes

  • I implemented a new resource management system that uses already present reference-counting objects (std::shared_ptr) and occasionally cleans stuff up; currently only images, textures and binary files (for TTF fonts which are now memory-resident) are using this system, but I plan on making almost everything use it later in the development;
  • I completely nuked JSON voxel definitions in favor of using classic builder pattern; this in turn can be later implemented as a Lua API in future (but no promises that I’ll even bother with Lua);
  • A new “login” gamesystem has been added to vclient, which now hosts client login mode, username and identity (user ID); all references to client_game values have been changed to use the new gamesystem;

Files

voxelius-publictest-win32.zip 3.4 MB
Version 1 25 days ago
voxelius-publictest-win64.zip 3.6 MB
Version 1 25 days ago
voxelius-publictest-linux64.zip 3.1 MB
Version 1 25 days ago

Leave a comment

Log in with itch.io to leave a comment.