Hacker News new | ask | show | jobs
by throwmeaway32 3110 days ago
This is giving me fond memories of things I had to do or had heard about from colleagues:-

- To improve game loading speed of a CD - Load level on PC from hardisk, log all filenames loaded to a txt file and then use that to order the files when writing to the final CD.

- Load all files into PS1 devkits memory, write out all memory in a binary blob to the harddisk, burn that memory image to CD to use for fast level loading (just load it in a single fread(..).

- have separate executables for different levels which had different features, to save memory.

- Write a small block allocator to make <256byte allocations quicker and more efficient.

- Find a tiny piece of memory in the PS2 IOP chip which doesn't get wiped on a devkit reboot (for some reason) and use that as 'scratch' space to write log messages to track down a hard to repro crash that rebooted the kit.

- Change the colour of the tvs border to different colours to track down a race condition that only existed on burnt disks and we had no debugger. The border colour setting code was quick enough to not affect the race condition, so choose some places in code to arbitrarily set to certain colours, burn the disk, test it, when it crashed see what colour the border was, then put some more colours in possible areas, re burn the disk and etc (so basically binary search the code areas using border colours).

- Use compiler optimisations settings for 'size' instead of 'speed' as the smaller executable code size meant you stayed in the DCache more which actually made the code quicker than compiling for 'speed' which resulted in generally larger code.

- Burn a master CD image for publisher, get the game ID code wrong, open up the disk image file in a hex editor and manually edit it rather than go through the whole build process again.

- have no build machine (Gold master got made off whatever code the leads machine had).

- Use sourcesafe (no atomic checkins....)

- Use a few batch files and a directory share for 'source control' of art assets.

- Have values in config files we gave to games designers which did nothing (this was accidental but they swore changing them made a difference to the game).

- Have a advertising deal with a company to have a special cheat code in the game to unlock some stuff, the programming code that does this has a bug that ships that means you have to alter the code incorrectly to get it to work....so tell the company that 'Your code was too easy so we made it harder'.

- Have a developer write code like this as he swore that passing a extra parameter would have slowed the game down:- (psuedo code, but original was in C)

Do stuff(int val)

{

foo * bar;

If (val<10)

{

bar = gStuff[val];

}

else

{

bar = (foo* )val;

}

}