Create an account

Welcome, Guest
You have to register before you can post on our site.



Search Forums

(Advanced Search)

Forum Statistics
» Members: 5,814
» Latest member: Adamiexe
» Forum threads: 6,454
» Forum posts: 24,309

Full Statistics

Online Users
There are currently 106 online users.
» 0 Member(s) | 105 Guest(s)

  Massive CTF updates
Posted by: Samual - 09-10-2012, 06:55 PM - Forum: Xonotic - News - Replies (52)

Hey guys, i'm just doing this quick post to talk about updates to the Capture The Flag game mode which have just been merged into the stable branch of the game. As some of you may know, i've been working on re-writing the code myself, which includes cleaning up the codebase as well as adding many new features and fixing old problems with the game mode. Let me just go over the changelog of sorts right now:

  • Moved all of the CTF code to the mutator system (cleaning up code base a lot, including: entirely re-wrote ctf code, moved scores and bot roles into mutator gamemode files, separated configuration into its own file (gamemodes.cfg), improved how spawnfuncs for CTF are handled, etc)
  • Flags float on water (to help with gameplay on aquatic maps)
  • Flags auto-return if they fall somewhere they can't be gotten (like into Lava, or Slime, or a triggerhurt)
  • Flags properly follow through teleporters and on jump pads like you would expect
  • Dropped flags show up to both teams, so if you die get it back quickly -- otherwise the enemy knows where you lost the flag.
  • Dropped flags return themselves if they fell on their own base spawnpoint
  • You can now throw flags-- dropping a flag now "throws" it just like throwing a weapon
  • If you have strength, you throw flags twice as hard Big Grin (just for fun ^_^)
  • Thrown flags can be captured by base flags (points awarded to the person who last had the flag)
  • Implemented a flag passing system (so you can pass a flag to team mates without dropping/throwing it, promotes gameplay).. NOTE: Currently disabled by default due to broken support for warpzones. Once warpzone support is fixed, this will be enabled by default.
  • Flag passing and flag throwing are done with the +use bind, MAKE SURE TO ADD THIS BIND TO YOUR CONFIG, IT IS NOW IMPORTANT Big Grin
  • You can request people to pass you the flag (it sends them a centerprint) by pressing the +use bind as well
  • Better bot team support-- If you request the flag from a bot, it will automatically pass it to you.
  • All new particle effects for captures/pickups/returns/passes/drops/etc
  • New sounds for touching a flag and passing flags
  • "Stalemate" system which shows the location of both flag carriers on the radar if they have both had the flag for an extended period of time (fights against camping with the flag)
  • "Help me" waypoint system which automatically adds "FLAG CARRIER NEEDING HELP" to their waypoint when they're low on health
  • Integrated real vehicle support, including new mutator hooks and the ability for players to interact with the flag without even leaving the vehicle (i.e., touch the flag with the vehicle and you still pick it up)
  • Much better handling of intermission (stop flags from moving, reset game mode entities, don't do announcements anymore)
  • Added ability for dropped flags to take damage-- meaning you can return them faster by shooting them/hurting them
  • Added "healthbars" for dropped flags to show how long they have left before they return
  • Improved centerprints and notifications of events in the game mode
  • Added "captime" score field so that you can track your fastest capture times for each map (yes, that means XonStat can display cap times for matches too)
  • Updated support for capture shield (idea by Morphed to help prevent bad players from taking the flag haha)
  • Implemented better speedrun system
  • New scoring system (and configs), added "capture assist" points- score awarded to whoever had the flag previously to the current flag carrier who captures.

Attention server owners: If you're using a git checkout for your server, update now to get the new features! If you're using autobuild, update in 24 hours from this post. If you're using 0.6 or 0.5... you're shit out of luck. Additionally, clients WILL NOT have the new effects/sounds unless they update too- you can provide a compat pack (instructions included) for them to download automatically or clients can download it from that link themselves. Finally, almost all of these features listed above may be controlled (tweaked, enabled, disabled) by the server owner at their will... some of them (like damaging flags) are disabled by default for now.

Thanks, hope you enjoy the changes, and happy fragging people!

Print this item

  A Big Thanks to Gronkh
Posted by: Antibody - 09-07-2012, 07:29 PM - Forum: Xonotic - News - Replies (9)

On behalf of Team Xonotic and the entire Xonotic community I'd like to give a big thank you to Gronkh! Today he helped show thousands of live-stream viewers just how fun (and silly) Xonotic can be. We appreciate it, and we look forward to seeing you out on the servers soon, Gronkh! In the mean time the rest of the development team and I will continue to work hard on improving this game we love. Thanks again, and happy fragging!

P.S. - Our servers still love you even though you gave them a slight bump Big Grin

[Image: traffic_spike.jpg]

Print this item

  Halogene's Newbie Corner - Part 1: Bunny Hopping
Posted by: Antibody - 08-22-2012, 07:08 PM - Forum: Xonotic - News - Replies (15)

Note: this is a guest post by Halogene

Hello everyone that's new to Xonotic and maybe even new to fast-paced first person shooters in general! In this very first chapter of my newbie tips I'll be showing you an important movement technique called “bunny hopping.“

You may have noticed that players race around the maps at insane speeds, making them hard to hit and also hard to tell from which direction they'll come next, should you survive an attack. You can do that too, and this post will tell you how.

In Xonotic you have a lot of movement control while you are in the air, and to a great extent you'll accelerate when pressing the forward button while flying. When you just walk around, though, your feet are in constant contact with the ground, so the friction is slowing you down a lot. One of the keys to gain high speeds in Xonotic is therefore to touch the ground as little as possible. By constantly jumping you can keep ground contact to a minimum. The good thing is that you only need to keep the jump button pressed and you will jump again once you hit the ground (unless of course you disabled that in Settings → User). If you press the forward button while holding the jump button, you'll continuously get faster until you hit the acceleration limit.

This is quite easy and there's nothing really to master about plain forward bunny hopping. You'll face complications if you now try to turn once you gained some speed, however. If you continue to press the forward key and simply turn the mouse, you'll hardly manage to make a sharp turn (unless you stop jumping, which slows you down a lot). Online you'll meet a lot of players doing sharp turns at high speeds, and here's the secret how to do it:

Before the turn, while still bunny hopping, release the forward key (yes, really release it - it doesn't slow you down that much). Once you've released the forward key and while still keeping the jump key pressed, hold down the strafe key in the direction you want to turn (for sharp right turn: strafe right). Now hold the jump key and the strafe key and smoothly turn your mouse in the strafe direction (in my example, right). It's vital to move the mouse smoothly, because any abrupt sudden movements will slow you down. I can't stress this aspect enough - a lot of newcomers that I told this technique basically got all the key pressing part right but fail at moving the mouse smoothly. Slowly accelerate and decelerate the mouse turn and maintain a steady turn speed in between. The movement needs to be fluent and soft to get the full benefit. Also note that releasing the forward key while you've already pressed the strafe key will slow you down too, so be sure to use the right order. You'll notice that if you do it right, you actually don't lose speed in turns, but rather start to accelerate!

Once you're done turning, you can release the strafe key and press forward key again or even directly switch to the other direction. A good way to practice this is to use forward only for inital acceleration, and then to do turns left and right running in an number eight-shaped figure (I recommend the main room in the map “afterslime” for that).

It takes a while to get used to, but if you practice it it goes into your cerebellum sooner or later (depending on your age, mostly) and then you'll never think about it again! At that point you'll be bunny hopping all over the place at high speed. Mastering this technique is very rewarding, since running around a map at high speed is a bunch of fun.

That's it for now, practice and enjoy!

Print this item

  Much Ado About Elo: Part Deux
Posted by: Antibody - 08-03-2012, 09:36 PM - Forum: Xonotic - News - Replies (12)

It has been about two weeks since I talked initially about our Elo ranking system. How time flies! As that time has passed, I've collected lots of valuable feedback both from players as well as my fellow developers, and I'm very excited to tell you about some further tweaks I've made to the algorithm. There are two relatively big changes: one dealing with non-duel game modes, and another dealing with how S is calculated in the original formula. I'll talk about the ranking changes to the various game modes first.

Duels Versus...Everything Else

Let me start by saying duel is largely unaffected. Phew! It is naturally the most competitive game mode, thus it deserves a more pure, winner-take-all algorithm. It's a good match for the implementation I discussed in my last post.

Team games are a different animal, however. With team games we see win-switchers (switching right before the end to be on the winning team), stackers (loading up the talent on one team only), and quitters. While we really can't do anything about the latter, we can do something about the former two. The change I made to counteract those is to rank-compare every player in the game to everyone else regardless of team. The points gained or lost against each opponent are then summed to formulate the final net gain/loss. This means that you have to hold your own against everyone else to gain points instead of relying on just being on the winning team. Imagine that! This also means that you can still lose points when you win if you don't score equal to or higher than expected.

The Scorefactor

Wait, did you say score? Yes, I said score. In order to make individual comparisons work, I had to use the individual's score as a means of comparison in lieu of just win or loss (1 or 0 for the S value). Each player's score is first converted into score per second, which takes his or her alivetime in the game into account. The scores for two players A and B are then compared with the following formula to obtain the scorefactor, S:

[Image: scorefactor.png]

This formula yields a value between 0 and 1, which tells us the “winner” in the comparison. A value less than 0.5 means player A won, a value greater than 0.5 mean player B won, and a value of exactly 0.5 represents a draw. Note that the sum total of A and B's scorefactor here is 1, so B's scorefactor is simply 1-Sa.

The resulting S value is plugged into the original formula I covered in my initial post, which is then used to calculate the final points gained or lost. For the sake of completeness, I'll relist it here:

[Image: elodelta.png]

The big change here is that S can now take on a range of values between 0 and 1. It's that range that allows players to get an accurate points value for their contribution to the game, no matter the team they're on. It's a big improvement over the black and white algorithm that we had before.

In Conclusion

So what we have now for non-duel games is something that scales the points gained or lost according to how well you score versus everyone else in the game. For duel games, the initial algorithm remains in place. The end result is a ranking system that I think everyone can find fair, albeit imperfect. That being said, I suggest that you take all of the ranks and scores with a grain of salt: there is no number that is a true indicator of what you bring to the table as a player. Get in the game and focus on what is truly important: having fun! Happy fragging, and I'll see you out there!

Print this item

  Heads up for OSX Mountain Lion users
Posted by: merlijn - 07-29-2012, 12:32 PM - Forum: Xonotic - News - Replies (13)

A couple of days ago Apple has presented their latest version of Mac OS X: Mountain Lion (10.8). This latest release adds quite a few security measures, which can affect the use of Xonotic. In this post I'd like to address these issue and how they can easily be solved.

For users downloading a fresh copy of Xonotic from our website, they will get an error when trying to start the game for the first time. The error looks like this:

<a href="" rel="attachment wp-att-2866"><img class="aligncenter size-full wp-image-2866" title="Mountain Lion Gatekeeper" src="" alt="" width="418" height="202" /></a>

This is the new Gatekeeper verifying downloads when starting them for the <strong>first time</strong>. The simple solution is to right-click the Xonotic application, and select 'Open' - you will now be presented with a window where you can choose to specifically trust the Xonotic application (yes, you can trust us ;-). After doing this once, you can simply start the application the next time by clicking it directly.

The alternative is to disable Gatekeeper altogether, which can be done under the Privacy &amp; Security tab in the System Settings. We however do not encourage you to do this, as the workaround to whitelist specific applications is pretty easy.

For users running from git, we are still working out the kinks in order to be able to properly download and compile in Mountain Lion. Please get in touch with us on IRC if you have specific issue and we can look into it.

Print this item

  Much Ado About Elo
Posted by: Antibody - 07-22-2012, 05:15 PM - Forum: Xonotic - News - Replies (13)

I’ve had several players ask me about how the ranking system for XonStat works. This is my humble attempt to do so. If you have any particular questions that aren’t answered here, ping me in the Xonotic IRC or forums and I’ll try to answer it. If the wind is blowing in a favorable direction, I might also update this very post.

The Short Story

Did I mention that there is a short story and a long story to this? There is - how delightful!The short story is that I’m using the Elo rating system to gauge the strength of players in Xonotic. It’s similar, though not exactly the same, as what is used in many chess ranking systems. An excellent writeup of the history and mathematical details behind the Elo algorithm can be found on Wikipedia here: For those who want all the gory details, read that and become enlightened! Or read it and become more confused. It’s okay either way. Now for the long story.

The Long Story

Way back when I was first implementing XonStat, people would often approach me with an idea to incorporate global rankings into the system. I had no idea of how to do so until someone pointed out the aforementioned Elo system to me, also noting that several other popular FPS games had also done so. I looked into it and how it works. divVerent and I set out to implement it within our database.

The Elo system is based on wins and losses versus your opponents. You gain points from winning, and you lose points from losing. Sounds simple, right? It really is, but adopting the algorithm to Xonotic had a few nuances. The rating of your opponent also comes into play such that wins over stronger opponents will give you more points than wins over weak ones. This means that a win over a person rated higher than you yields more Elo points than a win over a person new to the game. The same principles apply to losses.

Let’s cut right to the chase and talk about how XonStat determines the points increase or decrease for each match. Unfortunately for this part we’ll have to look at the gory mathematical details. We’ll use a theoretical match between players A and B, and we’ll look specifically at the points increase/decrease for player A (forgive me for the bad screen caps):

[Image: elo.png]

In the notation above E is the expected outcome, S is the actual outcome (1 for a win, 0 for a loss), and K is the experience adjustment factor. We’ll talk more about K in a minute, but for now just think of it as a constant.

To get the points increase (or decrease) value for each match, we first have to start with what the expected outcome would be. Simply put, stronger players are more likely to defeat weaker players, and the formula for E is just expressing that in terms of a likelihood between 0 and 1. This may help you understand why winning against very weak opponents nets you very little points - if the expected outcome is near 1 (a sure win), it follows that what’s left over after subtracting it from 1 will not be very much, thus the amount of points gained will be low.

The Experience Factor

The more games you have under your belt, the more accurate we can say your Elo score is, and thus the less we need to adjust your score after each game. This is exactly what the K is for in the formulas above. We vary K along with how many games you’ve played. You start off with a K value of 200, but over the course of 32 games that factor decreases linearly down to 40. This means that new player will jump up and down in point value much more dramatically than a seasoned veteran until he or she reaches the requisite number of games.

In XonStat we also use the K value to account for players who have not played an entire match. Such players have their K value modified downwards by the percentage of the match they did not play. This is determined by comparing their alivetime value with the match’s overall duration. For example, if a player plays 800 seconds out of a 1000-second match, their K value will be 80% of what it would have been otherwise.

A Real Example

Enough with this A and B business. Let’s do an example with real values! Imagine I (Elo 350) play Mirio (Elo 450) in a duel and Mirio wins. Assuming both of us are experienced players with over 32 games played, we’ll each have a K value of 40. Since Mirio won, his S value is 1 while mine is 0.

Mirio’s points value from his win will be:

PHP Code:
40*(113.33/(13.33+7.50)) = 14.40 

My points from the loss will be:

PHP Code:
40*(07.50/(7.50+13.33)) = -14.40 

Now let’s turn the tables and see the points values for if I win the match! This time Mirio’s S value will be 0 and mine will be 1.

Mirio’s points from his loss will be:

PHP Code:
40*(013.33/(13.33+7.50)) = -25.60 

My points from the win will be:

PHP Code:
40*(17.50/(7.50+13.33)) = 25.60 

Take note of the points differences when the winners are transposed. If I won the match, I was rewarded with more points because I was expected to lose. Hooray to the underdog!

Team Matches

Thus far we’ve only discussed matches between two players. That’s fine and well, but what about team matches where there is more than one person to compare against? I handle this by running the above calculations between each winner and loser and averaging the result. For example, if a player has won a game against three individuals, the points he gets is the sum of all of the points from each individual calculation divided by three. The points gained is thus the average points gained from each individual a player has defeated, with the opposite being true for lost points.

In Conclusion

In this post I’ve covered the details of the Elo implementation within XonStat, the statistics database for Xonotic. I’ve covered individual and team games as well as how the basic structure of Elo is used to determine point gains and losses from matches. I also discussed a little about how experience alters the ratings. I hope you’ve found this subject matter entertaining! As always, you can contact me in the forums at or on IRC at #xonotic on Quakenet with any questions or comments.

Print this item

Exclamation New website skin!
Posted by: Antibody - 07-14-2012, 02:31 PM - Forum: Xonotic - News - Replies (60)

Hey everyone,

As many of you know, I've been steadily working on a new theme for our main website, As of just about two minutes ago, it's live! I hope you like it, and I welcome your feedback. You probably don't need the URL, but I'll put it here anyway: it can be found here.

One thing to note is that I'm not done. I realize that the media page (videos/pics) isn't what it should be right now, and the same goes for some of the older pages. I'll be getting to those in time! Thank you everyone for your support - you are all fantastic!

Print this item

  Farewell, FruitieX!
Posted by: CuBe0wL - 07-08-2012, 03:06 PM - Forum: Xonotic - News - Replies (25)

Team Xonotic would like to wish the best of luck to fellow developer FruitieX, who will tomorrow join the Finnish Defence Forces for a year of training.

Take care mate, and have fun with the new toys, but remember: there's no respawn in real life! Try not to overabuse rocketjumping with the RPG Wink

[Image: salute-500x400.jpg]

Print this item

  Teaser for Killing X-Zone - Xonotic Community movie
Posted by: CuBe0wL - 07-08-2012, 10:09 AM - Forum: Xonotic - News - Replies (13)

ZeRoQL released a small teaser for his incoming fragmovie titled Killing X-Zone, which will be 20min long and full of frag epicness!

You can download the teaser from one the following links:
Mirror #1: Hetzner Online (Germany)
Mirror #2: Maverickservers (California)

Print this item

  WoX-BloX Issue #4: Developer news
Posted by: CuBe0wL - 06-24-2012, 02:54 PM - Forum: Xonotic - News - Replies (33)

Yo all!

I'm happy to announce you all the 4th issue of WoX-BloX! You can read about the latest development news here:

Many thanks to fisume, who helped me in writing this blog!

Print this item

Latest Threads
Host A Server On A Device...
Last Post: ballerburg9005
Yesterday, 08:44 AM
grenade type switching
Last Post: rochr4
11-22-2023, 01:48 PM
fix dark playermodel visi...
Last Post: rochr4
11-22-2023, 01:39 PM
Cool indie games thread
Last Post: Dares
11-18-2023, 05:48 AM
Xonotic Defrag World Cham...
Last Post: Mirio
11-14-2023, 12:04 PM
Hello guys! I need Xonoti...
Last Post: cushinga
11-11-2023, 08:31 PM
How to enable invasion mo...
Last Post: zwz
10-30-2023, 07:51 AM
I (sort of) converted the...
Last Post: oblector
10-20-2023, 06:12 PM
Xonotic port/reboot in Go...
Last Post: ballerburg9005
10-19-2023, 05:03 PM
Setting Waypoints on 2D M...
Last Post: mrhip
10-18-2023, 04:31 PM

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