Big Rope Race Generator

From Worms Knowledge Base

Jump to: navigation, search
(Up to Software)
icon BRRG
BRRG screenshot
Developer: LEGi0N
Latest version: 20201110 / 10 November 2020
Supported games: W:A
Language: VB.NET
License: Closed source
Download: BRRG 20201110.zip (6.96 MB)

Big Rope Race Generator or simply BRRG is a program written by LEGi0N to easily create good quality Big Rope Race maps, with arrows (indicating where to go), texts, colors, custom uniform measurements, custom images, start and finish areas, custom textures and many other features. The maps generated by this program can be useful on competitive events due to the uniform measurements and they can be themed with uploaded images, looking impressive in just a few minutes.

BRRG thread (TUS website).

Usage

  • "Generate" Button (Bottom Right) - Generates a new Big Rope Race map using the specified options.
  • "Export" Button (Bottom Right) - Exports the generated map to a PNG file.
  • "Open" Button ("File" Menu) - Opens a configuration file.
  • "Save As..." Button ("File" Menu) - Saves the current options to a configuration file.


  • All of the options for generating a map are in the panel on the right.

Dependencies

It's a Windows application that requires .NET Framework 4.7.2 or greater to run.

Changelog

Below are most of the changes made on the program. See the "Changelog.txt" file for the full changelog.

20201110

  • Fixed a bug where using the "Empty Components (%)" option could sometimes make cells containing an object become empty.

20201107

  • Added an option to select whether the map is treated like an "Island" or a "Cavern". The "waLV" chunk is now always present in exported PNG files. Maps are still generated such that the island/cavern autodetection logic treats the map like an island, should the "waLV" chunk ever be removed from an exported PNG file.
  • Added a "Water Level (%)" option. This is saved in the "waLV" chunk of exported PNG files.
  • Added the ability to use negative values for the "Vertical Offset" option. This effectively crops the bottom of the map. For example, this could be used to reduce the height of plop areas.
  • The maximum map size has been restricted to 22000x22000 to prevent memory issues at greater sizes. The maximum values that can be used for the bounds options dynamically adjust to enforce this.
  • Added "Fit to Cell Multiple" and "Stretch to Cell Multiple" values for the background "Size Mode" option. The default value is now "Fit to Cell Multiple". The cell multiple can either be specified or determined automatically, where the background image is scaled down to the nearest cell multiple or scaled up to a cell multiple of 1. To prevent memory issues, the cell multiple will be restricted such that the resized background image never exceeds a width or height of 10000px.
  • Renamed the background "Size Mode" UI label to "Size". This allows the new "Size Mode" values to be displayed in the UI without being truncated.
  • Removed the "Circuit Board" background image since it isn't actually seamless.
  • Added 96 more background images.
  • Multiple backgrounds or images can now be loaded at once.
  • Added a "Location" option for images. This can be specified for each image. The value can be either: "Random", "Start", "Finish", "Top Left", "Top Middle", "Top Right", "Middle Left", "Middle", "Middle Right", "Bottom Left", "Bottom Middle", or "Bottom Right". The default value is "Random". The default value will be used when opening any previously existing configuration files with images.
  • Added an "Outline Images With Transparency" option. This determines whether outlines are painted for images that contain pixels with transparency. The default value is false, which matches the existing behaviour.
  • Fixed a bug where outlines were sometimes not painted for images that did not contain transparency. For some reason, the .NET System.Drawing library was sometimes introducing transparency at the edge of resized images. A new library is now being used, which fixes the issue and also produces slightly better quality resized images.
  • Added the ability to place text on the map. The following options can be specified for each text: "Text", "Location", "Font", "Orientation", "Length (Cells)", and "Interior Padding (px)". The following options can be specified for all text: "Exterior Padding (px)", "Fore Colour", "Back Colour", "Outline Colour", and "Outline Size".
  • Changed the default "Linearity Direction" to "Horizontal" since this generates better maps.
  • Split the "Target Maximum Component Size" option into multiple options for the different types of components: "Interior" (not connected to a border or partition edge), "Edge-Connected" (connected to a border or partition edge), and "Object-Connected" (connected to an image or text). If multiple values are applicable to a component, the minimum of these values is used. The previous behaviour was to use the specified value for interior and edge-connected components, and a value of 1 for object-connected components. The default values are 5, 5, and 1, respectively. Previously existing configuration files with the legacy option can still be opened and will use the value such that it matches the previous behaviour.
  • Added "Empty Components (%)" and "Grid Points (%)" options for the algorithm. The "Empty Components (%)" option specifies the percentage of components that are made empty (become part of the path). The "Grid Points (%)" option specifies the percentage of open areas (due to empty components) that contain grid points.
  • Changed the algorithm sampling to work within each partition instead of the whole map. When there is more than one partition and the "Target Maximum Component Size" options aren't used, this allows longer maps to be generated on average for the same number of samples.
  • Updated the object (image/text) placement algorithm to allow objects to be placed in more locations, including next to padding cells and start/finish cells in most circumstances.
  • Updated the object scaling algorithm to ensure that images larger than the map are always scaled to fit within the map when allowed by the "Minimum Length (Cells)" and "Maximum Length (Cells)" options under "Design / Images".
  • Renamed the "Images (%)" and "Dither Images" palette options to "Objects (%)" and "Dither Objects", respectively, since this now includes both image and text objects. This change is backward compatible with previously existing configuration files.
  • Fixed a bug where the object (image/text) placement could make it impossible to generate a path between the start and finish in some circumstances.
  • The expanded state of each group of options is now saved in the configuration file. When opening any previously existing configuration files, the expanded states will remain unchanged.
  • Renamed the included configuration files to be more descriptive.
  • Added example configuration files to demonstrate the new text options, "Empty Components (%)" option, and "Grid Points (%)" option.

20200818

  • Added options for partitioning the map. These include: "Partitions", "Partition Padding (Cells)", and "Partition Direction". Linearity options are applied within each partition.
  • Images with transparency can now be used. Fully transparent pixels are not painted. Otherwise, they are alpha blended with the background pixel behind them before colour quantization occurs. Outlines are now only painted for images that are fully opaque.
  • Changed the background tiling to not be offset by the border size when the "Size Mode" option is "Fit to Map" or "Stretch to Map". This now makes maps with a full-scale background look nice with borders.
  • Optimised the dithering to improve performance by ~25% and increase the accuracy.
  • Optimised the colour quantization to improve performance by ~35%.
  • Fixed a bug where the start/finish text colours would sometimes be incorrect if a large background image was used. This is because the colour quantization for the start/finish text images and background image are combined. The selected colours are now guaranteed to be included in the palette.
  • Fixed a bug where the "Automatic" value for "Linearity Direction" wasn't always consistently calculated throughout the map when the "Target Maximum Component Size" option was used.
  • Fixed a bug where loading a configuration file with a custom background and different "Size Mode" could cause a crash.
  • The version is now derived from the linker timestamp instead of a resource string.
Personal tools