Hey guys,
as someone who has been playing racing simulators for nearly a decade now, something has always been missing: (A girlfriend?) A long-term motivation like it was found in the early Gran Turismo games, the feeling of buying and owning cars, racing for a reason, climbing through the stages of motorsport, earning licenses etc. While most modern racing simulator-creators will spend loads of money and weeks on getting the air pressure simulation of the tyres right, none of them really seemed to care about this part of the experience. This ends today! Well... soon! Hopefully! Because I'm working on a free and simple(and ugly) software which simulates this career, embedding all common simulators to buy cars, race championships and ultimately work yourself through the ranks of racing. While this is in a quite early stage, I am at a point where I'm confident to be able to finish it over the course of the next months and release an early version even sooner.
A warning
Just to make it clear from the get go: I'm a Bachelor's student in psychology. My programming experience therefore is limited to one 5 credits "Python"(a high level programming language) course I recently had. While I will be perfectly able to make the program function well, not only will it be quite ugly and unprofessional, it also won't be able to just "read out" the results from your races, you actually have to keep track of the championship standings inside the game(AMS, AC, RRR) or on paper(rf2) and then type in the position you scored in as well as the damage your car had into the software, so it can calculate all the relevant measures. The uglyness as well as the amateurishness might take away a lot of the feeling for some people and therefore make it uninteresting for them, but it's the best I can offer with my limited skills. If there's a more talented programmer out there that is able to implement these things or even port the whole software to C/C++, you're good to go! But all programmers keep in mind that the code will be structured amateurish as well, I'm not even using classes, just functions(although that doesn't make a functional difference, it might make it less appealing for programmers).
What it offers
Racing yourself through the career ladder, signing up for different racing series, going through cycles of seasons. And the best thing: Everything is moddable. The car list as well as the different racing series are saved as csv files, so as tables, which means that you can add your favorite cars and racing series and combine different games. You're not set to just one simulator. So if you prefer the F1 cars in Assetto Corsa over the ones in Automobilista, just use them.
Buying, owning and selling cars
Now, we all know that owning things doesn't make you happy, but getting new things does, it's just that these things wear off after a while. This feeling is replicated by the need to buy cars in one of the 2 car stores: The normal car dealer offers you the possibility to buy any modern race car available at a fixed price, while the historic dealer once per year gets some of the finest old machines at different prices. You then have to decide: Is this a good offer? Should I wait and hope that there will be a better one sometime over the next years? Or might this car not be sold for a while, so I better get it now, because it's just awesome so who cares about it being overpriced?
You can also sell your cars, but each year the value will decrease a bit.
Repairing Cars
Ever needed an incentive not to crash your car? How about: You gotta pay, dude! Parts like engine, suspension, front wing, side pots etc. can be damaged in most games and depending on how damaged they are, you have to pay either for repairing or replacing the part. This works better in some games, in rf2 and AMS for example, two levels of damage are indicated directly, in case of AC it's less clear due to the gradual damage, in case of RRR, there's not enough damage so that this would normally apply. The ugly downside here again: You have to keep track of the damages manually and then indicate it to the software by simply typing it in. Sounds stupid, but on the other side: It's a bit like ordering new parts
The career ladder
There are two ways to categorize racing levels here: The "stages", from A to F, represent different amounts of money you have to spend for a season including the money for the car and the sign up for the season as well as races. Normally this also corresponds to: The more expensive the racing series, the higher it is, but ultimately it's up to you to decide which one you regard as the most challenging or interesting one. But there's a second system:
Getting Licenses
Some racing series require you to get a license, some will also give you a license in return if you finish well. From bronze to platinum, everything is covered, there's even a super license you have to get for Formula one. I might extend this feature later on to include specific tasks and even instructional videos as a requirement to get certain licenses.
The season
For simplicity, the season consists of 12 months with each 4 weeks(so, it will not keep track of the days). I've written an algorithm that customly creates a season every year, based on a list of tracks provided for each series. These include "permanent" races that are there every year, for example "Monaco" in F1, but they also include a set of optional races, that will be drawn newly every year. Some races even have indicated spots in the season, for example: Melbourne will always be the season opener in F1(although the week itself is not set). Every series also has a set timeframe, meaning: From when to when does it race. The algorithm then randomly spreads the races over the months.
Signing up for a season as well as for their individual races costs money, but both also will bring you prize money at the end of the year and the race. While you can generally sign up for as many racing series as you can afford, always bear one thing in mind: You can only race at one venue per weekend! This means that you might have to decide between attending two races in two different series once or twice per season(like Buemi had to last year). Elsewise, just sign up for two series that share a calendar: The Australian Porsche Carrera Cup for example does it's races as part of the V8 Supercars weekends(although it has less races, so it doesn't use ALL the races) so you're always able to attend both.
Ultimately there are also some races for which you don't have to sign up for the whole season, like "Le Mans". So if you're a busy F1 driver fancying a yearly ride at the 24 hours, you don't have to pay for the whole World Endurance Challenge season(but you're also not getting any championship prize money then).
The Racing Weekend
The program doesn't really dictate how the weekends look or what kind of rules apply to the series, you can choose all of it yourself. However, it gives you an indication of the length of the race, e.g. "Short", "Medium", "Long", "Endurance", "12h", "24h". I'd recommend you to set an approximate time to which this shall correspond, e.g. "short" = 20 minutes, "long" = 1h, but that's ultimately up to you. You can also go badshit crazy and actually do the original lengths if you want. Generally, the length of races for a series is mostly the same, but some races might differ (for example all V8 Supercars races are "long", except Bathurst, which counts as "Endurance")
Testing
There's an official test the week before the first race, but you can also go testing once per week wherever you want, well, if you can afford it!
Future Outlook
Possible future components are:
Here you can see how it looks at the moment. I have not payed any attention to design issues yet, merely trying to implement logic and a basic layout structure, which is why the sort and filter buttons on the top are that ugly, this will to a certain degree change, but don't expect a highly modern design. The table itself is more representative though: simple but functional
This is how the cars look as a table in excel, as you can see, it's quite easy to add new cars.
Below is a "coding"-example from how a season might look. You can see the venues, the length of the races and the week of the year in which the event occurs.
And for people who wonder how the code of the software itself looks, maybe as an indication of my level of skills, heres a snippet of that as well. Bear in mind that the code so far is quite unstructured and completely undocumented, due to the fact that I'm basically learning programming "on the go" here. Before the release, I will properly format and document the code, so it's easier for other programmers to work on it as well
Tag, you're it!
And now it's your turn! Let me know what you think, what you expect and what you'd like to see. Let me also know whether you're actually interested in this. I'm open to honest criticism. I'm aware of all of the downsides of the product, so don't hold back
as someone who has been playing racing simulators for nearly a decade now, something has always been missing: (A girlfriend?) A long-term motivation like it was found in the early Gran Turismo games, the feeling of buying and owning cars, racing for a reason, climbing through the stages of motorsport, earning licenses etc. While most modern racing simulator-creators will spend loads of money and weeks on getting the air pressure simulation of the tyres right, none of them really seemed to care about this part of the experience. This ends today! Well... soon! Hopefully! Because I'm working on a free and simple(and ugly) software which simulates this career, embedding all common simulators to buy cars, race championships and ultimately work yourself through the ranks of racing. While this is in a quite early stage, I am at a point where I'm confident to be able to finish it over the course of the next months and release an early version even sooner.
A warning
Just to make it clear from the get go: I'm a Bachelor's student in psychology. My programming experience therefore is limited to one 5 credits "Python"(a high level programming language) course I recently had. While I will be perfectly able to make the program function well, not only will it be quite ugly and unprofessional, it also won't be able to just "read out" the results from your races, you actually have to keep track of the championship standings inside the game(AMS, AC, RRR) or on paper(rf2) and then type in the position you scored in as well as the damage your car had into the software, so it can calculate all the relevant measures. The uglyness as well as the amateurishness might take away a lot of the feeling for some people and therefore make it uninteresting for them, but it's the best I can offer with my limited skills. If there's a more talented programmer out there that is able to implement these things or even port the whole software to C/C++, you're good to go! But all programmers keep in mind that the code will be structured amateurish as well, I'm not even using classes, just functions(although that doesn't make a functional difference, it might make it less appealing for programmers).
What it offers
Racing yourself through the career ladder, signing up for different racing series, going through cycles of seasons. And the best thing: Everything is moddable. The car list as well as the different racing series are saved as csv files, so as tables, which means that you can add your favorite cars and racing series and combine different games. You're not set to just one simulator. So if you prefer the F1 cars in Assetto Corsa over the ones in Automobilista, just use them.
Buying, owning and selling cars
Now, we all know that owning things doesn't make you happy, but getting new things does, it's just that these things wear off after a while. This feeling is replicated by the need to buy cars in one of the 2 car stores: The normal car dealer offers you the possibility to buy any modern race car available at a fixed price, while the historic dealer once per year gets some of the finest old machines at different prices. You then have to decide: Is this a good offer? Should I wait and hope that there will be a better one sometime over the next years? Or might this car not be sold for a while, so I better get it now, because it's just awesome so who cares about it being overpriced?
You can also sell your cars, but each year the value will decrease a bit.
Repairing Cars
Ever needed an incentive not to crash your car? How about: You gotta pay, dude! Parts like engine, suspension, front wing, side pots etc. can be damaged in most games and depending on how damaged they are, you have to pay either for repairing or replacing the part. This works better in some games, in rf2 and AMS for example, two levels of damage are indicated directly, in case of AC it's less clear due to the gradual damage, in case of RRR, there's not enough damage so that this would normally apply. The ugly downside here again: You have to keep track of the damages manually and then indicate it to the software by simply typing it in. Sounds stupid, but on the other side: It's a bit like ordering new parts
The career ladder
There are two ways to categorize racing levels here: The "stages", from A to F, represent different amounts of money you have to spend for a season including the money for the car and the sign up for the season as well as races. Normally this also corresponds to: The more expensive the racing series, the higher it is, but ultimately it's up to you to decide which one you regard as the most challenging or interesting one. But there's a second system:
Getting Licenses
Some racing series require you to get a license, some will also give you a license in return if you finish well. From bronze to platinum, everything is covered, there's even a super license you have to get for Formula one. I might extend this feature later on to include specific tasks and even instructional videos as a requirement to get certain licenses.
The season
For simplicity, the season consists of 12 months with each 4 weeks(so, it will not keep track of the days). I've written an algorithm that customly creates a season every year, based on a list of tracks provided for each series. These include "permanent" races that are there every year, for example "Monaco" in F1, but they also include a set of optional races, that will be drawn newly every year. Some races even have indicated spots in the season, for example: Melbourne will always be the season opener in F1(although the week itself is not set). Every series also has a set timeframe, meaning: From when to when does it race. The algorithm then randomly spreads the races over the months.
Signing up for a season as well as for their individual races costs money, but both also will bring you prize money at the end of the year and the race. While you can generally sign up for as many racing series as you can afford, always bear one thing in mind: You can only race at one venue per weekend! This means that you might have to decide between attending two races in two different series once or twice per season(like Buemi had to last year). Elsewise, just sign up for two series that share a calendar: The Australian Porsche Carrera Cup for example does it's races as part of the V8 Supercars weekends(although it has less races, so it doesn't use ALL the races) so you're always able to attend both.
Ultimately there are also some races for which you don't have to sign up for the whole season, like "Le Mans". So if you're a busy F1 driver fancying a yearly ride at the 24 hours, you don't have to pay for the whole World Endurance Challenge season(but you're also not getting any championship prize money then).
The Racing Weekend
The program doesn't really dictate how the weekends look or what kind of rules apply to the series, you can choose all of it yourself. However, it gives you an indication of the length of the race, e.g. "Short", "Medium", "Long", "Endurance", "12h", "24h". I'd recommend you to set an approximate time to which this shall correspond, e.g. "short" = 20 minutes, "long" = 1h, but that's ultimately up to you. You can also go badshit crazy and actually do the original lengths if you want. Generally, the length of races for a series is mostly the same, but some races might differ (for example all V8 Supercars races are "long", except Bathurst, which counts as "Endurance")
Testing
There's an official test the week before the first race, but you can also go testing once per week wherever you want, well, if you can afford it!
Future Outlook
Possible future components are:
- Sponsors based on your experience with the cars and in the region you're driving.
- a categorization algorithm that adjusts the different Ai strengths in Assetto Corsa over time, so you can race the AI on an equal level with vastly different cars.
- A team championship prize pool, however I'm not sure how to really implement that yet, because the user obviously shouldn't be able to choose his teammate, or elsewise that one will be too good.
- Implementation of pictures: For the cars and the championships, pictures would give a better feeling, however the time it takes to format them exceeds my available time at this point. Also, it would make modding more difficult, as every added car and series would also need a properly formatted picture with it.
Here you can see how it looks at the moment. I have not payed any attention to design issues yet, merely trying to implement logic and a basic layout structure, which is why the sort and filter buttons on the top are that ugly, this will to a certain degree change, but don't expect a highly modern design. The table itself is more representative though: simple but functional
This is how the cars look as a table in excel, as you can see, it's quite easy to add new cars.
Below is a "coding"-example from how a season might look. You can see the venues, the length of the races and the week of the year in which the event occurs.
Tag, you're it!
And now it's your turn! Let me know what you think, what you expect and what you'd like to see. Let me also know whether you're actually interested in this. I'm open to honest criticism. I'm aware of all of the downsides of the product, so don't hold back