Vore Tournament - Bounding Box Update
This is the latest major update coming to Vore Tournament 2.0.1. It once more fixes a huge limitation, which both the ancient Vore Tournament as well as VT 2.0 have been subject to. The change marks the last milestone in terms of properly implementing all of the basic and essential functionalities.
First we need to talk about how the micro / macro system used to work: As you know, players shrink and grow based on the amount of health they have. Despite looking convincing, this effect has been purely visual up until this point: The visual scale of the player model was modified, along with other effects such as the giant footsteps or changing the weight... however the real size was never actually touched. Some could probably tell this from the fact that macros always had their feet poking into the ground, whereas micros slightly floated above the floor... this was due to players being centered from the middle of their bounding box at all times.
Real scale is determined by a bounding box (mins / max vectors) which affects the collisions of the player. Changing this box to non-standard sizes has always been very tricky for characters: The old Nexuiz based VT didn't even have CSQC players (they were engine based rather than QC based) and the box is hardcoded there, thus trying to change it broke movement prediction and more. The new VT mod for Xonotic did implement the ability to change bounding boxes a while ago, but whenever I tried using it in the mod it caused players to glitch making them float or perpetually fall through the floor. There was also the problem that if a player grew while standing close to a wall, they would remain stuck in that wall forever.
Last month I had a chat with one of the core Xonotic developers about this, who helps me a lot with questions regarding the integration of my code with Xon. He explained what and how I need to change in order to resize the player's real collisions. After fiddling with the code for a while based on his advice, I finally got the bounding box working flawlessly! The visual scale is now based on the same calculation as the bounding box scale, which is itself only updated once there's enough room for a player to grow in order to avoid crushing them. For instance: If you enter a tunnel at 100 health and get 150 health but can't grow inside because the tunnel is too small, you'll instead grow once you exit the tunnel and there's enough room to do so.
In a nutshell, this modification means that a player's collisions are now also resized correctly, not just the visual model. An example of why that matters: If you were a micro before this, someone shooting above your head would deal damage because your hitbox was the same, even if you appeared smaller and visually it seemed like the shot went right past you. Oppositely if you were a macro, someone could shoot your model right in the face and the shot would go through you like a ghost without dealing damage, since once more the hitbox was that of a normally sized player. This applies not just to projectiles but everything else: Your collisions with walls and other players, the range at which you pick up items, etc... all were off even if it wasn't noticeable, now it's no longer the case.
The most important change however is how this affects navigation: Macros can no longer fit inside passages too large for them... they'll have to crouch to fit through some normal sized doors, whereas some entrances will be entirely inaccessible to them until they shrink again (you may thus have to shoot yourself if you absolutely need to take a blocked path). Oppositely, micros can now enter tight spaces and cracks that normal players cannot, allowing them to hide or perhaps even take special shortcuts that only a tiny person can use!
I chose a screenshot that nicely illustrates this in action: It shows me as a micro now able to walk under a plank resting tightly against the wall. At normal size, no player is ever capable of fitting in there, not even by crouching! But when turned into a micro, you can simply walk under that plank and even have room to move back and forth a bit!
This change gets us a huge step closer to the 2.0.1 release, but there's still more work and testing to be done. The best way to help is by supporting my work on Patreon: Your support is the reason why I'm still able to code this game altogether. The greater your aid, the more I can get done in a timely manner. Please check out my page and consider pledging if you want to see more Vore Tournament stuff as well as other vorish games and animations and more:
https://www.patreon.com/MirceaKitsune
First we need to talk about how the micro / macro system used to work: As you know, players shrink and grow based on the amount of health they have. Despite looking convincing, this effect has been purely visual up until this point: The visual scale of the player model was modified, along with other effects such as the giant footsteps or changing the weight... however the real size was never actually touched. Some could probably tell this from the fact that macros always had their feet poking into the ground, whereas micros slightly floated above the floor... this was due to players being centered from the middle of their bounding box at all times.
Real scale is determined by a bounding box (mins / max vectors) which affects the collisions of the player. Changing this box to non-standard sizes has always been very tricky for characters: The old Nexuiz based VT didn't even have CSQC players (they were engine based rather than QC based) and the box is hardcoded there, thus trying to change it broke movement prediction and more. The new VT mod for Xonotic did implement the ability to change bounding boxes a while ago, but whenever I tried using it in the mod it caused players to glitch making them float or perpetually fall through the floor. There was also the problem that if a player grew while standing close to a wall, they would remain stuck in that wall forever.
Last month I had a chat with one of the core Xonotic developers about this, who helps me a lot with questions regarding the integration of my code with Xon. He explained what and how I need to change in order to resize the player's real collisions. After fiddling with the code for a while based on his advice, I finally got the bounding box working flawlessly! The visual scale is now based on the same calculation as the bounding box scale, which is itself only updated once there's enough room for a player to grow in order to avoid crushing them. For instance: If you enter a tunnel at 100 health and get 150 health but can't grow inside because the tunnel is too small, you'll instead grow once you exit the tunnel and there's enough room to do so.
In a nutshell, this modification means that a player's collisions are now also resized correctly, not just the visual model. An example of why that matters: If you were a micro before this, someone shooting above your head would deal damage because your hitbox was the same, even if you appeared smaller and visually it seemed like the shot went right past you. Oppositely if you were a macro, someone could shoot your model right in the face and the shot would go through you like a ghost without dealing damage, since once more the hitbox was that of a normally sized player. This applies not just to projectiles but everything else: Your collisions with walls and other players, the range at which you pick up items, etc... all were off even if it wasn't noticeable, now it's no longer the case.
The most important change however is how this affects navigation: Macros can no longer fit inside passages too large for them... they'll have to crouch to fit through some normal sized doors, whereas some entrances will be entirely inaccessible to them until they shrink again (you may thus have to shoot yourself if you absolutely need to take a blocked path). Oppositely, micros can now enter tight spaces and cracks that normal players cannot, allowing them to hide or perhaps even take special shortcuts that only a tiny person can use!
I chose a screenshot that nicely illustrates this in action: It shows me as a micro now able to walk under a plank resting tightly against the wall. At normal size, no player is ever capable of fitting in there, not even by crouching! But when turned into a micro, you can simply walk under that plank and even have room to move back and forth a bit!
This change gets us a huge step closer to the 2.0.1 release, but there's still more work and testing to be done. The best way to help is by supporting my work on Patreon: Your support is the reason why I'm still able to code this game altogether. The greater your aid, the more I can get done in a timely manner. Please check out my page and consider pledging if you want to see more Vore Tournament stuff as well as other vorish games and animations and more:
https://www.patreon.com/MirceaKitsune
Category All / All
Species Unspecified / Any
Size 1920 x 1080px
File Size 400.7 kB
I haven't done Xonotic mapping in quite a while, but might again someday. I actually attempted a so called special map nearly a decade ago (for Nexuiz, the Xonotic of the day). The videos of that are actually still up on my Youtube channel if you're interested, though I'm not sure how compatible the map still is with modern Xonotic / Vore Tournament:
https://www.youtube.com/watch?v=YdsGr75GA80
https://www.youtube.com/watch?v=cnKc5Aw3DBo
https://www.youtube.com/watch?v=YdsGr75GA80
https://www.youtube.com/watch?v=cnKc5Aw3DBo
That would be a bit more difficult... especially as I'm a Linux user and no longer have Windows, which is what most people need instructions for. Most of it is pretty simple however... the only tricky part is knowing how to make the shortcut and add the parameters at the end, but that's relatively simple as well.
The VT code in Git works against the Xonotic code in Git. If you wish to try the experimental version of Vore Tournament before 2.0.1 is out, you'll have to run it against that of Xonotic. The setup and steps are explained on the data_voretournament Gitlab page, but it is of course much more tricky to do as it requires development tools.
FA+

Comments