Tales from the front line S01E07

The only place you'll ever hear the truth
User avatar
Byron
level2
level2
Posts: 147
Joined: Tue May 13, 2008 3:48 pm

Tales from the front line S01E07

Postby Byron » Sat Aug 23, 2008 11:57 am

Multiwinians are cowards!

No, it's true. A bit of fire and they run around like headless chickens. Come up against a troop of mad Multiwinians and they will fight to the death but a little bit of fire and it's 'RUN FOR THE HILLS'. Pah!

Okay, in some ways it's understandable because fire has a nasty way of spreading and it's not nice listening to all the Multiwinians screaming as they are about to shuffle their mortal coils while being slowly imolated but in this case their cowardice is causing me issues because there is a bug :(

I found this bug as the result of creating a special version of Multiwinia called the 'TestBed'. If you have been playing the Beta you might have seen this appearing in the server list. If you do then know that it is two copies of Multiwinia playing against each other at 10x normal speed and sometimes 100 the normal speed. It's a sight to behold and perhaps one day after launch we will enable this feature for all to see. The purpose of this is to be able to run multiple automated tests so we can be sure that Multiwinia is relatively bug free. By multiple tests I am talking something in the order of 100+ runs of the game in one night. This is quite important for a company that doesn't really have a QA dept. The beauty of it is that we can get it to play exactly the same game over and over again just be pre-seeding the setup values with the same amounts each time. This is why I say Multiwinians are cowards because I have been watching the same game over and over again where they run away from fire. The scenario goes like this:

1, The purple team take over a spawn point with just one MWG.
2, The blue team immediately take offence and send in a squad to execute him - which they do.
3, Purple takes this as a personal insult and sends in a squad also who proceed to lob a few grenades.
4, A crate drops in purple's camp.
5, The fight goes on while purple opens crate.
6, As luck would have it there was a flame thrower turret in the crate which purple then takes immense pleasure in placing right next to the spawn point.
7, Flame turret immediately begins to toast all of the MWG's in the vincinity - including I might add the purple team.
8, One of the four trees around the spawn point catches fire.
9, The fire spreads from the first tree to one of the other trees.
10, A single MWG panics and runs.

Step 10 is where it all goes wrong.

Multiwinia uses a predictive physics system to keep all of the clients in step with each other which means certain math functions like rand have to operate together. For the most part because each game is seeded with the same startup conditions every time you play - but those values are random for each actual game started so that you have a different experience against the AI, but all of the clients get the same copy of that random value to ensure they are working from the same page - coupled with the fact that any request to do something has to go through the server before a client executes it means that any call to rand on one client is matched with exactly the same set of sequences and calls to rand on the other clients. This ensures that all clients see the same game and experience the same game. When this mechanism goes wrong we get a 'sync error'. Step 10 produces exactly that, the lone MWG makes a call to rand that is not replicated on the other clients so the game dies. As the person charged with the 'stability' of the game leading up to launch it's my job to correct those type of errors.

The process of working out what has gone wrong can be a long one. Mainly because while the de-synchronization of rand may happen at one point it's effects may not actually be felt till later when the game does internal checks to make sure that all of the clients are seeing the same thing. So the only way to track down the where the actual fault happen is to output and compare lots of log files. I am lucky that I developed the TestBed because it means I can reproduce this same error 100% of the time - that is not always the case and usually leads to Heisenbugs. So at this moment I am attempting to work out the unique ID of this particular MWG and then track his (or her - do they have a sex?) through the lifetime of the game to work out the actual point of being scared and then work out what exactly scared it to see where the client's differ and then correct that difference. Might not sound like a lot but it's a huge amount to go through but somebody's got to do it.
User avatar
vanarbulax
level4
level4
Posts: 653
Joined: Mon Oct 01, 2007 8:51 am
Location: Sydney, Australia

Re: Tales from the front line S01E07

Postby vanarbulax » Sat Aug 23, 2008 12:02 pm

Byron wrote:7, Flame turret immediately begins to toast all of the MWG's in the vincinity - including I might add the purple team.


That always makes me laugh every time I see it, well at least when it's not happening to me.
User avatar
NukeLord
level4
level4
Posts: 525
Joined: Fri Nov 03, 2006 2:08 pm

Postby NukeLord » Sat Aug 23, 2008 12:16 pm

You shall get to know that one DG's life intimately, more so then even he/she knows. Every laser fired, every grenade dodged and all the suffering from seeing fellow DGs lose their lives. Every little detail up until the guy gains sudden awareness that it's not in control of it's fate, decides it's not having any of that, and causes the game to desync due to newly discovered free will.
RabidZombie
level5
level5
Posts: 2414
Joined: Fri Nov 18, 2005 10:09 pm

Postby RabidZombie » Sat Aug 23, 2008 12:22 pm

Sync Rand Error! *shakes fist* :x
User avatar
Phelanpt
level5
level5
Posts: 1837
Joined: Thu Aug 10, 2006 4:20 am
Location: Portugal

Re: Tales from the front line S01E07

Postby Phelanpt » Sat Aug 23, 2008 12:23 pm

Byron wrote:So at this moment I am attempting to work out the unique ID of this particular MWG and then track his (or her - do they have a sex?) through the lifetime of the game to work out the actual point of being scared and then work out what exactly scared it (...)

So you're playing MWG psychologist then? :P

The TestBed seems very useful, not only to debug, but also to work out level balance issues for the AI. Although it might not be the same with actual (devious and vicious!) human players, at least it would rule out most problems.

As for releasing it later, I'm curious as to how it looks. I think it would be fun to pit AI vs AI at normal speed and see what happens, so it's probably even more interesting at greater speed.

Edit: Nukelord sort of ninja'd me. For Great Humor! :)
User avatar
KingAl
level5
level5
Posts: 4138
Joined: Sun Sep 10, 2006 7:42 am

Postby KingAl » Sat Aug 23, 2008 2:00 pm

Multiwinia guys, by analogy with DGs.
Gentlemen, you can't fight in here: this is the War Room!
Ultimate Uplink Guide
Latest Patch
Montyphy
level5
level5
Posts: 6747
Joined: Tue Apr 19, 2005 2:28 pm
Location: Bristol, England

Postby Montyphy » Sat Aug 23, 2008 2:02 pm

KingAl wrote:Multiwinia guys, by analogy with DGs.


Don't be sexist. That was acceptable in those days but now we have to be more PC. It's Multiwinia guys/girls :P
Uplink help: Check out the Guide or FAQ.
Latest Uplink patch is v1.55.
captainslow
level1
level1
Posts: 15
Joined: Sat Dec 30, 2006 4:42 pm

Postby captainslow » Sat Aug 23, 2008 2:12 pm

Sounds like Testbed could be made into one incredible screensaver when it's released.
Mas Tnega
level5
level5
Posts: 7898
Joined: Sat Mar 02, 2002 11:54 pm
Location: Edinburgh
Contact:

Postby Mas Tnega » Sat Aug 23, 2008 6:24 pm

Montyphy wrote:
KingAl wrote:Multiwinia guys, by analogy with DGs.


Don't be sexist. That was acceptable in those days but now we have to be more PC. It's Multiwinia guys/girls :P
MWGG? That's like a bad misspelling of 'hungry horse'.
Phasy
level0
Posts: 1
Joined: Sat Aug 23, 2008 9:20 pm

Postby Phasy » Sat Aug 23, 2008 9:26 pm

Kinda reminds me of that part at the end of the movie 'Wargames' (I believe it's what the game Defcon is based on?), where the computer starts playing the game infinitely and finds out it can't win.

[after playing out all possible outcomes for Global Thermonuclear War]
Joshua: Greetings, Professor Falken.
Stephen Falken: Hello, Joshua.
Joshua: A strange game. The only winning move is not to play. How about a nice game of chess?


I registered just to say that.
RabidZombie
level5
level5
Posts: 2414
Joined: Fri Nov 18, 2005 10:09 pm

Postby RabidZombie » Sat Aug 23, 2008 9:44 pm

Have you played Defcon or Uplink, Phasy? If you had, you would have registered a long time ago to say that. ;)
yxxxx
level1
level1
Posts: 17
Joined: Sun Mar 05, 2006 7:06 pm

Postby yxxxx » Sat Aug 23, 2008 10:48 pm

Montyphy wrote:
KingAl wrote:Multiwinia guys, by analogy with DGs.


Don't be sexist. That was acceptable in those days but now we have to be more PC. It's Multiwinia guys/girls :P



Guys can mean both male and female :P

Think I may be a little tired wrote male as mail twice.


Oh and how was that giant multiwinia suit by the way that looked fun to wear :shock:
Montyphy
level5
level5
Posts: 6747
Joined: Tue Apr 19, 2005 2:28 pm
Location: Bristol, England

Postby Montyphy » Sun Aug 24, 2008 2:16 am

Defcon? Based on the film Wargames? Don't be silly.
Uplink help: Check out the Guide or FAQ.

Latest Uplink patch is v1.55.
brog
level1
level1
Posts: 22
Joined: Fri Jun 22, 2007 10:11 am

Re: Tales from the front line S01E07

Postby brog » Sun Aug 24, 2008 9:41 am

Byron wrote:When this mechanism goes wrong we get a 'sync error'. Step 10 produces exactly that, the lone MWG makes a call to rand that is not replicated on the other clients so the game dies. As the person charged with the 'stability' of the game leading up to launch it's my job to correct those type of errors.


Oh man, I feel for you. I have a similar system and I once spent days trying to track down a rare sync error.

I didn't have such a nice setup as your "testbed" server. That would have been a lot of help, and I'm thinking I might steal this idea off you.
Disro
level1
level1
Posts: 40
Joined: Tue Jul 11, 2006 4:19 am
Location: Not where you think I am

Postby Disro » Tue Aug 26, 2008 4:49 am

Sounds like fun =P. You should definitely put a video of that running in the next Monday update...

Return to “Introversion Blog”

Who is online

Users browsing this forum: No registered users and 16 guests