Forums
March 28, 2024, 10:10 AM

Author Topic: Big Rope Race Generator (BRRG)  (Read 7071 times)

0 Members and 1 Guest are viewing this topic.

Offline LEGi0N

Big Rope Race Generator (BRRG)
« on: June 03, 2019, 06:28 PM »
Big Rope Race Generator (BRRG)

Some of you on Discord may already know that I've been working on a Big Rope Race generator, which I'm just calling BRRG. I thought it was time to make a topic to keep everything in one place, so here it is. I can't promise that I'll be regularly updating it. That depends on whether I feel like prioritising it over other projects. Suggestions are welcome. It will probably already be on my to do list, but I can prioritise features that are requested. If you think you've encountered a bug, feel free to let me know and post the steps taken to reproduce it.





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.


Download

https://www.tus-wa.com/files/file-1784/


Dependencies

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


Changelog

20220127:
    -Added the ability to specify the number of "Horizontal Copies" and "Vertical Copies". This duplicates the map in each respective direction. The borders "Left (%)" and "Right (%)" will always use 100% if there is more than one horizontal copy. The borders "Top (%)" and "Bottom (%)" will always use 100% if there is more than one vertical copy. This is to keep each map copy identical but may change in a future version. Pay attention to the other bounds options when increasing the value of these new options as they may dynamically adjust to ensure that the maximum map size restriction is enforced.
    -Fixed a bug where using the same fore colour and back colour for the start/finish text would cause the map to never finish generating.
    -Fixed a bug where using the same fore colour and back colour for text would cause no text objects to be placed.

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.

See the "Changelog.txt" file for the full changelog.

« Last Edit: January 27, 2022, 07:20 PM by LEGi0N »

Offline Xrayez

Re: Big Rope Race Generator (BRRG)
« Reply #1 on: June 03, 2019, 06:59 PM »
Looks good!

Found a bug: when start and end match, the generator produces a solid map without any track. Should probably just disable duplicate options in UI.

Offline LEGi0N

Re: Big Rope Race Generator (BRRG)
« Reply #2 on: June 03, 2019, 07:12 PM »
Looks good!

Found a bug: when start and end match, the generator produces a solid map without any track. Should probably just disable duplicate options in UI.

Thanks. Yes, that result was intentional. It made sense to me, since that's what the user asks for :P GIGO
Good idea though. I'll test making it impossible to select the same ones in the UI.

Offline Kaleu

Re: Big Rope Race Generator (BRRG)
« Reply #3 on: June 05, 2019, 03:13 AM »
What a blessed tool man, made me grow more interest in big rr, thank you!  :)
Experience the best TTRR gameplays with my maps!

→ The best of Kaleu ←

↓ Average anti-modules player ↓

Offline j0e

  • Sr. Member
  • ****

  • Canada Canada
  • Posts: 445
    • View Profile
Re: Big Rope Race Generator (BRRG)
« Reply #4 on: June 10, 2019, 04:15 AM »
Wow, this program is great! Makes really nice maps with default settings. Love the option to load your own texture image.
Is adding arrows on your to-do list? I tend to minimize after a while, and lose track of which direction to go.

Offline LEGi0N

Re: Big Rope Race Generator (BRRG)
« Reply #5 on: June 10, 2019, 12:21 PM »
Wow, this program is great! Makes really nice maps with default settings. Love the option to load your own texture image.
Is adding arrows on your to-do list? I tend to minimize after a while, and lose track of which direction to go.

Thanks. Yes, I will try to add an option for arrows in the next update. In the meantime, there are directional wall outline options as one method for determining the direction.

Offline j0e

  • Sr. Member
  • ****

  • Canada Canada
  • Posts: 445
    • View Profile
Re: Big Rope Race Generator (BRRG)
« Reply #6 on: June 11, 2019, 04:46 AM »
Wow, this program is great! Makes really nice maps with default settings. Love the option to load your own texture image.
Is adding arrows on your to-do list? I tend to minimize after a while, and lose track of which direction to go.

Thanks. Yes, I will try to add an option for arrows in the next update. In the meantime, there are directional wall outline options as one method for determining the direction.
Holy crap, I just realized you can scroll down - there's way more options than I thought. Really very nice work mate.

Offline Sensei

Re: Big Rope Race Generator (BRRG)
« Reply #7 on: June 11, 2019, 10:02 AM »
Last time I've uploaded custom image it didn't work great cause black from the pic was making holes in map.
Hope you did that black color customization in coding of a program, forgot to test it when I downloaded latest update.

Great work once again man!

Offline LEGi0N

Re: Big Rope Race Generator (BRRG)
« Reply #8 on: June 11, 2019, 11:14 AM »
Last time I've uploaded custom image it didn't work great cause black from the pic was making holes in map.
Hope you did that black color customization in coding of a program, forgot to test it when I downloaded latest update.

Great work once again man!

Thanks. Yes, that was fixed in the previous version. Any black in the background images (or start and finish text) is automatically replaced with #000001 to prevent worms being able to move through it.

Offline SiD

Re: Big Rope Race Generator (BRRG)
« Reply #9 on: July 30, 2019, 01:08 PM »
Trapezium 2 arrows  :-*

Awesome work.

Offline LEGi0N

Re: Big Rope Race Generator (BRRG)
« Reply #10 on: July 30, 2019, 01:15 PM »
Trapezium 2 arrows  :-*

Awesome work.

Thank you. That's my favourite arrow type as well. Inspired by your "21 Shades of Grey" map  :)

Offline Sensei

Re: Big Rope Race Generator (BRRG)
« Reply #11 on: July 30, 2019, 01:38 PM »
Trapezium 2 arrows  :-*

Awesome work.

Thank you. That's my favourite arrow type as well. Inspired by your "21 Shades of Grey" map  :)

Lol. I'm just playing 21 shades of grey with sir-j.

Offline LEGi0N

Re: Big Rope Race Generator (BRRG)
« Reply #12 on: February 15, 2020, 05:50 PM »
I've just released the latest version. See the first post for the changes. I'll probably take another break from this project now, but leave a reply if there's any features you want to see in the next version. I can prioritise these when I next start working on it.

Offline Kradie

Re: Big Rope Race Generator (BRRG)
« Reply #13 on: March 02, 2020, 07:44 AM »
Thank you so much.
Global Wormin' - A Friendly Discord Worms Server
https://discord.gg/zvFwZuAKQB

Offline Sensei

Re: Big Rope Race Generator (BRRG)
« Reply #14 on: July 14, 2020, 01:33 AM »
Maybe put a timestamp on every generated map in next patch? Under "Start" for example. Dunno how hard this would be to implement but it shouldn't be difficult right!? Date/hour/timezone..

Anyway, it's cool feature and it will help stopping fights between opponents while doing competitive match. Something like: "fk off, you've been practicing on this map until you started playing it with eyes closed" and similar..