Jump to content

And I thought I was just bad at UFO....


usmarox

Recommended Posts

Put it this way...I didn't mod the score. Hell, I didn't even realise the variable type was big enough to hold something that size :o

 

I think I'm using some kind of loader to play it, and if it's any help the graph axes are all way of whack - using number of a similar magnitude.

 

If it's any help, I'm playing the Collector's Edition under Win2k.

 

- EDIT -

 

My calculator tells me this is (at least) a 28 bit number. So I would guess the score is a 32-bit signed int. Pure randomness and speculation on my part, but hey, I guess it doesn't hurt ;)

Link to comment
Share on other sites

Nope, no editors at all. Not yet, anyway :devil:

 

Looking at it, though, it has to be some kind of buffer overrun somewhere, since I've done well enough to merit a $750,000 funding increase, so either I did stonkingly well there, and really, really badly in the rest of the world, or it's wrapped round somewhere.

Link to comment
Share on other sites

I've seen glitches that gives you really wild effects (like the awesome 'medic' cannon that can destroy battleships in a single shot (sometimes) ) . But that - well, that takes the cake. ;)

 

Unless you constantly raid an alien base over the course of the next two or so game months to steal and sell heavy plasmas, you're sunk. The UN won't like that one bit, even though they imposed the bankruptcy on you.

 

- NKF

Link to comment
Share on other sites

....and the plot thickens.....

 

I seem to be getting normal, 1000+ scors now, which is a relief, but here's some extra wierdness for you:

 

https://www.nuttersink.co.uk/Dan/shot0002.jpg

 

Like I said earlier, the graph axes are a little....out ;)

 

https://www.nuttersink.co.uk/Dan/shot0003.jpg

 

Is that optional?

 

The weird thing sbout this one is that when I try and get a look at the UFO, the bombs to desktop.

 

And all this with no editing. My computer hates me.

Link to comment
Share on other sites

My guess would be that your using Win2k, which doesn't like many games, but I'm sure its not that... Although, it does look like you are using some kind of editor, b/c when I used one just for the heck of it, if I sold anything I would be in debt, and come to the monthly evaluation thing, I would be in debt again, however all the countries were very happy and increased their funding, but it didn't cover the debt that the game had given me. And I know you've stated that your not using an editor, and I'm not accusing you of doing so either, but just giving you some of my experiences that I've encountered using game editors.

 

-PHOENIX ;)

Link to comment
Share on other sites

  • 3 weeks later...

I am sure that the problem you are noticing is due to an array that was left smaller than it should have been due to the programmers not forseeing extreme skill differences. I have yet to have that event you're showing occur in any XCOM game but I've seen those exact problems and many others occur in many other games in my 15 years of gaming.

 

I'll relay to you a problem that will be eerily reminiscent to you after having described this situation from X-Com to all of us.

 

I was playing Tecmo Super Bowl 3 using the SNESx9 emulator and was doing wonderfully in season mode. My quarterback had in week 15 thrown TD number 252 and I was stoked about what I was going to end up with as my final 'career best' record. In week 16 I managed to have him throw an additional 9 TDs bringing it up to 261... then I looked again at the season scores... and he wasn't listed in first place anymore.

 

I looked at my team's data and instead of 261 it now said 6! Argh that was so annoying. Anyway that reminds me very much of your account of the scores seeming to have returned to normal, since in week 17 he gained an additional 11 TDs and it added them to that other number of 6 without problems.

 

BTW: In that same game I also amassed over 36k passing yards that season... When the count went over 9999 it left off the first number but kept my team listed in first place so I would have visible say 2k in first while 2nd would show 3k, then when I finally broke 36k without warning it changed to a negative number -2486 if I remember correctly yet still kept me listed in first place. However the very next game sent me over 37k (I think?) and instead I got bumped all the way down to last with only 534 yards.

 

And since I've already listed some of the fun quirks of that game I'll list one more... If you manage to score say 432 pts in a game and your opponent scored 32 pts it would send you into overtime and do the cointoss since the game coders had the code for that wired into just the last two digits of the score being the same for both teams in a quick hack job top save time (grr!). The coin would be tossed then regardless of who won you'd see it immediately flash then it would act like overtime ended with no points scored and say that the game ended in a draw... but when you got to the season stats the game actually was counted as a win anyway. I tested it and it didn't matter what the scores were this would always happen as long as both teams ended with the same last two digits at end of regulation. 100-0 got the same results as the game where I played an intentional score-fest while controlling both sides ending in a 799-699 score.

 

Ooh and another weird quirk in that game was the in-game player stat. If you raised the single player stat up high enough that you bled out of the programmer's designed range, then substituted in a bench player into the slot of your high stat player it gave the subbed out player 0 stats and stuck all of the stats earned by player a+ into player f instead.

 

I've seen so many games where these type of errors manifested because programmers were either lazy or too stupid to imagine that players might actually get that good eventually if they played the game long enough to get used to its quirks.

Link to comment
Share on other sites

If a number goes too high it loops back... unless a (WRETCHED DISCONNECTS OH HOW I HATE THEM) failsafe is programmed in.

 

I vagually remember that the older versions of UFO might have done loop back with troop stats, but that the newer ones enforced limits to prevent super troopers and stat loop back...

Link to comment
Share on other sites

Nightshade - it's a matter of signed and unsigned variables. I could explain this in binary number terms but basically you can store a negative number such as -1 in an unsigned format, if you decide "a billion and one" = -1, "a billion and five" = -5, and so on. The billions decimal place in my example is where the negative sign or lack of it is stored. (usually this is the 16th bit in a signed 16-bit number, 32nd bit in a 32 bit number, etc.)

 

What may have happened in USAMROX's game is that the score was unexpectedly raised from a few million to over a billion - say from 3,000,000 to 1,403,000,000 - which would be positive news for all countries, when you treat it as an unsigned number. But in signed format, 1,286,000,000 comes up as "a billion and 286 million" and is displayed as "-286 million" on the score sheet.

 

JFG (can still remember EE university) ;)

Link to comment
Share on other sites

That is to say, computers handle numbers in different ways; some numbers are not allowed to go negative at all, and these are known as unsigned.

 

But the computer can treat them either way; so, it treated it as a signed number on the score sheet, but as unsigned when it processed the funding.

 

* ponders *

 

Hang on, hang on, this is all wrong! The number must be treated as signed when calculating the funding, or else you could never loose! ;)

 

* thinks harder *

 

No, I can't see any way that could happen, regardless of any errors in the handling of the sign of the numbers, or overflows, or anything like that.

 

Eh?

Link to comment
Share on other sites

A computer normally works with bytes - or a data value that can hold numbers between 0 and 255 (i.e. 256 unique numbers). A byte is made up of 8-bits. A short 16-bit integer is made up of two bytes and can hold values between 0 - 65535. An integer of this type is made up for two bytes. So on and so fourth.

 

These numbers are all unsigned. In order for these same data types to handle signed values, the computer leaves the first half of all the possible values alone and uses the rest for storing negative numbers.

 

A signed byte can hold values between -127 to 128 (0 is counted). Really, the series of numbers goes like this. 1, 2, 3, 4 ... 126, 127, 128, -127, -126, -125.... -1 (then any additional numbers will wrap it back round to 0, 1, 2, 3, 4...). If you ignore the sign, you can practically imagine it counting up and then counting down again.

 

- NKF

Link to comment
Share on other sites

BB, you could well be right, and even though he's approved this round, next month his score might be recognized as the true negative it is, and he starts losing the game.

 

 

I think there's more than one address messed up in his game - string pointers are wrong, as in his UFO pursuit screen where Type string "Small"(eg) is mixed up with Intercept Action string "Pursuit Without Interception".

 

For my amusement I converted those funky scores to Hex:

 

monthly score -268434740 = F00002CC h ; looks like that leading F shouldn't be there

Funding 736000 = B3B00 h ; doesn't look unusual

UFO Activity Max 377487360 = 16800000 h ; looks like a few too many zeroes

 

If these had started showing up to be ASCII characters it would be obvious something was up ("Your monthly score is RIFLE") but it just looks like offsets are wrong or something non-entertaining like that.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
  • Create New...