Developer postOriginal post (opens in a new tab)

Robot Rumble 2 - Feature Update!

Roboteers, stand by!

We are pleased to announce the next major update for Robot Rumble 2! This update brings huge improvements to bot AI, some highly requested components, and the first ever new Game Mode: King of the Hill!

As always, a full changelog can be found at the end of this post.

A huge shower of sparks as Twinzer V4 and Citrus Charge go weapon to weapon! Both bots built by @skyariaviolet on the RR2 Discord.

The major feature for this update is the introduction of different Game Modes in Robot Rumble 2! The first new Game Mode we are adding, King of the Hill, mixes up the rules by shifting the focus to holding an objective as opposed to outright destruction. In the centre of the arena is a small zone your bot needs to stay in to earn points towards victory. You'll earn more points if you're the only bot in the zone, so make sure to stake your claim and defend the point with all your might to win!

With this new game mode comes two new arenas! We spoke about Eye of the Storm in our previous Dev Diary, and this time around we'd like to introduce you to the Octodrop arena! A King of the Hill arena designed for lower weightclasses. At 1 minute left on the clock the segments around the centre drop away, shrinking the safety net around, and the possible paths to, the all important scoring zone. We are sure this will lead to same frantic final moments as the clock ticks down.

A first look at the new Octodrop Arena.

Alongside the game, our Arena Modding Tool is receiving it's own Major Update with all new features and tools to play with for our community Arena Creators, including a new, highly requested Arena Hazard - The Forced Countout Zone - and support for creating your own King of the Hill arenas. Check out the previous Dev Diary if you'd like to learn more about the AMT.

We are also introducing a couple of highly requested new motors in this update: the Motenergy M0909
- which has been teased for far too long - and the Dual Scooter Motor for our classic era bot builders. But that's not all that is new in the BotLab, for we have also cooked up a new material called Glowing Decoration. This new material acts like the existing Decoration material, however, as the name implies, it glows in any colour you could want. This can be used for simulating LED strips, custom lights, or even just to to spice up your design with new visual effects.

Green Man sporting it's iconic internal glow. Bot built by @drola on the RR2 Discord Server.

The final big feature for this update is the inclusion of the community favourite Hobo AI as the new default AI when building new bots. This AI code is both more powerful than the previous default AI code, as well as much more user friendly, sporting many prebuilt behaviour modes to choose from and support for nearly every weapon archetype you can imagine.

Alongside all the above we have been busy squashing bugs, including finally putting an end to the pesky "Part Drift" when the game was paused in a match for a long time. Work has already begun on the next Major Update, and it is sizing up to be one of the most game-changing yet. We cannot wait to show you more soon in our future Dev Diaries, so be sure to stay tuned!

As always, we are eternally grateful for your support, and we cannot wait to see you in the arena!

- The Robot Rumble 2 Team
https://discord.gg/RobotRumble2

A massive strike from High Strung sets Z-Type's batteries ablaze! Bots built by @la_machine on the RR2 Discord.

This updates header features Actaon and Hellion. Both bots built by @ranking on the RR2 Discord Server.

Full Changelog Below:

[Added] Battle/AMT - New Hazard type - Forced Countout Zone. Robots within this zone will be counted down as if immobile even if able to move, like an OOTA that you might be able to escape. Toggled with the Countouts Active option.
[Added] Battle/AMT - New Trigger type - ParticleTriggerZone. Toggles a particle system when a bot enters/leaves the zone.
[Added] Battle/AMT - New Utility - ArenaTextReplacer. When placed on a gameObject with a Text component dynamically replaces the following text during the match:
- %TIMER% - Displays the current Timer formatted as MM:SS, useful for custom UI or a display screen.
- %Px% - Displays the name of the bot in slot x. Blank if no bot in slot x.
- %PxSTATUS% - Displays Active or Eliminated depending on if bot is alive. Blank if no bot in slot x.
- %PxNAMEORSTATUS% - Displays the name of the bot in slot x OR, if the bot is eliminated, Eliminated. Blank if no bot in slot x.
[Added] BotLab - Scale Markers to BotLab grid.
[Added] Battle/AMT - Support for different GameModes in Arena Data (Currently Battle and King of the Hill for now, more to come down the line)
[Added] Battle/AMT - New ArenaProperties Script - When added to your prefab this will allow easier customisation of Arena Name, Preview (no more specifically named files needed), and allow you to select which GameMode the arena is for.
[Added] Battle/AMT - Ability to switch between GameModes in Battle Arena Selection. All "Legacy" arenas will show in the Battle mode.
[Added] Battle/AMT - Separate Arena Lists for different GameModes, only arenas in the currently selected GameMode will be shown.
[Added] Battle - Option when selecting arena to change score required for winning KOTH.
[Added] Battle/AMT - Added new Utility - KingOfTheHillZone. Bots in this zone will score points per second. Option to enable scoring different amount of points if the Zone is contested. By default if a single bot is in the Zone they will earn 2 points per second, and if multiple bots are in the zone they will all earn 1 point per second.
[Added] Battle - Two new Arenas:
- Eye of the Storm - A King of the Hill arena designed for Heavyweight Robots.
- Octodrop - A King of the Hill arena designed for Featherweight Robots.
[Added] Battle/BotLab - Bot AI can now be aware of KotH zones, and can get the closest KotH zone using the new in-built function getClosestScoringZone(p1) where p1 is a position to check from.
[Added] Battle - Bots can now win matches in KotH zones by earning the right amount of points.
[Added] Battle - If a KotH match times out, then the bot with the most points is the winner.
[Added] AI - new in-built function isRobotScoring. Will return 1 when the robot is in the KotH Zone, and 0 otherwise.
[Added] AI - Arena Hazard Trigger Zones, OOTA Zones, and Forced Countout Zones are now visible to the bot AI. You can get the closest hazard using the new in-built functions:
- getClosestHazard(p1) where p1 is a position to check from. Returns the center of the closest hazard to p1.
- getClosestPointOnHazard(p1) where p1 is a position to check from. Returns the nearest point on the edge of the nearest hazard to p1, good for avoiding OOTA zones.
[Added] AI - The type of the closest Arena Hazard can now be read by the AI using the new in-built function getTypeOfClosestHazard(p1) that will return a string of the following for each hazard type:
- OOTA Zones - OOTA
- Moving Hazard - MovingHazard
- Momentary Hazard - MomentaryHazard
- Impulse Hazard - ImpulseHazard
- Forced Countout Zone - CountoutZone
[Added] BotLab - The Collider Count returns, clicking on Parts Attached will switch between Parts Attached and Collider Count.
[Added] Main Menu - In-game changelog button that will show a simplified version of the latest updates changelog.
[Added] Battle - When in a KotH match a UI is displayed to keep track of each bots score.
[Added] Battle/AMT - New Trigger Type - Active Triggers. These can be used to set the active state of an object.
[Added] Battle/AMT - New Trigger Types - RandomTriggers. These triggers will trigger a random hazard or animation from a list for that extra sprinkle of randomness.
[Added] Battle/AMT - Arenas now have a Target Weightclass and can be filtered down by this in the Arena Select menu. Legacy Arenas are all set to Heavyweight.
[Added] Battle/AMT - Arena Selection buttons now show the target weightclass in the top left of the button.
[Added] Battle - Ability to refresh arenas in game, no more needing to restart to add in an arena!
[Added] Battle/AMT - ArenaTextReplacer now replaces the following text:
- %PxSCORE% - Displays the score of the bot in slot x. Blank if no bot in slot x.
[Added] BotLab - New Material - Glowing Decoration. Glow returns, and without needing to utilise glitches to achieve it. Acts like other decorative materials in that there is no collisions.
[Added] Battle - Torch and Pointer to FreeCam. Torch can be toggled on and off with right click, and the Pointer activates whilst the left click is held down.
[Added] Battle - When in FreeCam holding down Alt will slow the camera to half speed for more precision.
[Added] Battle/AMT - New Trigger - AnimTriggerMatchEnd - As the name suggests fires an animation when the match ends, whether that is through Time Out, Elimination, KotH Score Victory, or any other victory condition down the road.
[Added] BotLab - Added a new kind of breakable connection "NonWeld" which is used for any component not tied correctly into weld yet, this will be used to fix them down the line

[Change] Main Menu - Updated Credits.
[Change] Battle/AMT - AnimTriggerZone can now fire more than once.
[Change] Battle/AMT - All TriggerZones can now be assigned a wait time before firing. A bot must remain in the trigger zone for the wait time before it will fire. This can be used to create flippers or pits that only fire if a bot has waited on them for a set amount of time.
[Change] Battle - Increased max width of Win Text to accommodate longer bot names before wrapping.
[Change] Battle/AMT - Refactored how Arena Data is stored and accessed.
[Change] Battle/AMT - Improved loading performance of Arenas and Arena Menu generation.
[Change] Multiple Arenas can now be packaged in to 1 Arena file.
[Change] Battle/AMT - Refactored ArenaTextReplacer to improve performance and ease of use, no longer needs to be placed in the AMT to function.
[Change] BotLab - Added tooltip to Screenshot button that shows where the file is saved.
[Change] BotLab - Screenshots taken with the Screenshot button now automatically crop themselves to just the bot.
[Change] Battle - Optimised the way Arena Hazards are triggered.
[Change] Battle - Removed linear component of the body velocity limiter, this improves hammer and flipper damage interactions, bots can now go faster then 20m/s.
[Change] BotLab/Battle - Adjusted way the Bot Select Panel finds bots to allow for filtering to different Robot Save File versions.
[Change] Further optimisations to the way Arenas are stored.
[Change] BotLab - Minor Updates to Materials and Tint UI.
[Change] BotLab - Tint Sliders now use 0-256 instead of 0-1, should make replicating colours a lot easier.
[Change] Battle - Tidied up Arena Select Screen a little, added some tooltips where needed.
[Change] BotLab - Tweaks to Glowing Decoration material.
[Change] Battle - FreeCam no longer requires right click to be held to rotate.
[Change] Battle - FreeCam now uses Shift as up instead of Space.
[Change] Battle/AMT - AnimTriggerTimer and AnimTriggerTimeRandom now have a field to choose when they fire in an Infinite time match. If this is set to 0 then the animation will not fire when Inf time is selected.
[Change] BotLab/AI - Updated Default AI to use Hobo AI V1.3.
[Change] BotLab - Updated Spinner hums to now utilise animationcurves, this gives more flexibility and improves performance.
[Change] BotLab - Reworked spinner hum analysing logic, spinners should now sound slightly more different from one another: more woosh from bars, more HMMM from discs, and improved super high rpm sound quality.
[Change] BotLab - Spinner hum is now more flexible and can be expanded with different sounds easier.
[Change] Battle - Default Arenas updated including complete overhaul of Origin Arena.
[Change] slightly adjusted angle adjustment for high bite engagements to be less radial and more tangential, aka spinners will more often throw into their spin direction instead of outwards in high bite situations.
[Change] Updated Default Arenas.
[Change] Added new function to tidy older Default Arenas.

[Bugfix] Battle - Eliminated Pause Part Drift.
[Bugfix] Battle - Bot velocities are now properly restored when unpausing.
[Bugfix] Battle - Bots eliminated via OOTA/Pit still being tracked by cameras.
[Bugfix] Battle - Further tweaks to cameras to eliminate tracking drifting when switching to cameras.
[Bugfix] Battle - Camera Rotation setting was being enabled even when disabled in AMT.
[Bugfix] BotLab - Typo Sphere = Half -> Sphere - Half.
[Bugfix] Battle - Multiple arenas of the same name and/or duplicate arenas cause the Arena Menu to not load properly.
[Bugfix] Battle - Fixed an issue where the damage multiplier would influence the impulse of spinner hits and spinner speed reduction
[Bugfix] Battle - Fixed an issue where the static spinner collider would not trigger any collisions.
[Bugfix] BotLab - Fixed a broken reference that made spinners break in test area.
[Bugfix] Battle/AMT - NullReference in ArenaTextReplacer that causes lockups when countdown completes.
[Bugfix] AI - AI unable to use Analog Controls (lever1 and lever2).
[Bugfix] Battle/AMT - ArenaTextReplacer sometimes fails to get Bot Name.
[Bugfix] Battle/AMT - ArenaTextReplacer null reference due to trying to add text to GameObjects without a text component.
[Bugfix] BotLab - Exit Without Saving sometimes still updated botfile incorrectly.
[Bugfix] BotLab - More instances where Exit Without Saving would still update botfile incorrectly.
[Bugfix] Battle/AMT - ParticleTriggerZone not properly triggering particles.
[Bugfix] Battle - NullReference in Arena Menu Generation.
[Bugfix] Battle - FreeCam not KotH UI.
[Bugfix] BotLab - ACTUALLY added the Motenergy M0909 motor like a sister of the ME0708, slightly longer but a smaller diameter, will probably require some more cont amp tuning as it is probably too low, just like the 0708 being somewhat overspecced to reach "reliable" operation with a solenoid.
[Bugfix] BotLab - Fixed the ME0708 motor that was apparently ~5mm too long.
[Bugfix] Battle/AMT - AnimTriggerTimerRandom and ActiveTriggerTimerRandom would trigger on every frame once fired.
[Bugfix] BotLab - Fixed an issue where test Crates would not be hit hard by spinners.
[Bugfix] BotLab - Fixed an issue where test Crates would weirdly float and behave strange moved.
[Bugfix] BotLab - Fixed an issue where the weld strenght impact limiter would sometimes return 0 on certain parts and not impart any spinner spindown nor damage.
[Bugfix] Battle - Fixed an issue where spinner weapon to weapon hits would sometimes completely negate any spinner impulse.
[Bugfix] Battle - Fixed an issue where hitting the arena would prevent any spindown from occurring.
[Bugfix] Battle - Fixed an issue where hitting the arena would sometimes apply way too little spindown and recoil.