WIP Beta released Beam Legal Racing - SLRR Inspired Hardcore Career Mod

Discussion in 'Content Creation' started by r3eckon, Aug 4, 2022.

  1. r3eckon

    r3eckon
    Expand Collapse

    Joined:
    Jun 15, 2013
    Messages:
    347
    BeamLR 1.15 now released!
    Download from the BeamLR Github Repository


    Please read and carefully follow the install instructions!

    The vast majority of reported issues are caused by user error when installing. I'm happy to help but getting tired of repeating the same lines.
    BeamLR cannot be installed like a regular BeamNG mod. BeamLR cannot be installed in the game folder. Other mods may cause issues.
    Try installing in a clean userfolder, disable mods, verify game integrity and double check the install instructions before asking for help.
    Github is not the place for suggestions and questions, please use this thread unless you have confirmed issues to report.


    Beam Legal Racing
    (BeamLR) is a hardcore career mode project aiming to create an experience inspired by the game Street Legal Racing: Redline.

    The main goal is to add damage persistence and some sense of progression to the sandbox, which creates a fear of losing a car it took hours to get during races. I'm sure many will remember this feeling from playing SLRR. I've always wanted to see this type of gameplay in BeamNG so I decided to have a go at it.

    A degree of world interaction has been added. Vehicles must be driven to a garage to get repairs which cost money based on mechanical and external damage. Players can drive to gas stations to refuel and pay for gas. Money is earned through various missions and races and can be spent on new parts and cars. There is an interactive used vehicle shop implemented, working as expected from a car shop in a racing game with a menu to browse and then purchase cars. Bought cars are sent to the player garage and can then be modified by buying better parts.

    This project works using easily customizable files, flowgraph and a ton of custom LUA that's ready to reuse in other projects. I've made this with modding in mind and I believe it should work with most vehicle and part mods however that remains to be tested.

    I'm currently not sure when I'll release the first version of this project but it will likely be posted to my github in the following weeks if all goes well. NOW RELEASED! See link at the top of the post.

    Below are some videos showing off some of the main features currently added to the project. Chapters are listed in the description if you're interested in specific features.


    Technical Features : ( [√] = Working, [~] = WIP, [ ] = Planned )
    • [√] - Visual damage persistence
    • [√] - Mechanical damage persistence
    • [√] - Career data persistence
    • [√] - Vehicle ownership
    • [√] - Part inventory
    • [√] - Race system
    • [√] - Mission system
    • [√] - Light AI traffic for increased risk
    • [√] - Interactive areas around map
    • [√] - Gas station & Vehicle Refueling system
    • [√] - Repair shop & Vehicle Repairing system
    • [√] - Player Health & Fatal Crashes reset career
    • [√] - Custom part shop & car edit UI
    • [√] - Police chases, tickets and impounding
    • [~] - "Big Leagues" endgame races like in SLRR
    • [√] - Risky challenges that reward money (speed trap, time attack, etc)
    • [√] - User Settings and Config, Difficulty settings, QOL features
    Career Levels : ( [√] = Added, [~] = WIP, [ ] = Planned, * = Mod Level )
    • [√] - Utah
    • [√] - East Coast
    • [√] - Italy
    • [√] - West Coast
    • [ ] - Johnson Valley
    • [ ] - Valo City*
    Track Event Levels : ( [√] = Added, [~] = WIP, [ ] = Planned, * = Mod Level )
    Suggestions or requests for career or track event levels are welcome!

    Planned Gameplay Features
    • CRASHES ARE PERMANENT. Drive carefully!
    • Perform missions to earn money
    • Use money to buy cars and parts
    • Build up crappy cars into racing machines
    • Race other people for money, rep or slips
    • Show up to car meet with good car to earn rep (or lose it)
    • Gain rep to be allowed into the big leagues end game races
    • More difficult races & missions during the night
    • Must watch out for police, more cops during day
    Detailed Tech Information

    Here is some more detailed information on technical features.

    Data Persistence
    Userdata folder structure containing career data, owned car data, various config files. This is working properly and has been added to the project.

    External Damage Persistence
    External damage is restored using the Beamstate system. Each car owned by the player has it's own Beamstate file. This part of the feature is working properly. Mechanical damage persistence is also working using module that extracts VLUA data and fills a table containing detailed mechanical damage. Mechanical damage is saved to a file alongside the Beamstate file.

    Mechanical Damage Persistence
    The provided damage value on the vehicle information node does not give account for mechanical damage and other damage like flat tires. By following uses of the "damageTracker" lua module I've extracted the table keys needed to access mechanical damage states. This is necessary for mechanical damage persistence and allows the repair shop to charge for mechanical damage.

    World Interaction System
    Currently implemented interaction system using triggers that open up UI menus allowing various actions. Interactive spots are marked by floating "collectible" prefabs by default but could be turned off with a setting. Added spots right now are a gas station, player garage, repair shop, mission area, race area and used car shop.

    Car Shop
    The car shop system works using custom data files that define available cars, as well as slots and camera transforms. When the player enters car buying mode the shop system spawns vehicles, the camera changes focus from the player to the first slot and a UI window displays car information like price, model and needed buttons. Purchased cars are saved to the player garage. This is implementation is modular in such a way that the shopID set upon entering the Car Shop trigger points to different car shop files so different shops can offer different vehicles at different prices. Users can also easily have car shops sell modded cars and custom configs.

    On another note related to car shops, I've experimented with having Beamstates for used cars, so the shop could sell broken looking cars like in SLRR, however the Beamstate system causes rotation issues which would not work in the tight slots of the car shop. I really like this idea since it's coming right out of SLRR so I'm hopeful it could still potentially work at a "scrapyard" type shop area as long as there is a good distance between stock slots to spawn rotated cars.

    Part Shop, Swaps & Custom UI

    The part shop system works using a custom UI window, displaying a list of parts available for the current car and prices stored in a file which again may use a ShopID value to change part availability and prices. This system is currently WIP and sadly seems to require the vehicle to be reset upon parts being swapped. This will likely be justified in game by forcing the player to repair a car before swapping parts. If anyone has other ideas or workarounds please let me know!

    Purchased parts are saved to the player's part inventory data file using a simple increment/decrement system. Removed parts also correctly increment the part count in inventory like a purchase allowing the player to take parts from one car to store in inventory for use on another car.


    Missions & Races

    Mission and Race systems both use files to define parameters like destination, reward, wager, enemy config, loss penalty, etc. In races the enemy AI is spawned and will race to a waypoint. The waypoint must be located within a trigger which will detect the winning car. In both cases the destination trigger is shown using a checkpoint marker. The race system uses a WIP "fair start" forcing the player to get into position before freezing the vehicle, much like in the beginning of scenarios except this happens dynamically as a race is about to start.

    Final Word

    I've only been working on this project in my free time for about 2 months now so it is nowhere near the level at which I think it can get. I really hope this type of gameplay is something the BeamNG community finds interesting! Knowing there are still some SLRR fans out there I'm hopeful I'm not alone wanting something like this added to the game. Anyone willing to contribute to this project in any way can send me a message on here or leave comments on the linked video, feedback and ideas are also appreciated!

    Donations

    I have set up a donation page for those who wish to support the development of BeamLR. Note that this project and all future updates will stay free forever as I am not doing this for money. This is only for players who really like the mod and wish to support its development. The only perks to donating will be mentions, likely adding a name of your choice to the opponent name list for track events and a general mention in a "credits" section that will be added to the top of the main menu in a coming update.

    Here is the donation link for anyone interested!
     
    #1 r3eckon, Aug 4, 2022
    Last edited: Apr 30, 2024 at 7:54 AM
    • Like Like x 81
    • Agree Agree x 5
  2. TacoDoritos

    TacoDoritos
    Expand Collapse

    Joined:
    Jul 10, 2021
    Messages:
    277
    this is awesome ngl
     
    • Like Like x 4
    • Agree Agree x 1
  3. r3eckon

    r3eckon
    Expand Collapse

    Joined:
    Jun 15, 2013
    Messages:
    347
    I'm glad you like it, thanks for the quick feedback!
     
    • Like Like x 1
  4. Chuck_Norris_

    Chuck_Norris_
    Expand Collapse
    BeanNG

    Joined:
    Aug 10, 2013
    Messages:
    174
    This is amazing, I can't wait to see what it'll become :D
     
    • Like Like x 7
    • Agree Agree x 6
  5. Kirby_49

    Kirby_49
    Expand Collapse

    Joined:
    Jun 9, 2018
    Messages:
    234
    Wow, that's really impressive
     
    • Like Like x 1
  6. Buksikutya77

    Buksikutya77
    Expand Collapse

    Joined:
    Jul 7, 2015
    Messages:
    90
    I guess it's time to wrap up the Valo City map isn't it
     
    • Agree Agree x 3
  7. r3eckon

    r3eckon
    Expand Collapse

    Joined:
    Jun 15, 2013
    Messages:
    347
    That would be great! I haven't touched on level making myself, do you think it's possible to have static toggleable props like the rows of parked cars watching races at night in SLRR?
    This is something I looked into a little bit while adding the Car Shop but couldn't find anything, maybe I wasn't using the right search terms.
    I know that certain scenarios spawn static props like piles of rocks, so I guess it should be possible to do with cars as well.
     
    • Like Like x 1
  8. Nacho Problem

    Nacho Problem
    Expand Collapse

    Joined:
    Nov 2, 2019
    Messages:
    1,667
    i dont know if beamng actually has lower detail versions of cars, all ive seen in that regard is cars under planes in dealerships sadly

    you would have to make some yourself or ask someone to make you the car props
    --- Post updated ---
    also just wanted to add how utterly impressed i am with this, amazing job :)
     
    • Like Like x 1
  9. r3eckon

    r3eckon
    Expand Collapse

    Joined:
    Jun 15, 2013
    Messages:
    347
    That makes sense, I'll have to fire up Blender and see what I can do. Although for car shop I think it's still best to have the actual car show up, I'd really like to have the classic night time drag races look without ruining performance.

    Thank you for the positive feedback!
     
  10. SpaceGood

    SpaceGood
    Expand Collapse

    Joined:
    Aug 15, 2020
    Messages:
    56
    I always loved SLRR and imagined what it would be like in BeamNG. It looks amazing so far, keep up the great work!
     
    • Like Like x 1
  11. Buksikutya77

    Buksikutya77
    Expand Collapse

    Joined:
    Jul 7, 2015
    Messages:
    90
    it's possible to get some BeamNG vehicles gutted out (basically a shell with some botched together interior for the looks) as props imported, if you can add it in your script that they spawn in that coordinates randomized that could do the trick (like a scenario prop I guess?)

    But i don't know if you need rights to modify those models for own use

    Edit: typo
     
    #11 Buksikutya77, Aug 5, 2022
    Last edited: Aug 5, 2022
  12. Nacho Problem

    Nacho Problem
    Expand Collapse

    Joined:
    Nov 2, 2019
    Messages:
    1,667
    of course you have the rights
     
  13. Buksikutya77

    Buksikutya77
    Expand Collapse

    Joined:
    Jul 7, 2015
    Messages:
    90
    then you can just make your own LOD-like models of them with a lower polycount for better performance
     
  14. r3eckon

    r3eckon
    Expand Collapse

    Joined:
    Jun 15, 2013
    Messages:
    347
    That would work nicely. I feel it would overall be a great addition to the base game to have some low detail, non soft body physics version of cars for use in scenarios and videos.
     
  15. PowerstrokeHD

    PowerstrokeHD
    Expand Collapse

    Joined:
    Feb 5, 2021
    Messages:
    2,598
    is a remaster of the duhen sunstrip mod planned?
     
    • Agree Agree x 1
  16. r3eckon

    r3eckon
    Expand Collapse

    Joined:
    Jun 15, 2013
    Messages:
    347
    I'm not a skilled enough artist for good looking 3D models so while they're not on my todo list obviously at some point this is going to be a necessary mod to get the best experience :D
     
  17. Buksikutya77

    Buksikutya77
    Expand Collapse

    Joined:
    Jul 7, 2015
    Messages:
    90
    On the other hand you could ask ImageCode if you could use the remastered vehicle models for the mod, he seems to be pretty open to these ideas from my experience
     
  18. r3eckon

    r3eckon
    Expand Collapse

    Joined:
    Jun 15, 2013
    Messages:
    347
    With how I built this mod I'm pretty sure any vehicle mod can just be added to the list of available cars in shops meaning players should be able to use whatever they want, so I don't really need to add it myself.
    Although I'm taking inspiration from it's game mechanics and gameplay loop I'm not aiming for a 1:1 recreation of SLRR, so I won't worry about asking for permissions to include other mods with this one just yet.

    Thanks for the ideas though, I'll be keeping this in mind if I one day feel the need to add SLRR vehicle mods into this project.
     
  19. r3eckon

    r3eckon
    Expand Collapse

    Joined:
    Jun 15, 2013
    Messages:
    347
    Found some time to finish up the necessary flowgraph additions required to have "pink slips" races where the player is able to wager vehicles instead of money against the AI.

    This quick showcase has me winning a pickup then immediately losing it to show what happens in both cases.


    Traffic was turned off because the AI kept crashing into oncoming vehicles during the tight turns of this race. Not much I can do about this except maybe fiddle with risk values a bit, but it makes me think some races may benefit from turned off traffic while others are more fun with traffic enabled so I'll likely be adding this as a race specific parameter. I've heard about script AI but I think that's more for video making than dynamic races? If I'm wrong someone please let me know and I'll have to look into this a bit deeper.

    In order to handle losing a vehicle and pulling vehicles out of the garage while in walk mode, the scenario has to first detect when the player is walking in order to avoid adding the "unicycle" to the garage among other problems related to being in this special vehicle type. This is easily done since in BeamNG the walking mode shows up as a "unicycle" vehicle type which can be seen show up on screen in this video as a debug message I had left enabled. A small issue with the walk mode is that it seems to generate high G forces for a brief moment during the switch from vehicle to walking. I'll probably fix this by simply turning off HP loss while walking.

    As stated in the video all vehicles are colored black, which was also the case in the previous video except for traffic. That's due to paint data being added to garage files. Shop vehicles had started showing in colors that didn't persist when pulled out of the garage, which I quickly fixed and tested by giving a (0,0,0) base color value to every car to see if it remained consistent for purchased shop vehicles. This feature will likely be used to add in a simple car repaint feature to the repair shop area.

    After watching some old SLRR videos I noticed a feature I had almost forgotten about that relates to races: the opponent leaderboard. Also, right now races are always the same but I want to add a degree of randomness. So perhaps it would be best to have race opponents set up in different performance classes and have the scenario randomly pick opponents the player hasn't raced before from increasingly difficult to beat classes as the career progresses. This could tackle both features.

    Still not sure when this will first be released, I want to say before the end of the month. Keep in mind this will likely release in a state that might not be optimal before some amount of playtest to tweak the balance and some help from the community to flesh out what right now is barebones gameplay systems with more missions, races, opponent configurations, car configurations in shops, etc.

    Once again feedback is appreciated!
     
    • Like Like x 8
  20. r3eckon

    r3eckon
    Expand Collapse

    Joined:
    Jun 15, 2013
    Messages:
    347
    Just uploaded a new video showing off the latest addition to the BeamLR WIP. This time I've added police chases, tickets and impounding.


    Given the needed data regarding police chases was already provided using flowgraph nodes this implementation was very simple and most of my work involved the UI and ticket system. Active pursuit will open up a UI window displaying current pursuit information such as duration, wanted level, visibility and a list of offenses. After the player is busted this window will show detailed information about the ticket and options to pay or have the vehicle impounded. The vehicle will be frozen in place until the ticket is paid. Vehicle impounding is an option that results in the vehicle being despawned and removed from garage forcing the player to pay for a bus ride or walk, in fact it uses the same flowgraph nodes as the pink slips races losing mechanic.

    Police amount, strictness, evasion/arrest times and the cost of offenses can be modified by players. The Police AI will likely benefit from some updates as it seems to have a few quirks such as randomly forgetting they're chasing you and they also seem to love driving off cliffs or just crash into rocks trying to turn around if they're going in the opposite direction you're going. That might be something I'm doing wrong with traffic setup and I'll probably investigate a bit to see if playing with some parameters makes the police cars behave better.

    I thought about making this system more complex, for instance by adding the ability to rack up multiple tickets and give the player a certain amount of time to pay them off, but I feel that given how easy it is in normal circumstances to evade police it's not worth spending too much time making this feature overly complex. Cops will likely be seen as more of an annoyance than a threat until the AI can keep up with our driving so I think this way of doing it works great. At least for now I don't think it's worth it for me to spend too much time on a relatively small feature, but please let me know if you think otherwise!
     
    • Like Like x 6
  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