Here are some explanations / hints about the racing modes you can enjoy in Speed Dreams.
In the game, you can choose your racing mode through the "Select Racing mode" menu, fired by the "Race" button of the main menu.
Once you've chosen you racing mode, you get to the "Race preview" menu, where you can have a first idea of how the race mode is currently configured.
You can :
- Configure the current race mode (see later),
- Save the current race mode "configuration" to a file,
- Load a previously saved race mode configuration from a file (and thus preview it),
- Start a "new instance" of the current configuration of the race mode,
- for multi-event race modes, that can be interrupted, if there are intermediate results available, Load these results (and thus preview the current state in the mode),
- when you have loaded a multi-event race mode results file, you can Resume the race mode instance at the point you had interrupted it.
Definitions :
- a "racing mode" is a set of predefined racing rules that may or may not try to mimic real motor-sport racing,
- an "event" is, like in real-life, happening some day or some consecutive day on a given racing place (a track),
- it may or may not be split in multiple race "sessions" (like the qualifications, main race, ... etc).
In Speed Dreams, the racing modes are arranged in a 2-level tree : now you understand what the combo-boxes of the menu are for ;-).
Racing modes are more or less user-configurable ; this is done through the following menus :
- Track selection : select the track to race on,
- Drivers selection : select your car and AI opponents,
- Options : customize some more stuff (like the weather condition, time of day, race length, display mode, ...) for all and / or each of the sessions of each event of the racing mode.
Some racing modes are more or less open to user-configuration : some may enforce the list of tracks you'll race on, or limit the usable cars to some category, or ...
WIP : Any contribution is welcome :-)
Practice
Here you can only race alone on 1 track (no opponent), inside a unique race session, in order to ... practice.
Apart from that, everything is fully user-customizable : the track, the racer (human or AI), the car category, all the options.
The "Results-only" display mode, only possible when the racer is an AI one, doesn't show any graphics when the race is running, and thus runs many times quicker than the normal mode ; it is often used by the robot tuners to tests their setup tweaks.
The results menu at the end of the session gives a lap by lap breakdown of times/damage/etc.
Quick Race
Another simple racing mode, nearly the same as the "Practice" one, but even more open : here you can enjoy races with up to 40 competitors.
The results menu at the end of the session gives a driver by driver breakdown of times/damage/etc.
On-line Race
Note: We might not release it in 2.0, as it is probably not usable yet.
Should be quite similar to the "Quick Race" mode, but with human opponents over the Internet.
An on-line race actually use multiple instances of Speed Dreams, each one running on 1 computer :
- the "server" actually direct the whole thing, simulate all the AI opponents, and can have 1 human racer,
- the "clients" only have 1 human racer, and receive the necessary data from the server and other clients in order to display the expected 3D world.
Single Event
Here come more constrained single-event, often multi-session modes : these are closer to real-life racing, limited to 1 only event at a time. * the "Endurance" sub-mode does what its name suggests : an endurance event with a 3 lap qualification session and then a 500 km race, * the "Challenge" sub-mode is like an old-fashioned DTM event : a 3 lap qualification session, then a 50 km sprint race, and finally a 180 km main race.
Many things are open, like the track to race on, the AI opponents and the car categories.
Championship
More and more closer to real life racing, championship modes can be defined as a sequence of "Single-events", running along a whole racing season.
Things are more constrained in the way that you can no more choose the tracks on which you'll race : they are predefined, just as in a real-life season.
The 3 sub-modes we currently have differ mainly on the target car categories :
- the "All Classes" one is open to whatever car category you like (you can choose and even mix the ones you like),
- the "Supercars" ones is only open to Supercars,
- the "MPA1" (not released in 2.0) is only open to MPA1 cars.
Career
The most complicated mode we have, introduced in 2.0, probably in a non-totally finished state.
It simulates the all-life-time career of a fictive racer (you, the gamer) and other AI racers, in a sequence of multiple seasons, multiple car classes per season, multiple leagues for each car class. The racers run on different cars in the same season (they participate to multiple leagues). As in a real-life career, they may access to faster cars as seasons pass by.
WIP : This really needs more detailed / structured explanations
Here are some tips, mainly from Mart :
- A career uses different classes of cars. Examples of classes are Supercars and LS1.
- A class can consist of different leagues (aka "championships", or "groups" in the code). The LS1 class has one league; the Supercars class has two ones. They are called "Supercars_A" and "Supercars_B".
- Every class (and thus every league) can use different comparable cars. In theory, a human driver can get promoted inside his class to a better car. Practically speaking, this doesn't always happen (for the moment) because the simpler physics engine (named "SimuSimu?") often used to accelerate the game doesn't take the car into account (for the moment).
- If you have 3 human players in the drivers list (from the Driver Select menu), you will start a Career with 3 human players. Mart's thought someday was to use the robots to determine the number of opponents in every league or the type of opponent (e.g. switching between USR and Simplix), but for the moment, you can only select human drivers from the Driver Select menu, and all opponents are Simplix drivers.
- The opponents in a Career are really different than in the other racing modes. For example, career opponents drive every season in a different car, can drive in a different league after a year and things like that.
- The opponents are not distributed randomly over the teams. At the start of the season, a complete order by class is built-up, based on the previous season. Then the best drivers are placed in the "highest" league, the other ones are interleaved in the leagues of the class right below the highest one.
- The most important is that the races are interleaved :
- first a race day in championship A,
- then a race day in championship B,
- and so on among all the leagues for day 1,
- when all leagues are done for day 1, then begins day 2 for championship A,
- and so on.
- a race day consists of multiple race sessions : generally a Practice session first, then a Qualification session, then a "Fisrt race" and then a "Second race".
- The tracks are randomly chosen from the allowed tracks at the start of each season. That way, different leagues of the same class drive on different tracks.
- It is always possible to start a new career. The career is then really new and has nothing to do with the other careers. A career can also be continued, by resuming it in the Career race manager menu. If you continue a career, it should proceed where it was left (including the same track).
- The results of last season make the order on the starting list. In the first season, human opponents are last on that list. The order of the first race is determined by qualifications. The starting grid of the second race is the first 8 of the first race, but with reversed order. This is configurable, just as for a normal championship.
- see also #330 (D16, finish Career mode for 2.0).
And a raw copy of some personal mails exchanged between Mart and Jean-Philippe.
Hi Jean-Philippe,
Op vrijdag 4 februari 2011 23:04:39 schreef u:
Hi, Mart. I'm currently trying to resurrect the Career mode, after all my changes in the race selection / configuration menus have broken it (I'm sorry, didn't realize until now how differently it is working when compared to the other race modes). So, I have 2 questions (probably only the first ones of a longer list :-) : - I understand that when you "start" a Career race, you actually start a life-time career of a racer. - this career is a sequence of races on SC cars, and then another sequence of races on LS1 cars (for the moment it stops there, I assume this is WIP)
The exact settings of the career are configurable.
- these sequences are completely defined by the "subfiles" career_XXX.xmls - but if a gamer wants to interrupt his game session for day or 2, and then get back to his career ... how is he supposed to do ? * was it through the loading of a <career result>.xml file, with the "Load" button of the raceman menu (before I reworked it), just like it works for the championship race mode ?
There is a global career file, containing the race day and current championship. With that information, the right championship is opened.
* is the current career state saved elsewhere ?
The whole logic about loading the races are in racecareer.cpp. In that file you can read most of the file-logic. It is basically a normal championship, but there are differences (for instance, at end of season new leagues are formed). Most important is that the races are interleaved: first a race day in championship A and when it finished it continues with the other leagues. If are leagues are done, then it goes back to day two of championship A.
Saving a career works just like a championship, because every league is in fact a championship. In the main career-file, the race day and current championship is recorded. Every league has its own xmls file (xmls such that they do not show up when searching championships).
- and when configuring his career at he beginning (just before "starting" it), the only configurable thing is the list of opponents (Driver Select menu).
The drivers list is mostly ignored, besides the human players. If you have three human players in the drivers list, it will start a career with three human players. My thought someday was to use the robots to determine the number of opponents in every league or the type of opponent (e.g. switching between usr and simplix).
- shouldn't the only selectable opponents be the drivers of the Super cars, as the career starts by a :SuperCars? season ? (for the moement, you can choose the one you want, even LS1 or 36GP drivers, but may be I broke something that was doing so before ...).
As in the previous point, non-human opponents are ignored.
Regards, Mart
Hi Jean-Philippe,
Op zaterdag 5 februari 2011 19:33:03 schreef u:
Well, I understand more, ... but not enough. Because reading the code is quite hard (no that many comments ;-). And because the career mode currently doesn't work in its whole (and I don't know what works and what doesn't), so I can't even try to understand what it is happening when playing with it ... So, may I ask my questions another way : from the end-user point of view ? OK, I understand how to start a new career (click on the start button ;-). Now let's imagine I started one, and interrupt it in some way ... 1) how can I do that ? are there moments in the game when I can do that ? in which menu do I come back then ? the Raceman menu (the preview one) ?
You can do that at the same moment as in a championship: at the end of each race day. If you do so, the championships files are saved and you are able to go back by loading the career file.
2) in which XML(S) files the current career state is saved ? in the main career.xml one ?
Career.xml is the main entry file. It contains a list with subfiles (the classes part), the maximum number of cars (RaceConfig/Cars) and opponent name generation.
The subfile of it are for example named career_ls1.xmls. Every class of the career has such a file. At the start of the season, this file is used as base for leagues. League files are just like normal championships, including a list of opponents. Those files are named params-<data>_<class>{league indication if relevant}.xmls.
in its sub-files ? in result/*.xml[s] ? Could you explain the exact role of each of these numerous files ? - params-<date>_<class>.xmls - params-<date>_<class>_A.xmls - params-<date>_<class>_B.xmls
The params file are an instance of an xmls file such as career_ls1.xmls. It contains similar data as a normal championship, including opponents, cars, track list.
- results-<date>_<class>.xmls - results-<date>_<class>_A.xmls - results-<date>_<class>_B.xmls
This are the result files of the params files with a similar name. This files are comparable with the championship result files.
- results-<date>.xml
This is the results' main entry point. It contains information about the current result subfile and the current championship (the league in which the next race is hold) and the season number. This file is read can be loaded to continue an interrupted championship.
3) then, after some days at work with no time for racing, I have at last some hours of free time, and I want to go on with my career. So I startup my PC and startup SD. Can you explain how to go on with a previously started career ? Is it automatic when I click on the start button ? Doesn't the start button restart a NEW career ? Shouldn't it be possible to select some career file somewhere after clicking on the Load button (just as for a championship one can load a result file) ? If so, which precise file ?
A career can be continued by loading the main result file.
Then, another concrete question : is there a natural / relevant way (that is logical for the user) to have consistent informations displayed on the Raceman menu (track and list of racers) ? I mean: consistent with the current state of the career ? I mean in the 2 following cases : 1) no career actually started, 2) multiple career actually started, and saved (I suppose so, but where) different sets of files.
The already saved careers can be found at ~/.speed-dreams/results/career/*.xml (it is why all the other files there are named .xmls).
There is a global career file, containing the race day and current championship. With that information, the right championship is open.
Which precise file (name / folder) please ?
The results file which is used to continue a career.
The whole logic about loading the races are in racecareer.cpp. In that file you can read most of the file-logic. It is basically a normal championship, but there are differences (for instance, at end of season new leagues are formed). Most important is that the races are interleaved: first a race day in championship A and when it finished it continues with the other leagues. If are leagues are done, then it goes back to day two of championship A.
Do you confirm that the order of the races has nothing random and is simply read from the .xmls file for each class/league ('cause for now, it is not clear as it works strangely ... may be because the career_ls1.xmls file is WIP) ? (of course, apart from the race/leagues interleaving)
The tracks are chosen randomly at the start of the season. It is stored in the params files.
Saving a career works just like a championship, because every league is in fact a championship. In the mean career-file,
What is this "mean career-file" ? where is it ? What name ?
The main file is career.xml. It contains information about the classes in that career. There can be more then one main career.xml file, for example a career for historic cars and a career we currently have.
The drivers list is mostly ignored, besides the human players. If you have three human players in the drivers list, it will start a career with three human players. My thought someday was to use the robots to determine the number of opponents in every league or the type of opponent (e.g. switching between usr and simplix).
- shouldn't the only selectable opponents be the drivers of the Super cars, as the career starts by a SuperCars season ? (for the moment, you can choose the one you want, even LS1 or 36GP drivers, but may be I broke something that was doing so before ...).
As in the previous point, non-human opponents are ignored.
As for this point, I'm currently adding some filtering in the driver select menu in order to avoid these strange things (having choice among drivers, of which many will at the end be ignored ... not very user friendly).
That is correct: if you are going to make new menus, there is no need to choose non-robots. Maybe there should be a "maximum number of cars per race" and "number of cars per class" option such that users can select a lower number of opponents if their computer has too low fps.
I really need your help to go forward ... thanks in advance :-) Regards, Jean-Philippe.
Regards, Mart
Hi Jean-Philippe,
Op zaterdag 5 februari 2011 20:19:20 schreef u:
Hi, Mart.
Thanks for your quick answer.
I'm currently trying to resurrect the Career mode, after all my changes in the race selection / configuration menus have broken it
In more details, as you probably noticed, my changes consisted in introducing a new tgfdata library (see #329). For the moment, it is nearly only used in the race configuration menu set (race select, raceman (preview), track select, driver select and race params). It is also but very locally used in the race engine, and I'd like it stay as is as long as I don't completely master the race engine ;-) From your answers, I understand that I have some slight enhancements to do in tgfdata, but nothing heavy or difficult.
There is a global career file, containing the race day and current championship. With that information, the right championship is opened. ... It is basically a normal championship, but there are differences (for instance, at end of season new leagues are formed). Most important is that the races are interleaved: first a raceday in championship A and when it finished it continues with the other leagues. If are leagues are done, then it goes back to day two of championship A. Saving a career works just like a championship, because every league is in fact a championship. In the mean career-file, the race day and current championship is recorded. Every league has its own xmls file (xmls such that they do not show up when searching championships).
I'll dig into racecareer.cpp, but this is already very clear to me now. Thanks.
- and when configuring his career at he beginning (just before "starting" it), the only configurable thing is the list of opponents (Driver Select menu).
The drivers list is mostly ignored, besides the human players. If you have three human players in the drivers list, it will start a career with three human players. My thought someday was to use the robots to determine the number of opponents in every league or the type of opponent (e.g. switching between usr and simplix).
- shouldn't the only selectable opponents be the drivers of the Super cars, as the career starts by a SuperCars? season ? (for the moement, you can choose the one you want, even LS1 or 36GP drivers, but may be I broke something that was doing so before ...).
As in the previous point, non-human opponents are ignored.
OK, so I'll probably filter-out the others in case of a career race, in order to make things clear to the end users. But in the future, wouldn't it be more consistent with the rest of the game (and so, easier to understand by the end-users) if the opponents where also configurable ? Because, AFAIU, the "people" behind the drivers are enforced in the career.xml file ... of course, I suppose they are assigned different cars whether the current race is part of the SC league or the LS1 league (but how is it chosen ? randomly ? from the driver belonging to a given team ? but where the driver is assigned to a team ?)
The opponents of career are really different then in the other modes. For example, career opponents drive every season in a different car, can drive in a different league after a year and things like that. The main reason to generate opponents for career was the number of opponents which are necessarily. Currently, there are three legues with 15 cars, and thus 45 opponents. Nobody want to select 44 opponents to find out only the name of that opponent is used.
The way opponents are distributed over the teams is not random. At the start of the season a complete order by class is made based on the previous season. Then the best are placed in the highest league, the other are interleaved divided in the leagues of the class below.
That way, the end user would know about "drivers" (fictive people) that he could race against in any race type (career or not) ? Note: May be the career way has to replace the old way ? Or the other way round ? Could you explain the driver naming scheme ? - What are these names in career.xml ?
The names were words for the dutch library. Because there are potentially a lot of opponent names generated and I don't want to go into the legal trouble of driving against famous people. I think this works quite well for non-dutch speakers, so I replaced it today by latin words, since there are very limited people that speak latin.
The greatest common divisor of the numbe of first names and the number of last names must be 1.
- Are they assigned to robot drivers ?
A first name and a last name is concatenated to form the name of a career opponent.
Oh ... and could you tell me what you consider as done and what you consider as TODO for the release ... I can see 'bt' drivers in career_supercars.xmls, assuming this is WIP ... but are there other things needing work ?
The main part for career is fixing bugs and skilling of simplix cars. I thought I already replaced the bt opponents by simplix ones.
The other think we might want to look is the configuration of the career. There currently are quite some settings in the career files, and some of them are quite random. It is possible to make a better career mode by optimizing those settings.
Thanks and regards, Jean-Philippe.
Regards, Mart
Hi Jean-Philippe,
Op zaterdag 5 februari 2011 20:30:31 schreef u:
Mart, Sorry to spam you ... new questions, after looking again at career_supercars.xmls : - What are the "Tracks" and "Allowed Tracks" sections for ? When are they used ?
At the start of easy season the tracks for that league is determined. It can differ by league such that it is possible to only allow kart-tracks in a kart track and to disallow kart-tracks on a SuperCars championship. Another reason for this list is to avoid races on Spring, because they take too much time because of the length of the track.
- In the "Drivers" section, there are "bt" drivers, whereas bt is not even compiled or installed in the current build system ... but yet, races are started and run when you lick on the Start button ... ???
The opponents of the career should be simplix ones.
What is the normal driver selection scheme in order to build the starting grid (1) on the 1st race, 2) on the races after the 1st one) ?
The results of last season make the order on the starting list. In the first season, human opponents are last on that list. The order of the first race is determined by qualification. The starting grid of the second race is the first 8 of the first race reversed. This is configurable just as in a normal championship.
Cheers, Jean-Philippe.
Regards,
Mart
Hi Jean-Philippe,
Op zondag 6 februari 2011 18:16:08 schreef u:
Hi, Mart.
Happy to see that your hand wound is now close to full recovery.
Thank you. I must say it is not really close as it is expected to take another five months before I can do my favorite sport again.
Wow ... will be very long (but isn't it good news for SD ;-?)
I still watch all the games of my team and I will restart refereeing over some weeks (if I am able to lift my arm). Until that it is certainly good news for speed dreams.
- What are the "Tracks" and "Allowed Tracks" sections for ? When are they used ?
At the start of easy season the tracks for that league is determined. It can differ by league such that it is possible to only allow kart-tracks in a kart track and to disallow kart-tracks on a supercars championship. Another reason for this list is to avoid races on Spring, because they take too much time because of the length of the track.
Still not clear for me : - why speak about karts when we are looking at the "Supercars" league file : career_supercars.xmls ?
The career code is quite general, the supercars only appear in the configuration of the career we currently have. That means that we can add a kart-class before the supercars if we want. If we have enough kart-track and kart-cars, I consider that a good idea because most racing careers start on the kart-track.
And then again, how the 1st track of the 1st season is determined ? Because as for now, I can read in career.xml that the 1st subfile is career_supercars.xmls ; so I open it and see that the 1st track is g-track-1 ... and ... when I start a new career (after cleaning up my result folder) ... the first track that appear is Prenzlau !
The tracks are chosen random from the allowed tracks at the start of each season. That way, different leagues of the same class drive on different tracks.
Sorry to ask again, but it doesn't seem to work as you explain (a bug ?). And ... what do you call a "league" ? Until now, I was believing it was some kind of championship on 1 specific car set for a whole season, but now I have doubts ...
I didn't use the names correctly all the time. I will explain them: * A career consist of different classes. Examples of classes are Supercars and Touringcars. * A class can consist of different leagues. sometimes called championships by me. The ls1 class has one league; the supercars class has two, They are called league Supercars_A and Supercars_B. I see I called a league a group inside the code. * Every class (and thus every league) can contain different comparable cars. In theory you can promote inside your class to a better car. In practice this doesn't always happen because simusimu doesn't take the car into account.
Some other questions : - I can't find in the code any place where the Header/SubFiles/first subfile field of the career.xml file is read ... this seems very strange to me ... and doesn't match what I had understood about how the tracks are chosen for the first season ...
For a next season, tracks are set in ReCareerNextTracks? in racecareer.cpp:855. For the first season, a previous season is created and that created season is used as base for ReCareerNextSeason? (racecareer.cpp:511).
The subfiles are an enhancement of the race engine. The next subfile is loaded in racemain.cpp:876.
- it seems that the career mode behave differently once 1 career has been started ; in other words, if I start SD and start a new career, then interrupt the career after some races, then quit SD, the restart SD, then start a new career ... the first track is not the same ; if I cleanup the results folder, and then start a new career, I get back to what I expected.
There might be some problems if two careers are started within a minute, because it then reuses files it should create. Normally, all files in the career-folder contains a date and files with other dates should be ignored.
It is always possible to start a new career. The career is then really new and has nothing to do with the old career. A career can also be continued. If you continue a career, it should proceed where it was left (including the same track).
Does this means that career doesn't work like normal championships, for which you need to load a result file in order to resume the championship at the moment you had interrupted it before ?
Yes, you should load the result to continue the career. Maybe this issue is about skipping screens. In career-mode, screens of leagues not containing humans are skipped because it doesn't make sense to see the results of another league. Maybe that doesn't happen when resuming and you see the track of the next league.
If so, would it be simple in your opinion to get back to the following behavior (for end-user easy understanding, and for easier menu logic implementation) ? - in the race select menu, the start button _always_ start a new race mode from the 1st expected event; - the save button allows you to save the _configuration_ of a race mode, and NOT the current state of 1 instance (created by clicking on start) of a multi-event race mode
I think the "Save" button for careers is pretty useless, but I think users want to see that option. I think it always saves after a race day for technical reasons (not all leagues are in memory all the time).
- the load button actually : * loads a saved race mode configuration for mono-event race modes (the exact counterpart of "save" button) * resumes an interrupted multi-event race mode _instance_ at its current state, as saved previously in the results file you must select after clicking on load. In this case, we should probably rename it to "Resume", I agree. Or do you have another proposal ?
Do you think users want to actually save the configuration of a career? The last configuration is stored and I think normally not a lot of careers are created as it makes more sense to continue your interrupted career.
Regards, Jean-Philippe.
Regards,
Mart
Hi Jean-Philippe (and others),
Op woensdag 9 februari 2011 16:32:03 schreef u:
Hi, Mart.
The career code is quite general, the supercars only appear in the configuration of the career we currently have. That means that we can add a kart-class before the supercars if we want. If we have enough kart-track and kart-cars, I consider that a good idea because most racing careers start on the kart-track.
I agree about the need for having one day a career start on karts, this is no the issue at all. Could you simply explain when tracks in these 2 lists are actually used ? Your answer suggests that the "Allowed Tracks" list is about the full list of tracks a racer might race one day in his whole career, whatever the league. If so, why repeat this "Allowed Tracks" in all the career league files (career_*.xmls) ? the "Tracks" lists in the master career params file (career.xml) could well do the job ... Just to avoid duplicates in the data model, and moreover in places where it should not be (for the sake of understanding). But may there's some tricks here done in order to make the implementation simpler ? Or else the "Allowed Tracks" lists can actually be different for each league ... which would perfectly justify it. Is it such ? But then, again, what's the "Tracks" list (in every .xmls file) for ?
All those files are xml, which means it is valid to add keys that aren't used. I think there are quite some keys which could be removed, because most of the files are copied from the championship and modified from there. I think that it the case for all the Tracks parts in career* files. It is also the case for starting grids and driver list of all career* files except career.xml.
I wrote most of the career as a working copy of Torcs CVS. That means that history isn't preserved and that during develop I must be very careful with removing things (so usually I comment things out). That also means lines can survive which should have been deleted.
And then again, how the 1st track of the 1st season is determined ? Because as for now, I can read in career.xml that the 1st subfile is career_supercars.xmls ; so I open it and see that the 1st track is g-track-1 ... and ... when I start a new career (after cleaning up my result folder) ... the first track that appear is Prenzlau !
The tracks are chosen random from the allowed tracks at the start of each season. That way, different leagues of the same class drive on different tracks.
OK, bad news for my race config preview ... something to think more.
If you want to show all tracks of the season it is a pre-season event. So maybe hack that screen in for the first race of every season. Showing the tracks before starting the career doesn't make sense because the tracks for the second season cannot be known. The list of all tracks where the user will drive is countable infinite.
- I can't find in the code any place where the Header/SubFiles/first subfile field of the career.xml file is read ... this seems very strange to me ... and doesn't match what I had understood about how the tracks are chosen for the first season ...
For a next season, tracks are set in ReCareerNextTracks? in racecareer.cpp:855. For the first season, a previous season is created and that created season is used as base for ReCareerNextSeason? (racecareer.cpp:511). The subfiles are an enhancement of the raceengine. The next subfile is loaded in racemain.cpp:876.
Well, that was not my question ... I had hoped you'd save me from digging hard into the code :-( May I ask it another way : so "Header/SubFiles/first subfile" is useless ?
Grep is very good is this kind of questions: $ grep "first sub" src/interfaces/* src/interfaces/#raceman.h#:#define RM_ATTR_FIRSTSUBFILE "first subfile" src/interfaces/raceman.h:#define RM_ATTR_FIRSTSUBFILE "first subfile" $ grep RM_ATTR_FIRSTSUBFILE src -r | grep -v "\.svn" src/interfaces/raceman.h:#define RM_ATTR_FIRSTSUBFILE "first subfile" src/interfaces/#raceman.h#:#define RM_ATTR_FIRSTSUBFILE "first subfile"
So your conclusion is correct.
I think the "Save" button for careers is pretty useless, but I think users want to see that option. I think it always saves after a race day for technical reasons (not all leagues are in memory all the time).
OK, understand. And confirm that this is already the same for championships : the results are automatically saved between the sessions of a same event (on 1 track), but it seems to me they are not at the end of and event (unless you click on "save") ... I'll propose improvements for that, after all, auto-saving should always happen, at least when technically need, and when the user wants to interrupt his championship / career ... in order to get back to it some days later.
I don't think championships are automatically saved, but I could be wrong with that. You can see the career mode as an extension of the championship mode, so I copied the behavior of championships wherever possible.
I don't think it is a good idea to allow saving during the race day, as that will allow racers to cheat by restarting the race (if you can't save you also need to re-qualify which should reduce the attempts to save). The championship (and racing in general) is about driving constant for a long time, so too risky actions should not be rewarded.
I was not clear enough : I agree with you, it is probably quite useless to be able to save a Career startup _configuration_ (because this configuration is limited to the human player(s), and may be soon to something like the "max number of racers" per class, and the "max number of racers" per race, as you previously asked me). I was actually speaking about loading a master career _results_ file (just as you can load a championship results file) and resuming _this_ career instance where it had been interrupted. But you probably give the answer below :
It is always possible to start a new career. The career is then really new and has nothing to do with the old career. A career can also be continued. If you continue a career, it should proceed where it was left (including the same track).
Does this means that career doesn't work like normal championships, for which you need to load a result file in order to resume the championship at the moment you had interrupted it before ?
Yes, you should load the result to continue the career. Maybe this issue is about skipping screens. In career-mode, screens of leagues not containing humans are skipped because it doesn't make sense to see the results of another league. Maybe that doesn't happen when resuming and you see the track of the next league.
But it is unclear to me : can you confirm me that the way the race man menu should work (at least up to now) for the Career mode is such : - the "Start" button starts a brand new career (instance),
Correct
- the "Load" button opens a file select menu in the "<local dir>/results/career" folder, only shows .xml files, that is "master" results files, and when you select one and click on the "Load" button, SD resumes the selected Career when it had been interrupted ?
Also correct. Note that this behavior isn't changed when copied from the championship (I only modified the technical infrastructure behind it).
In other words, can you confirm that, at least for the Start new / Resume scheme in the raceman menu, it is right the same behavior than for a championship ?
Correct.
Thanks in advance for your help. Cheers, Jean-Philippe.
Regards,
Mart
Attachments
- racemodeselectmenu.jpg (31.1 KB) - added by pouillot 2 years ago.
-
driversselectmenu.jpg
(41.4 KB) - added by pouillot
2 years ago.
The Drivers Select menu
-
raceparamsmenu.jpg
(26.8 KB) - added by pouillot
2 years ago.
The Race session options menu
-
racepreviewmenu.jpg
(31.0 KB) - added by pouillot
2 years ago.
The Race Preview menu
-
trackselectmenu.jpg
(27.8 KB) - added by pouillot
2 years ago.
The Track Select menu

