1. Trouble with the game?
    Try the troubleshooter!

    Dismiss Notice
  2. Issues with the game?
    Check the Known Issues list before reporting!

    Dismiss Notice

Rally Mode Feedback Thread

Discussion in 'General Discussion' started by dirtwheel, Nov 21, 2024.

  1. femboybassist

    femboybassist
    Expand Collapse

    Joined:
    Oct 13, 2024
    Messages:
    8
    No etk I rally car in the rally car selector
     
    • Like Like x 1
    • Agree Agree x 1
  2. SPittlebug

    SPittlebug
    Expand Collapse

    Joined:
    May 14, 2023
    Messages:
    77
    this is great news! of course we will need real audio notes of some kind.

    i would like to add something on how we understand pacenotes here, i think most people coming from other sims are used to the 1-6 standard where 1 is a tight corner and 6 is almost flat. this is good and is what most people would use, but in reality every driver and codriver will have their own system for indicating the corners, while most still use the 1-6 method, there are other systems to indicate corners that are completely different, like for example using 1-9 numbering or even using deegrees instead so a 30° turn would be called as a "left 30".

    anyway just using the 1-6 is great already! but as far as my understandig goes this tool can be adapted to any pacenotes system out there or even customized.

    i can't wait to see how stuff will be implemented in the future, but i'm sure it will be great times for rally enthusiasts, and that this will become the best rally sim ever made, as it has all the potential.

    in the meantime i have made a quick tutorial on how to create a rally stage, i hope it will be helpful.

     
    • Like Like x 5
    • Agree Agree x 1
  3. dirtwheel

    dirtwheel
    Expand Collapse
    BeamNG Team

    Joined:
    May 31, 2023
    Messages:
    75
    Here's a nice tutorial on how to make stages
    Thanks for making the tutorial!! SPittlebug is an AI pacenotes veteran and knows the ins and outs of making stages.
     
    • Like Like x 2
  4. Leo Zieger

    Leo Zieger
    Expand Collapse

    Joined:
    Jan 12, 2023
    Messages:
    827
    Now that we have rally stages and stagenotes for single rally-stages, there is the possibility to link them together to a rally.

    So I suggest to link all the rally-stages in a map together to make a proper overall time. In rally-mode you would automatically start the next stage after you finish the previous one. Time of day settings of each stage could be different so you have a proper day-and-night-cycle throughout the rally.

    I suggest 2 modes:
    1) amateur: reset, retry in stages and car repair and saving between stages allowed
    2) pro: you have to drive all the stages in one go. This would require some functionality to carry over damage from the previous stage.

    If you have a lot of stages, these could be split in "days" or "stints" like in Track Broseff´s rally projects, so you don´t have to drive 20 stages in one go without repair (in pro-mode).

    Output: easy timing output in readable info-files, so you could upload your times and compare it to others. Optimum would be an automatical upload to a server so at the stage end you could immediately see how your time compares. This output file should also contain some easy anti-cheat measures like count of resets, car configuration used, start time of each stage (where they really done consecutively) and other things that I can´t think of now.
     
    • Like Like x 2
    • Agree Agree x 2
  5. Track Broseff

    Track Broseff
    Expand Collapse

    Joined:
    Aug 2, 2023
    Messages:
    51
    Would it be possible to have global pace note positioning on the stage creation side of things?

    IE: If I make a stage and do the notes, then make another stage that uses part of but not the whole route of the prior stage, it would be great for note consistency and ease of making a stage if I could copy the notes of the shared section of the road onto the new stage.

    If the notes could also be reversed that would be incredible, but less needed/helpful. (ex: left 3 becomes right 3 when going the other way down the road)

    I don't think it is but appologies if this is already possible with the current system, I still need to experiment with it more :)
     
  6. dirtwheel

    dirtwheel
    Expand Collapse
    BeamNG Team

    Joined:
    May 31, 2023
    Messages:
    75
    Good ideas...I don't think this is what you mean, but you can copy the json for notes you want to re-use into a new notebook.json file.

    For reverse, I'll have to think about how that could work. It's a good idea because you would get 2 two stages for the time you spend!
     
    • Like Like x 3
  7. Track Broseff

    Track Broseff
    Expand Collapse

    Joined:
    Aug 2, 2023
    Messages:
    51
    Sounds like it might be what I need. I'll give it a go.

    I have already figured out how to copy a whole stage worth of notes (really easy lol), but I shall try copying individual notes and see how it goes.
     
  8. lellolillili

    lellolillili
    Expand Collapse

    Joined:
    Nov 29, 2021
    Messages:
    136
    Hi, I've worked on a pacenotes mod a couple of years ago, so I figure I would share a couple of resources and design notes I wrote that I think you might find interesting. You can find everything here (especially the markdown files in the doc folder, but there's a lot of documentation sprinkled all over the config files as well):
    https://github.com/lellolillili/rallymodemod

    Here I'll just give you a brief overview. My system was designed to be modder-friendly and extensible, and the different co-drivers I've made were meant to be just a jump-off point for modders and players to build their own. I wanted players (well, modders, really) to be able to convert any collection of audio files (samples) into a usable co-driver. Notably, one of the codrivers was actually made by someone else, I just added it to my mod. That was so nice, thanks again @Voltus! Also notably, Alex Gelsomino I have made by extracting real rally footage and cleaning up the recording, real cool stuff, and RIP Ken Block.

    So...

    Pacenotes are strings (which one can save to either waypoints or text files). The codriver system figures out when to call them depending on speed and other simple heuristics. Calling a pacenote means that the pacenote string is unpacked into a queue of samples that are available to the codriver.

    Example: suppose the codriver has samples for "into", "4 right", "into 4 right", "tightens", "onto tarmac", "onto". Suppose we are calling the following pacenote: "into 4 right tightens onto tarmac". The string will be unpacked and the following phrases will be queued:

    "into 4 right"
    "tightens"
    "onto tarmac"

    The idea is to stitch longer phrases together. But of course, you could not want to record long phrases and only have small nuggets. In that case, you would remove "into 4 right" and "onto tarmac", and the co-driver would unpack as

    "into"
    "4 right"
    "tightens"
    "onto"
    "tarmac"

    This way of working gives you the options of starting out with a minimal set of samples, and increasingly refine it over time as you test and decides what sounds good and what sounds bad.

    Then there's substitutions. This is useful if you get your hands on a set of samples that has no "onto" (but does have "into"), and, say, descriptive corners instead of numerical ones. You'd configure it to map

    onto >>> into
    4 right >>> medium right

    This way you can reuse the same exact pacenotes with a different codriver, provided you do your due diligence and make sure you've defined all the necessary replacements. I had made a bash script to test a co-driver across all the pacenotes for convenience, but we'd be getting a bit too much into the weeds. Point is, having different codrivers that utter different phrases for the same things is not that hard, and neither is testing the codriver without having to actually run the stages.

    Re: different conventions, I defined a set of internal corner types. Each co-driver then has the freedom to use whatever system they want (provided the samples are there). For example, a Petter Solberg style convention could be

    Code:
    S - square LR
    0M - acute LR
    0E - hairpin LR
    0P - open hairpin LR
    1M - 1 LR minus
    1E - 1 LR
    1P - 1 LR plus
    2M - 2 LR minus
    2E - 2 LR
    2P - 2 LR plus
    3M - 3 LR minus
    3E - 3 LR
    3P - 3 LR plus
    4M - 4 LR minus
    4E - 4 LR
    4P - 4 LR plus
    5M - 5 LR minus
    5E - 5 LR
    5P - 5 LR plus
    6M - 6 LR minus
    6E - 6 LR
    6P - flat LR
    
    M, E and P are for minus, exact, and minus in case you're wondering. You can find more information and other examples in the codriver.ini config files for each co-driver:
    https://github.com/lellolillili/rallymodemod/tree/main/art/codrivers

    On a different note, this file file is interesting and useful: it's a frequency list of all the calls I use.
    https://github.com/lellolillili/rallymodemod/blob/main/doc/all_used_samples.md

    For visual pacenotes, here is the list of all the symbols I decided to implement
    https://github.com/lellolillili/rallymodemod/tree/main/art/symbols

    You'll notice the collection of symbols is quite larger than what you guys have, but at the same time much smaller than all the voice calls that my co-drivers have. In my mod, the symbols are basically "pacenotes lite", since IMHO, displaying any more than these symbols would just drown the player in information. Still, I think what you have implemented is still a bit bare at this stage. Have a look at the list of symbols I have to get ideas. Again, I think they are all essential.

    Let me know if you have any questions!
     
    #68 lellolillili, Dec 29, 2024
    Last edited: Dec 29, 2024
    • Like Like x 4
  9. dirtwheel

    dirtwheel
    Expand Collapse
    BeamNG Team

    Joined:
    May 31, 2023
    Messages:
    75
    Thanks for sharing all this great stuff!
     
  10. lellolillili

    lellolillili
    Expand Collapse

    Joined:
    Nov 29, 2021
    Messages:
    136
    No worries. Forgot to add that since my mod is pretty much obsolete, I'm happy for anyone to reuse my stuff. Bits of code, pictures, voices, etc.
     
    • Like Like x 1
  11. SPittlebug

    SPittlebug
    Expand Collapse

    Joined:
    May 14, 2023
    Messages:
    77
    I think this system of codes is great for using with the structured pacenotes we have now for converting it to different voices, languages, and even codriver systems. it looks like is't the best way to go. maybe for ease of use we could have buttons to click on to add each piece.
     
    • Like Like x 1
  12. Track Broseff

    Track Broseff
    Expand Collapse

    Joined:
    Aug 2, 2023
    Messages:
    51
    I have another idea for potential implementation that would be very helpful.

    Have the co-driver say/display "I think we missed a checkpoint" if the player is passing through pace notes without the checkpoint value going up. You could even have "I think we missed checkpoint (insert number)"
    It would be very helpful for folks who may have gone off course, rejoined, and not realized they missed a checkpoint in the process.
    Alternatively, if that is not reasonable to code in, load in the current and next checkpoint, then have a voice line or on-screen graphic display if the player misses the current checkpoint but then drives through the next.
    ---------------
    This all stems from the folks in my rally competition I am hosting DNFing because they did not realize they missed a checkpoint. I marked them with orange flags but when you are going 100+ through the woods they are hard to see at times, but anything more obvious may break immersion.
    ----------------
    TLDR; I want to help the folks out who compete in my rallies by making it more obvious when you have missed a checkpoint.
     
    • Like Like x 1
  13. lellolillili

    lellolillili
    Expand Collapse

    Joined:
    Nov 29, 2021
    Messages:
    136
    Yes, it was meant for converting co-driver systems (hence my absolute codes 2RE, 3LP, etc...), but with the same approach you also get languages and personal choices ("extra long" instead of "long long", and all that kind of stuff.)

    Also worth noting that this type of approach should work with @dirtwheel's aipacenotes mod. You could use corner codes in the pacenotes, and then globally find-and-replace. That's why in exporting my rallies to the new system I'm keeping my old absolute pacenotes around and putting them the same table as the pacenote.

    I think this is in principle good, but it kind of brings up the problem of cut detection/anti-cheat. A rejoin might as well be a cut, and I think it's non-trivial to figure out whether a rejoin has led to an unfair advantage. In a perfect world (I'm not suggesting you do this!), the stewards would have to review the footage and decide whether to ignore the cut or to apply a time-penalty.

    Either way, I agree that there should be some sort of indication of having missed a checkpoint.

    Out of curiosity, how many race nodes do you have? If enforcing being on track and time-penalties is not important, you could just place very few, very generous path nodes (like, a total of 4, 50-meter wide ones), and this would mostly solve the issue, especially if you put them in the middle of long straights, where there's little chance that the player went off.

    Now, that will mostly remove anti-cheat functionality, but that can be really easily implemented as an external anti cheat mod that just keeps track of how far the player has strayed from the drive-line (very easy to implement. Should be, like, a few lines of code and it sounds like you have a team of people working on this, so you might want to consider doing this when you run your next champ). You could just save timestamps of every time the player has gone off by too much, and apply penalties as needed. You could just bundle this rough anticheat system to your championship mod and players wouldn't need to do anything additional.
     
    • Like Like x 1
  14. Track Broseff

    Track Broseff
    Expand Collapse

    Joined:
    Aug 2, 2023
    Messages:
    51
    Checkpoints are roughly every corner apex. So it really depends on the stage length for how many there are.

    My proposed system does not impact the existing checkpoint method in any way, it simply adds a way to have the co-driver notify you of a missed checkpoint. Though tbh I should just make it harder to miss a checkpoint and there would be no issues.
     
  15. SPittlebug

    SPittlebug
    Expand Collapse

    Joined:
    May 14, 2023
    Messages:
    77
    actually to make this even better it should use angles in approximate degrees like the recce app of the aip mod already does by taking the wheel angle and converting it to a corner call. that way it could be adapted to more codriver systems, for example russian codrivers use i believe a 1-9 instead of 1-6. this way it could probably even be automated so that just by driving a clean recce it can automatically be converted in the correct note, (i believe the assetto corsa codriver mod does it this way) then we only need to add cautions, cut, and other descriptive stuff manually where needed.
     
    #75 SPittlebug, Jan 7, 2025
    Last edited: Jan 7, 2025
    • Like Like x 1
  16. lellolillili

    lellolillili
    Expand Collapse

    Joined:
    Nov 29, 2021
    Messages:
    136
    You don't need the absolute pacenotes (let's call them corner codes from now) to be angles for the thing you described to work, because it's trivial to convert an angle to a corner code (that's what autorecce would do: it would convert each angle to its corner code, and then the co-driver would use whatever phrase you want it to say for that corner code).

    The converse is not necessarily true however. Corner codes are basically steering angles most of the times, but not all the times. For example, 0M and 0E, which I normally translate to acute hairpin and hairpin, are more about the shape of the corner than the steering angle. This is also true for the corner code "S" (usually translated to "square L/R", or "turn "L/R"). Then (not implemented in my mod, but it should be implemented), there would be codes for things that aren't corners at all, for example "KL" and "KR" which would translate to "left/right" or "keep left/right" or "stay left/right", depending on preference.

    So in reality, a solid sample-based system should rely on a bunch of "pacenote codes", which would include corners, and other common pacenotes. Corner codes should probably need to be descriptive and easy to remember for players.

    Mine aren't, and I would do it differently now and use a more proper syntax instead of just capitalized codes, something like, idk,


    {{left/right n}} for regular corners from 0 to 16 (this would be the ones convertible from angles to corner-code).

    {{left acute n}}

    0 > acute hairpin left / handbrake left
    1 > turn left / square left

    {{size n}}, n goes from -3 to 3:

    -3 > sharp / very sharp / extra sharp
    -2 > sharp / short short / very short
    -1 > short
    0 > ""
    1 > half-long / longish
    2 > long
    3 > very long / long long / extra long

    etc etc

    of course players should be able to opt out and only use this is they are planning to share their notes.

    this might sound overengineered, but it's so simply to implement on a sample-based system that I really don't see why not.
     
    • Like Like x 2
  17. Track Broseff

    Track Broseff
    Expand Collapse

    Joined:
    Aug 2, 2023
    Messages:
    51
    If anyone wants more rally content; I have made 20 stages using the official pace note system, 36 unique rally cars (with some help from my discord folk/competitors), as well as currently have an offline/asynchronous competition running for those who are interested in seeing how they might stack up in a realistic rally environment against others. Submissions are open until 6 pm EST on January 11th (This Saturday), follow the video below for how to partake. :)


    If you just want the mod go here: https://www.beamng.com/threads/project-beamng-rally-mod-s-thread.102143/#post-1793783
    (will be on repo officially soon)


    If you want to compete go here:


    (If you just want to try the stages with no competition limits +7 bonus school stages go here: https://www.beamng.com/resources/xero-parklands.27889/)


    Thanks again Dirtwheel for such an amazing system that allows me to run such events. Can't wait to see where it goes.
     
    • Like Like x 7
  18. firelover

    firelover
    Expand Collapse

    Joined:
    Nov 21, 2012
    Messages:
    104
    it's not even a bit overpaid, when can I have rally as a mod?
     
  19. 1grenax

    1grenax
    Expand Collapse

    Joined:
    Jan 9, 2025
    Messages:
    1
    Hi, I'm a big rally fan and I loved finally seeing a rally mode in beamng! I've been imagining my special stages in Beamng for a long time now.

    I know it's a preview, but the stages are very short.
    So you find the stages very short and not realistic enough in the sense that you actually have to be able to do a liaison. What I've imagined is that you could make connections between stages, between the service park and that's it. So I've put together a small image of what I would have imagined a real rally would look like. There are two special stages where the links are in red.
    The traffic would be activated and the traffic deactivated on the special stages, and the time for clocking in and out would be respected, since the co-driver would normally be responsible for clocking in and out. You have a certain time to arrive at each check-in point, which I've indicated on my little map, and that's it. upload_2025-1-9_14-54-1.png
     
    • Like Like x 1
  20. Clemmort

    Clemmort
    Expand Collapse

    Joined:
    Nov 12, 2022
    Messages:
    8
    Hi ! Very happy to see that all the modders coming together to bring us an official rally mode.
    I guess most of rally fans on Beam have played RBR/RSF, to me the goal would be to match the RBR experience and to expand on it.

    - Pacenotes similar to the Codriver mod and Luppis Pacenotes. Maybe different levels of pacenote detail, if you don't want a constant stream of information from your co-driver.

    - Multiple stages with damage, repair times, varying weather conditions, day and night cycle... Use the open world aspect of the game so we have to drive BETWEEN stages to the next stage or the repair stop at traffic speed.

    - Repair stops with the ability to change setup / tyres.

    Thank you all for your work!
     
    • Like Like x 2
    • Agree Agree x 2
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice