Epic failures in the game development field.

This blog covers funny/weird issues and bugs from games that happened during development.

Send your own contributions to igetyourfail at repi.se (can be anonymous if specified)

Wednesday, December 31, 2008

why you should never port other people's games

Exhibit 1:

if (!ShouldTaunt())
{
LarryMonster(Pawn).PlayTaunt();
}

Exhibit 2:

RandSoundNum=Rand(HurtNoise.Length);

PlaySound(HurtNoise[HurtNoise.length]);


Exhibit 3:
(I can not even begin to guess wtf our draw scale is going to be set to)

SetDrawScale(scaleStart-(scaleStart-scaleStart/1.2)*TimeSince(interpStart)/0.2);


Exhibit 4:
(for this code the comment says it all)

// hack of the month : set bCheckSoundOcclusion if I am a guest,
// which will remove the controller from the list in the end in native code:
// (the reason, by the way, is that I do not want to have to
// rebuild EngineClasses.h, and the SeamlessTravel is hacked up
// anyways :-P )


Exhibit 5:

EngineSound.PitchMultiplier = FClamp(((VSize(Velocity) - 150)/600) + 0.9, 0.9, 1.4);
EngineSound.PitchMultiplier = Lerp(1.4, 0.9, FClamp(((VSize(Velocity)- 150)/600)/0.5 , 0, 1));

(Thanks to Anon)

Sore wood collector

From D&D Online during development.
Mr Soarwood collector was supposed to be holding a guitar.

Photobucket

(Thanks to Anon)

Wednesday, December 24, 2008

The Long Neck Syndrome - Part 1

In-development skinning/animation mismatch bug

Photobucket

Tuesday, December 23, 2008

Monday, December 22, 2008

Saturday, December 20, 2008

Outlook: Bleak

Image Hosted by ImageShack.us

Friday, December 19, 2008

++ftw++


eastl::map<eastl::string, PipelineMeshSubsetPtrVector >::iterator mapMeshIt;

for (mapMeshIt = meshMap.begin(); mapMeshIt != meshMap.end(); ++mapMeshIt++)
{
...
}


Code actually works though :) Only incremented once per iteration.

(Thanks to Robert)

Oops, shipped a stack memory overwrite we did


Vec unpackedTransform[4];

#if defined(SPU)
vecLoadHalf8(unpackedTransform[0], unpackedTransform[1], &sourceTransform->data[0]);
unpackedTransform[2] = vecLoadHalf4(&sourceTransform->data[8]);
#else
// get alignment errors with both vecLoadHalf8 and convertHalfToFloat array, so use naive but working method instead
// convertHalfToFloat(reinterpret_cast<float*>(unpackedTransform), &sourceTransform->data[0], 12);
for (uint i=0; i<24; i++)
reinterpret_cast<float*>(unpackedTransform)[i] = convertHalfToFloat(sourceTransform->data[i]);
#endif


Sometimes more comments are good


/// @warning Be careful! This tool is useful for debug but it can also
class DebugDrawer

(Thanks to Alex)

Friday, December 5, 2008

Thanks for writing comments


// if dl==-1, nothing to do
if ( dl == -1 )
return;

(Thanks to Tom)

Followers