Create an account


Thread Rating:
  • 3 Vote(s) - 3.67 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Vore Tournament (game forked from Nexuiz)

Since this thread has been pretty inactive, I decided I'd post this here as well for the sake of it. This is another surprise feature happening recently, and boy is it a big one Smile

[Image: OR8RWhD.jpg]

Two days ago, I was examining my progress on VT thus far, thinking to myself "what else could make the experience even better and more realistic". Two things popped to mind: Prey seeing the predator's hands grabbing them as they are engulfed, and preds seeing their own bulging stomach as they look down. Then I set myself a challenge: Could I do both in a single day... for all player models I designed for VT? Despite going to bed at 5AM, I have beaten this challenge yesterday. As of latest GIT master:
  • While being swallowed, the prey first sees their predator's hands to the sides of their view, grabbing them and drawing them in. The maw itself now appears after halfway swallow progress.

  • When swallowing other players, you will now see your stomach slowly bulging outward. This uses a different view model based on the front side of the body, which works just like the mouth and glides forward from behind the camera. Currently it represents either your predator progress or your stomach load, whichever is the greatest.
Users are recommended to update all repositories under the Vore Tournament group and recompile! As this includes new models and updated blend files, the changes are a little big so they may take some time and bandwidth. To avoid any GIT conflicts, users are suggested to update each GIT repository from a msys2 command prompt using the following commands:

Code:
git reset --hard
git pull

Obligatory screenshot dump. Yes, it's long... why doesn't the forum allow spoiler tags anyway?

[Image: X5Iem4o.jpg]
[Image: Bc1hZxf.jpg]
[Image: tQkfS2G.jpg]
[Image: IqTbtow.jpg]
[Image: TsL1znJ.jpg]
[Image: e631zu5.jpg]
[Image: IRiWwGD.jpg]
[Image: 22Rsl3k.jpg]
[Image: UW4jMyE.jpg]
[Image: mKqREKk.jpg]
[Image: iikMuHm.jpg]
[Image: x81jXDi.jpg]
<spackObot> Congratulations to Samual and Taoki, your lovescore is 98.463%!
Samual (~dioteckte@...) quit #xonotic.pickup (gonna kill myself now)
Reply

Well, found you again, if you remember me. This seems abit more in-depth than on your FA, owo
Reply

(03-14-2017, 07:13 AM)MrTobyVee Wrote: Well, found you again, if you remember me. This seems abit more in-depth than on your FA, owo

Greetings again! It is indeed easier to post progress on a forum thread. Currently that includes this thread (as VT is a Xonotic mod now) and there's also a thread on Eka's Portal (it's a vore game so doh). As far as modifications themselves go, you can monitor the Gitlab repository to see exactly what changes and how: https://gitlab.com/voretournament/data_v...its/master
<spackObot> Congratulations to Samual and Taoki, your lovescore is 98.463%!
Samual (~dioteckte@...) quit #xonotic.pickup (gonna kill myself now)
Reply

Impressive work, MicreaKitsune. Very good at immersing the player in the ideas Vore Tournament was founded on Smile
Reply

(03-14-2017, 08:26 AM)-z- Wrote: Impressive work, MicreaKitsune. Very good at immersing the player in the ideas Vore Tournament was founded on Smile

Thank you very much! It helps to know that people are enjoying what I've made so far. This is by far the most ambitions project I've worked on, even if I have (often similar) game mods planned or in the making under completely different engines and genres. Once the primary features are ready and I've fixed every major bug, I plan to focus on the artistic side and atmosphere much more... including new assets such as music, and other original aspects that help with immersion. Also this couldn't have been done without the mutator hook system, so my own thanks to whoever implemented that Big Grin
<spackObot> Congratulations to Samual and Taoki, your lovescore is 98.463%!
Samual (~dioteckte@...) quit #xonotic.pickup (gonna kill myself now)
Reply

Considering this has to do with QC maths, code logics, and other painful but fun stuff... I thought I'd post about it here as well. It involves the custom HUD panel responsible for listing players in a tree view, based on who's nomming who... something far more complex to do than one would at first imagine:

After 3 days of non-stop work on code algorithms, I was finally able to piece together a seemingly working mechanism for player list sorting. I had no idea this specific part of the code would prove to be such a problem, dwarfing my early concerns on the difficulty of reading player entity fields. Right now I feel like a mathematician or high level programmer for succeeding in finding a way to get it all working... obviously I am neither. As an update, I thought I'd explain a bit of what went on:

The first problem was that players are added to the table in a random order, as the base loop iterates through their entity numbers. This means that players can be detected in any order at all! So how would you make sure that each prey is listed under their predator, who in turn might be listed under another predator? Let's say you first notice that prey A belongs to predator B, so you list A below B and move on... then you detect that predator B is getting gobbled up by predator C, so you move B under C next... however prey A is already set in stone, so now it's left floating in an invalid position as B was pulled away from over it! One solution is running the sorting mechanism multiple times until it no longer detects any changes, which I actually went ahead and tried at first... however that's not only inefficient, but also prone to creating infinite loops that easily crashed the game once ran.

I ultimately managed to find a smart solution yesterday, by separating the process into two separate loops: One for columns and one for rows. The first only detects how far the predator chain of a player goes, and sets the column based on that knowledge. The second then goes through each column, and for each entry in that column (prey player) goes through the previous column and finds the matching entry (pred player) then positions the prey under the pred. This way preys are always positioned after their predators in order, and the random manner in which players are discovered no longer poses a concern.

After figuring this out, I thought all my problems had ended. But I was wrong... for there was another, far more problematic circumstance: Recursive vore loops. Suppose you have player A swallowing player B, player B swallowing player C, and player C swallowing player A: In a system where each prey is analyzed to detect its predator, A sees B, B sees C, C sees A, A sees B again, and we have an infinite loop! Not only that, but you logically cannot create a tree view in this case, as each player needs to be listed under the next forever!

The solution was ultimately to detect vore loops, then cause a break in the chain at one point. The code for this still isn't optimal and has several TODO notes attached to it, but for now it works. If it's only two players swallowing each other, the one with the most swallow progress will always be listed on top... if the chain goes further than two players however, it may be cut at a random position, and I fear that more than just one cut may currently occur in certain conditions.

All in all, Git master now has a decent listing system that does the job right most of the time. It will need to be optimized over time... both to account for every possible circumstance, and to be more loop efficient. For now I think I might take a few days break, as dealing with the maths involved left my brain a little bit fried. After that, the easy part should come last: Creating the icons and rings, and adding more details to the entries.

If by change anyone's curious to see the code in cause, and for bonus points tell me how the same result could be achieved with half the code using a different approach I wouldn't have thought about just to make me suffer, here are the highlights and my own solutions:
<spackObot> Congratulations to Samual and Taoki, your lovescore is 98.463%!
Samual (~dioteckte@...) quit #xonotic.pickup (gonna kill myself now)
Reply

The past week sees a slew of new additions and fixes to Vore Tournament. This comes in preparation for a potential first release in the following months. The most important changes, now available in Git master as well as the gamecode snapshots, include the following:
  • Hyper-realistic renderer containing new settings for bloom, iris adaptation, offset mapping, motion blur, shadows. The configuration can be found in: https://gitlab.com/voretournament/data_v...nderVT.cfg
  • The vore system has a better understanding of vehicles. Previously there were a few bugs which are now safeguarded against, such as players floating above their vehicle due to a vore function overriding player hiding. You can also optionally make it so that predators cough up their prey when entering or exiting a vehicle.
  • The dirty screen effect from the old VT is back. After being eaten or swallowed, your screen gets covered in droplets and yellow goop, which slowly fade away over time.
  • Prey reorientation also makes a comeback. When a predator grabs you for the first time, you will be spun around to face the opposite way from them. Unlike the old VT, the effect is only applied once and not continuously, which was bandwidth costly as well as annoying.
  • Fixed neighboring prey not showing. The internal model no longer uses NODEPTHTEST which caused it to be rendered on top of everything else, instead the world is hidden when a prey's view is obstructed.
  • Fixed 1st person weapon model scaling. Both static and animated weapons now grow or shrink as the player becomes bigger or smaller.
  • New default font: http://www.dafont.com/peace-sans.font
  • New default settings for countless builtin cvars, which now differ from those of Xonotic. This includes a whole new weapon balance designed specifically for Vore Tournament!
As always you can see the changes for yourself in the commit list: https://gitlab.com/voretournament/data_v...its/master Here are several screenshots showcasing the new renderer and vehicle support... they are unedited and show the renderer as is, except for censoring some nipples to avoid possible issues with more prudish sites:

http://imgur.com/a/5GtjY

[Image: JkCBpi5.jpg]
[Image: mXHSYP5.jpg]
[Image: EoZfnrX.jpg]
[Image: jRuFPJN.jpg]
[Image: KcbQzT2.jpg]
[Image: jkBewH1.jpg]
[Image: olBQgvp.jpg]
[Image: lgvHxlF.jpg]
[Image: BtQQvVA.jpg]
[Image: q1VxbLs.jpg]
[Image: UrHEW4P.jpg]
[Image: bgSEKn2.jpg]
[Image: P9ZMsB2.jpg]
[Image: wJvaDGd.jpg]
[Image: xbQKUic.jpg]
[Image: Y709vnW.jpg]
[Image: zg51r1G.jpg]
[Image: pCGlwmx.jpg]
[Image: LWsfboP.jpg]
[Image: L6fvHHe.jpg]
<spackObot> Congratulations to Samual and Taoki, your lovescore is 98.463%!
Samual (~dioteckte@...) quit #xonotic.pickup (gonna kill myself now)
Reply

This is it: Today is the day Vore Tournament 2.0.0 is finally released! After months of work on porting the base features, fixing the essential bugs, and setting up a default balance and configuration... we now have an official release, which is easy to download and run on top of any recent Xonotic installation.

Download Vore Tournament 2.0.0 for Xonotic 0.8.2

[Image: 4RPQiVF.jpg]

Instructions are now provided for both the development and release versions in the data_voretournament repository. VT 2.0.0 for Xonotic 0.8.2 can be installed by following the following steps:
  • Download and install the latest version of Xonotic from http://xonotic.org You might want to try a vanilla game first, to make sure the base game is working properly.
  • Download the archive of the latest Vore Tournament release from this repository using the download button provided.
  • Unpack this archive inside the base Xonotic directory, so that the "data_voretournament-*" directory is sitting next to the "data" directory.
  • Rename "data_voretournament-*" to "data_voretournament", deleting the extra names and numbers from the directory name.
  • Launch the Xonotic executable with the parameters "-customgamedirname2 data_voretournament" from the command prompt or a modified shortcut. Example: "xonotic.exe -customgamedirname2 data_voretournament".
If you want to enjoy yourself to a fun little video before giving it a try, here's the official release clip I put together last week, which briefly shows footage from both the old and new game:

https://www.youtube.com/watch?v=4JYxtPYltYM
https://vid.me/rxgAW

<spackObot> Congratulations to Samual and Taoki, your lovescore is 98.463%!
Samual (~dioteckte@...) quit #xonotic.pickup (gonna kill myself now)
Reply



Possibly Related Threads...
Thread Author Replies Views Last Post
  Well you guys held a tournament Antares* 15 2,984 09-29-2016, 05:55 PM
Last Post: kaadmy
  Anyone up for a poker game? Ch4mp 0 1,344 08-22-2016, 02:48 AM
Last Post: Ch4mp
  Anyone up for a Chess game? Ch4mp 1 1,489 07-13-2016, 05:33 AM
Last Post: aa
  Nexuiz (Steam) Back from the dead? Totally_Cool 15 5,276 04-24-2016, 04:05 AM
Last Post: tZork
  Gave the Unreal Tournament pre-alpha a spin, here's my breakdown Lee_Stricklin 2 3,500 03-27-2015, 12:23 AM
Last Post: Lee_Stricklin
  Q3 and Nexuiz for Xonotic. grigorii 13 9,512 01-10-2015, 07:52 AM
Last Post: grigorii
  How do i play Nexuiz servers with Xonotic? MarkJonez 6 10,335 10-06-2014, 04:10 PM
Last Post: Mario
  Nostalgic Nexuiz unfa 0 6,424 05-30-2014, 05:48 PM
Last Post: unfa
  New Unreal Tournament frostwyrm333 33 23,019 05-09-2014, 07:32 AM
Last Post: asyyy
  Your 2013 game of the year Lee_Stricklin 8 5,292 04-11-2014, 04:56 AM
Last Post: Smilecythe

Forum Jump:


Users browsing this thread:
1 Guest(s)

Forum software by © MyBB original theme © iAndrew 2016, remixed by -z-