Paint By Layers
April 22nd, 2010 by BrianS
I have been painting race car paint schemes for online racing games for most of my adult life now. Ever since I picked up a steering wheel and attached it to my desk to compete with my friends in online sim racing, I’ve wanted to have a custom scheme to help put some of my personality into the world I had fallen in love with. During that long road I have created more schemes than I can count for friends, co-workers, and others out of the sheer joy I feel when I get to see that piece of art being used out there in the community. I have always felt that giving the user some way to put their own spin on their cars, helmets . . . heck anything they can helps make them feel more attached and involved in our software. Seeing a full field of cars on the track, each one different from the other just adds an air to the races that is thrilling to see.
Ever since I picked up a steering wheel and attached it to my desk to compete with my friends in online sim racing, I’ve wanted to have a custom scheme to help put some of my personality into the world I had fallen in love with.
In iRacing, we want to convey that same thrill to our customers. The problem has always been how to do that. Each custom car can be rather large memory-wise, and we have a system where any of our thousands of customers could race any other driver at any time. The problem of how to allow the end- users to generate a car paint job that is uniquely their own, but also have every other user have it on their system is a daunting technical problem. Adding to the technical issues, not everyone is an artist, and wants to spend hours designing a paint scheme.
We enable individual paint schemes in iRacing by designing a large group of pre-made base designs, numbers and sponsors. The end-user can then decide what color they want their car and numbers to be, and what sponsor they would like to run, if any. The base designs and numbers used to paint the car are red, blue, and green targa’s with some grey scale colors used as accents. When the racing simulator loads, it replaces those red, blue, and green colors with the colors the user picked-out on our car painting page. We then stamp the car detail items like the headlights, rivets, etc. (basically anything we didn’t want to change color), and the sponsor logos over the top of the paintjob. Using the above method, we can allow anyone to quickly create a scheme that is uniquely their own, and have it instantly visible to every other customer in the service.
During our last season update, we introduced the ability to have user-created custom paintjobs for those users who raced in leagues and for those more artistic types who wanted to be able to design something that was much more personal than what was possible in our current system. Now anyone who has software that allows you to save a texture such as Adobe’s Photoshop can create any type of paint scheme they could imagine.
We have wanted something like this in iRacing for as long as the company has been in existence. In Nascar Racing 2003 we had a system where sim racing league members could see their individually designed schemes in the sim while racing against each other. The main problem implementing a similar solution allowing someone to have a user- created custom paint scheme is how to store and transfer those schemes. Copyright issues also could come into play if we stored those paint schemes ourselves and transferred them to the end-users. Having to police thousands of texture files to make sure there was nothing pornographic or that violated laws would be a full time job for someone. iRacing is a small development studio and that just isn’t possible.
Our solution was to have the software look in a folder to see if there is a loose texture that has the same filename as the user’s account number. When the software sees that, it loads the texture and inserts it near the top of the stamping process. This allows you, the end-user, to have the base scheme you created in the iRacing software, and also a user-created paint scheme that you can use in a hosted league race. It also allows you to see other users’ custom created schemes if you have them loaded on your computer. On our end, this allows us to continue to have our easy-to-use paint system, and it also saves us from the issues of having to police everyone’s paint schemes since we don’t have to transfer, store, or see each individuals’ cars.
As a side effect of this new process, it also allows us to see the community step-up to the plate (as it always does with pc racing games) to fill in holes that need to be filled. Within days of launching this new feature Trading Paints opened-up to organize and help in the transfer of these custom schemes between our customers. Many other sites also popped-up where artists offered to paint and design custom schemes for other users.
In the future we hope to be able to add some more flexibility to the paint system we have. We are always adding new base car paint schemes and number styles. We also hope to provide a way to allow users to have separate number colors on the roofs and doors of cars that can support such a feature. If there is anything you’d like to see us add, or if you have a question about the cars art-wise, post them in the comments and I’ll try to answer them in future blog posts.