Full notes
Full The Last General update
Read the full published notes in a cleaner layout. The original post stays linked below.
What changed
- Gameplay
- Maps
- Performance
The Last General changes
November was a busy month! I worked on a ton of different things, getting stuff ready for the alpha to start with family and friends in just 90 days (fingers crossed!):
PLAYER COUNTS AND ALLIANCES
Some parts of the game were limiting the maximum number of potential players to 4, which was my original intention with the game (to keep armies large enough to feel like a general), but there was no technical reason to actually limit this, so I removed those limitations, allowing me to support more than 4 players in the future too. I also implemented alliances support, so that players can share their spotted units information, and units obviously don't attack each other if they are allied.
LINE OF SIGHT
I implemented a new line of sight system that is much faster and more precise than before, taking into account partial obstructions, unit distances, sizes and speed and camo levels. This is a debugging view of spotted and blocked unit visibilities using the new system, which allows pretty long spotting distances under the right conditions. This system will allows spotted units to remain in memory for a while after they are not visible anymore, instead of instantly being ignored.
MULTIPLE WEAPONS PER UNIT
Up to this moment each unit had just one weapon, now I finally got the time to implement multiple weapons per vehicle, switching between them, and displaying their available/selected weapons and ammo when controlling units in first/third person.
UNIT INDICATORS IMPROVEMENTS
I am now calculating the location of each group in the hierarchy in a better way, and separating the indicators based on their distance from that positions, so to give an example: a platoon position will be determined by where its most important (and numerous) units are, and the game will display unit indicators for any other squad that is further away from the overall platoon position.
COVER POSITIONS AND NAVMESH PATHFINDING
I implemented a more efficient and precise system to find cover positions when under fire, and to find paths between any map points. The previous systems had a lot of edge cases that didn't provide optimal results, so I replaced them with a better one utilizing physics colliders geometry directly for efficient voxelization of the world (which is then used to calculate the cover positions really fast, or to generate a navmesh for pathfinding). This is what the obstacle voxelization results look like in the step before generating the navmesh (in debug mode, this is not visible in the game of course):
KEY BINDINGS / REMAPPING, JOYSTICK, HOTAS AND CONTROLLERS SUPPORT
Getting stuff ready for the alpha, I did some work on the main menu, single player menu, credits screen and settings screen, including key remapping, which effectively also added support for joysticks, HOTAS and controllers support. Then I spent some hours flying helicopters and fighter jets using my HOTAS, it's just too much fun.
FILE SIZE I dropped the file size of the game from 12GB to just 4GB, after discovering that building the game to the same folder over and over generated a bunch of garbage that didn't get replaced as I expected. Obviously this wouldn't have happened in the actual uploaded builds because those would be clean builds, but it's nice to know that the game is 1/3rd of the size I thought!
TLG GETTING BIG! This week TLG surpassed 95000 wishlists and got into the top 500 most wishlisted games on Steam (#463 now). Thank you for this! I didn't even imagine something like this could happen when I started working on the game almost 3 years ago.
JOIN DISCORD AND SOCIAL MEDIA!
With the alpha just around the corner, remember to join the other 3500 generals in the Official Discord to be able to try the game for free! Also please join the social media channels to help TLG grow and get to more players: Youtube, TikTok, Instagram, Facebook, X / Twitter
Source
Changelog.gg summarizes and formats this update. How we read updates.
