BeamNG Destruction Derby Mod by Sethioz
SDD — Sethioz' Destruction Derby is simple mod for BeamNG.drive that turns all spawned vehicles (except player/s) into AI controlled bangers. I have worked weeks on their logic, which is custom built from ground up (mostly), it's not the default BeamNG's AI logic, but it does use parts of it.
It's semi-sandbox 'Last Man Standing', no modes, no nonsense, no bullshit. Cars keep ramming eachother til their engines die. Player can switch to any vehicle and take control, that's the semi-sandbox aspect. Once there's only 1 vehicle left with working engine, you will see 10 second countdown and then end/results screen appears that shows some stats and offers you to Rematch or QUIT.
FEATURES:
Custom built multi-stage AI logic — vehicles have multi-stage logic for different purposes, when they're close to walls, they're less scared of the wall and try to force their way, when they're stuck, they use the "nudge" logic like in real life (if one has common sense) to try and nudge themselves loose, they have wall detection and avoidance aswell so they won't senselessly plow into walls. They should also detect small gaps as walls which prevents them from escaping thru small gaps in arena. Coop-nudge, when 2 more vehicles are stuck to eachother, they try and go opposite directions, which gives them higher chance of breaking free. They also have TCS / throttle control logic.
Reverse ramming logic
UI app controller — this lets you start/stop the derby mod with single click, counts time and shows how many functional cars remain.
Last Man Standing — this is only mode, derby continues til there's only 1 vehicle left with working engine.
Surrender — turning ignition off for 30 seconds, surrenders the current car and prevents engine from being turned on.
Draw / Stalemate — untested, but when remaining cars are unable to move past 1.5m within 60 seconds, then stalemate/draw is called (assuming cars are too disabled to move).
CAR DISABLED / SURRENDERED / COUNTED OUT notifications — Large text appears on screen indicating that player-controlled vehicle is either broken, surrendered or got counted out.
Out of Fuel — when car runs out of fuel, it's considered as disabled.
Rematch button — end screen offers you 'Rematch' and 'QUIT' buttons, rematch resets all vehicles to their original spawn/repair locations (same as 'Restart current mission or vehicle' bind, applied to all vehicles at once), so if you want it working properly, line each car up and use 'Repair / Rewind' bind, so that location will be marked as vehicle's original spawn.
Live vehicle switching — player is allowed to switch between all available vehicles and take control of any vehicle at any time, if you turn their ignition off, that car will surrender after 30 seconds (this might change in future as sometimes cars get knocked so hard that engine turns off, right now they won't restart engine on their own).
End Screen / Condition — When only 1 functional car remains, 10 second countdown starts (you can do victory donuts) and then end screen is displayed, which shows you basic stats like hits, damage and disabled reason.
Vehicle is shown as "Vehicle name + (config name)"
INSTALLATION & USAGE:
Download SethiozDestructionDerby.zip file below (there might be multiple versions, i suggest latest)
Drop the .zip file in your 'BeamNG_user_path/current/mods' folder (do not unzip). In my case that folder would be "G:\BeamNGfolder\current\mods"
(Optional) If you want to run unpacked files, then make new folder like so:
"G:\BeamNGfolder\current\mods\unpacked\SethiozDestructionDerby" and extract content of zip in that folder.BeamNG automatically activates all added mods by default, but in case it's not enabled, check in-game 'MODS MANAGER' and make sure 'sethiozdestructionderby' is enabled.
Load onto any map you want to play
Go to "HUD Apps" menu
On your active HUD layout click "Edit Layout" button
click on "+ Add app" button at top
find and click on "Sethioz Destruction Derby", then at bottom right click on "Add to layout" (or double click on it)
Optionally adjust it's size and position.
Exit layout editor and click "save" when prompted.
Spawn vehicle that you want to use in derby (spawn regularly via vehicle selector).
Optional, but highly recommended — line up every car where you want them, then press bind for "Repair / Rewind". Do this for every vehicle you spawn + line-up where you want them, this ensures that when "Rematch" button is pressed, then all vehicles reset to their original positions.
When ready, press the green play arrow on the app (start)
CHANGELOG:
v1.1
AI now tries to restart engine
AI now has 10% chance of aiming for disabled cars, but prioritizes active cars first
Count out added — vehicles that move less than 1m within 60 secs are counted out
CAR DISABLED / SURRENDERED / COUNTED OUT are now separated and shown accordingly live during derby and on end screen.
Possible fix for end screen appearing off the screen when changing resolutions and/or window mode swapping.
KNOWN BUGS & LIMITS:
Not meant for open areas/maps as they'll wander off.
Some configs have issues with clutch, but this is BeamNG developers problem as clutch overheats even when driving manually with 'arcade' gearbox. not going to fix beamng developers mess. just use different config/clutch.
When their engine turns off, they don't turn it back on (happens rarely).
Tested only in freeroam.
End screen and other UI does not show if "hide UI" hotkey has been pressed.
TO DO / IDEAS:
Make it compatible with open arenas (swarm logic), so they won't wander too far from others.
Ground/floor detection so they won't drive off edges.
add "car disabled" sound effect (maybe?)
car separation logic (turn their physics off / ghost mode for a second so they get unstuck)
make it impossible for disabled / counted out / surrendered cars to continue under player control (force disabled state)
bleh meow?
SUPPORT:
Only paid members are able to leave comments and PM me.
