2XL Random Object Generator
One of the final touches in an offroad racing game with hundreds of miles of tracks was the task of putting in all the fences, banners, cones, haybales, barriers, tires, and other various objects that sit on the side of the roads. At 2XL, we called them “track-side objects,” or “TSOs” for short. To keep things simple, we built similar objects inside of the same footprint. For example, we had several sets of orange net fencing used as road-side dressing, all in varying condition. One was perfect and new, one had a single side sagging, another sagged in the middle, and so on.
To save time, the artist who was placing literally thousands of these orange netting fences would shift-clone a single version of a single version of the fence to use as a size and positioning stand-in. Then, when done, our exporter would save out a file pointing to thousands of references of that single object. This is where I came in (well, aside from being one of the guys who was placing those thousands of objects).
All the level artists agreed that shipping the game with 2000 of the exact same orange net fence lining a track was not a visually appealing option and would take away from the overall realistic nature of the game. So, I wrote a tool that would post-process our exported level files and randomize a given object according to the desire of a given artist.
A user of the “Random TSO Generator” could tell the application what object they wished to randomize, as well as the objects that would be involved in the randomization and their given probabilities, and the application would re-process the exported level file.






