Author Topic: GOIO CHAOS - Lobby Randomization Utility by Atrusario  (Read 32327 times)

Offline Atrusario

  • Member
  • Salutes: 6
    • [Grim]
    • 10 
    • 24
    • 45 
    • View Profile
GOIO CHAOS - Lobby Randomization Utility by Atrusario
« on: January 12, 2016, 10:47:36 pm »
Guns of Icarus CHAOS
Lobby Randomization Utility by Atrusario



For those of you who have never played CHAOS before, it is essentially
comprised of randomizing the positions that lobby-goers play. Gunners
become Engis and Pilots become Gunners. It truly can become CHAOS.

This is often done by entering the names of those playing into an external
utility and then reading back the new positions in game. This process can
become quite annoying. Right now, there is no way to integrate CHAOS
directly into the game, but this program strives to make setting up CHAOS
slightly less annoying.

With this application, you can randomize the following attributes:

*ship type
*ship weapon layout
*player positions
*player loadouts

~V~ For those of you bored of reading, you can skip to the download link below ~V~


Screenshot Instructions

Thanks to a brilliant idea by my good friend PeterPun, this program
now allows you to input a screenshot of your lobby, and it will extract the
data for much easier CHAOS! Thank you to everyone who's helped improve
CHAOS, this program, and the community in general!

Simply take a screenshot of your lobby, save it to a file, and hit the button
labeled screenshot. The program supports .png and .jpg
files types. Be sure that Guns of Icarus is in borderless window when you take
the screenshot. The game must be filling the entire screen to extract the data
properly, since it relies on the ratios between objects on the screen.

Networking Instructions

By far the most difficult challenge faced while developing this program was
communicating the effects of the randomization to the rest of the lobby.
To solve this problem, this application includes a server and client system
that allows other people running the program to connect to a single client.
When that client randomizes the lobby, they can send out the data to all of
the connected clients. From there, each person can see and enter their own
data into the game, exponentially speeding up the process of transferring data.
It certainly beats doing it all over voice. :P

Of course the downside is that the hosting client must be port-forwarded.
The people connecting, however, do not. There are instructions below regarding connecting to and setting up:

Connecting to a Hosting Client:
1. Retrieve the ip address and port from the person hosting
2. Open GOIO CHAOS and press the button labeled server connect
3. Enter the ip address and port in their respective text boxes
4. Enter your GOIO user name in its respective text box
5. Press the button labeled server connect
6. Assuming the connection is established successfully, the screen should read waiting for lobby data. This is a good thing!
7. As soon as the hosting client presses the button send lobby, the data should appear on the screen. Keep in mind you can only view it, not edit it!

Hosting:
1. Open GOIO CHAOS and press the button labeled start server
2. Enter the desired port into its respective text box. Note: The desired port must be port-forwarded
3. Press the button labeled start server
4. The server should now be running. Hover over either server button to reveal the server data (ip address, port, and connected clients)
5. Press the button send lobby when you are ready to send your lobby data to all connected clients


DOWNLOAD(1.3.3)

+Improved screenshot import quality
+Updated screenshot loader to support the new GUI


1.3.2

+Added the ability to input a lobby screenshot
+Now shows crew members to swap


1.2.0

+Added probability weights to the randomizer

1.1.0

+Added the server and client system
+Added clipboard functions to text boxes
« Last Edit: December 13, 2016, 01:40:05 pm by The Mann »

Offline Schwalbe

  • Member
  • Salutes: 178
    • [ψ꒜]
    • 45 
    • 45
    • 45 
    • View Profile

Offline FranckM

  • Member
  • Salutes: 2
    • [TB]
    • 30 
    • 45
    • 10 
    • View Profile
Re: GOIO CHAOS - Lobby Randomization Utility by Atrusario
« Reply #2 on: January 13, 2016, 10:54:00 am »
What do you mean by exception list what do you not want to be randomized?

Offline Atrusario

  • Member
  • Salutes: 6
    • [Grim]
    • 10 
    • 24
    • 45 
    • View Profile
Re: GOIO CHAOS - Lobby Randomization Utility by Atrusario
« Reply #3 on: January 13, 2016, 10:59:19 am »
Everyone has a few items that they absolutely hate and would never want to see show up among their randomly generated items. The two that come to my mind are the Range-Finder and Harpoon Gun. I'd most likely exclude those, but everyone has their preference.

When in doubt, give the user the option!

Offline FranckM

  • Member
  • Salutes: 2
    • [TB]
    • 30 
    • 45
    • 10 
    • View Profile
Re: GOIO CHAOS - Lobby Randomization Utility by Atrusario
« Reply #4 on: January 13, 2016, 12:28:56 pm »
Good point, forgot range finder.

When in doubt, give the user the option!

I wish muse followed that.

Offline Atrusario

  • Member
  • Salutes: 6
    • [Grim]
    • 10 
    • 24
    • 45 
    • View Profile
Re: GOIO CHAOS - Lobby Randomization Utility by Atrusario
« Reply #5 on: January 13, 2016, 12:43:12 pm »
I have to agree. I mean, think about it. This, for example, would be something relatively easy to add to the base game. In fact, there is a lot of customization I wish the game supported that would add a lot more replay value to a lot of veteran players just hunting down their next level.

Custom maps would be pretty sweet too. I'm still dreaming, Muse...

Offline FranckM

  • Member
  • Salutes: 2
    • [TB]
    • 30 
    • 45
    • 10 
    • View Profile
Re: GOIO CHAOS - Lobby Randomization Utility by Atrusario
« Reply #6 on: January 13, 2016, 03:51:47 pm »
I wish choice for UI.

Offline Atrusario

  • Member
  • Salutes: 6
    • [Grim]
    • 10 
    • 24
    • 45 
    • View Profile
Re: GOIO CHAOS - Lobby Randomization Utility by Atrusario
« Reply #7 on: January 19, 2016, 11:53:25 pm »
Thanks to everyone for their support in this project! This latest update (1.1.0) is a pretty big one and I'd be glad to take suggestions or comments regarding it. I bug tested all of the server/client functions the best I could, but if you do manage to find something out of place, please PM me so that I can get it fixed in the next patch.

Currently, these are the two planned features to add (but no promises  :P ):

-A manageable list of player names to be used for auto-completion
-A list of items to exclude from the randomizer

Offline Atruejedi

  • Member
  • Salutes: 64
    • [❤❤❤]
    • 45 
    • 45
    • 45 
    • View Profile
Re: GOIO CHAOS - Lobby Randomization Utility by Atrusario
« Reply #8 on: January 20, 2016, 10:49:20 am »
This is handy, although I do doubt many will want to use it to connect to a hosting client... plus, that ruins the fun of "the reveal" in the lobby as everybody finds out what ships, guns, and positions they're playing, one by one. The suspense is fun! Sometimes the entire lobby will erupt in cheers and laughter when a career gunner is forced to pilot for the first time 8)

Besides the ability to exclude certain weapons, I would like to see two additions just based on my personal preference:

Would it also be possible to integrate options to "weigh" some weapons to be more or less lightly than other weapons? I think it's better for chaotic gameplay if gatlings should be more likely to appear than, say, flare guns. There are 12 light weapons in the game at the moment, so the probability of drawing a gatling or a flare gun is equal at 8.33%. I think it would be better for flares to have, say, half the likelihood of being chosen by the randomizer, while gatlings could have double the likelihood. Something like that. If you toss 24 weapon cards into a hat, two for each gun, I'd alter it so there are four gatling cards while there is only one flare card and one harpoon card. It would be better for gameplay; chaos, after all, is designed to put people into new and interesting situations, not handicap them...

Second, would it be possible to have an option to "not repeat" the same ship? So that in any match the same ship would not appear twice (unless a 4 vs. 4, obviously)? That way there aren't two Pyras, or three Squids, etc. More variety, more fun.

Salute!

Offline Atrusario

  • Member
  • Salutes: 6
    • [Grim]
    • 10 
    • 24
    • 45 
    • View Profile
Re: GOIO CHAOS - Lobby Randomization Utility by Atrusario
« Reply #9 on: January 20, 2016, 11:51:26 am »
Thanks for your response! I agree that the reveal in the lobby is a lot of fun, and I've even thought of adding a function to reveal certain aspects of the lobby to the clients, by choice of the server. The purpose of the server/client functions, however, is timeliness, so I feel that those two goals are somewhat contradictory.

I went into the creation of the server/client system with the knowledge that it will not be commonly used because of the port-forwarding requirement, and because getting everyone in a lobby to set up an external application is unlikely, especially with randoms. Unfortunately I couldn't think of any better way to communicate lobby data to many people at once. One of my first ideas was adding a button that would format the lobby data into a block of text and throw it onto the clipboard.  :o

Something like this:

red ship 1: goldfish
{
   pilot: Atrusario
   {
      loadout 1: spyglass
      loadout 2: kerosine
      loadout 3: moonshine
      loadout 4: spanner
      loadout 5: incendiary
   }
   gunner: Atrujedi
   {
      loadout 1: spyglass
      loadout 2: spanner
      loadout 3: charged
      loadout 4: greased
      loadout 5: incendiary
   }
   engi 1: FranckM
   {
      loadout 1: spyglass
      loadout 2: spanner
      loadout 3: mallet
      loadout 4: chemspray
      loadout 5: incendiary
   }
   engi 2: Schwalbe
   {
      loadout 1: spyglass
      loadout 2: spanner
      loadout 3: mallet
      loadout 4: chemspray
      loadout 5: incendiary
   }

   gun 1: heavy flak
   gun 2: harpoon
   gun 3: harpoon
}


That obviously wouldn't have worked for many reasons: the GOIO chat character limit, it's annoying to read through, and keep in mind that the text above is only for one ship. Voice chat works well enough for ship layouts and player positions, but if you wanted to randomize player loadouts, it would become a nightmare to communicate. If anyone has any ideas for better communicating lobby data, please feel free to let me know! I'm always open to suggestions.

As far as your suggestion goes regarding weighing item randomization probability, I like! Toggling the appearance of items is good enough, but setting their weights would be even better. I really appreciate this suggestion as the thought never crossed my mind. I'll see what I can do.  ;D

I don't think that the option to "not repeat" is quite as necessary, as you can simply re-roll a ship if you dislike the outcome. I personally find it more fun to leave the possibility of getting the same ships open, but I'm not going to rule out this addition entirely. It would be relatively easy to add, so I might throw it in a future update.

Again, thank you for your response. I greatly value your feedback!
« Last Edit: January 20, 2016, 12:26:19 pm by Atrusario »

Offline Atruejedi

  • Member
  • Salutes: 64
    • [❤❤❤]
    • 45 
    • 45
    • 45 
    • View Profile
Re: GOIO CHAOS - Lobby Randomization Utility by Atrusario
« Reply #10 on: April 10, 2016, 09:36:10 pm »
Resurrecting this thread... some of us are in the process of bringing back the Chaos Skirmish, and this program will be featured! Is this the latest version? I'm curious about if weapon weights, bans, and/or limits were introduced. We want to use it this Saturday and will use whatever version we can :D

Offline Atrusario

  • Member
  • Salutes: 6
    • [Grim]
    • 10 
    • 24
    • 45 
    • View Profile
Re: GOIO CHAOS - Lobby Randomization Utility by Atrusario
« Reply #11 on: April 11, 2016, 07:47:30 am »
I'm glad to hear that CHAOS is being revived! My development on this program pretty much ceased when CHAOS did. I still managed to have some fun times in random lobbies where I convinced all the captains to do it. In one of my most memorable games, someone got a Squid with 2 Harpoons and a Gatling on the rear, so he essentially spent the entire game rear-ending the enemy spire.

We won...

Nonetheless, this current version (1.1.0) is a stable one. Who knows, I might be able to throw together an update this week.  ;D
(Of course I am exaggerating. I would never throw together an update. Perhaps it would be better to say that I will intentionally place an update...)

Offline Atruejedi

  • Member
  • Salutes: 64
    • [❤❤❤]
    • 45 
    • 45
    • 45 
    • View Profile
Re: GOIO CHAOS - Lobby Randomization Utility by Atrusario
« Reply #12 on: April 11, 2016, 03:17:02 pm »
I'm glad to hear that CHAOS is being revived! My development on this program pretty much ceased when CHAOS did. I still managed to have some fun times in random lobbies where I convinced all the captains to do it. In one of my most memorable games, someone got a Squid with 2 Harpoons and a Gatling on the rear, so he essentially spent the entire game rear-ending the enemy spire.

We won...

Nonetheless, this current version (1.1.0) is a stable one. Who knows, I might be able to throw together an update this week.  ;D
(Of course I am exaggerating. I would never throw together an update. Perhaps it would be better to say that I will intentionally place an update...)

Sounds great! We plan on using the program this Saturday at 9:30 PM EDT no matter what program version. We created a Steam group called Chaos Skirmish Saturdays, and it links to this thread. Check it out! :D

Offline Atrusario

  • Member
  • Salutes: 6
    • [Grim]
    • 10 
    • 24
    • 45 
    • View Profile
Re: GOIO CHAOS - Lobby Randomization Utility by Atrusario
« Reply #13 on: April 16, 2016, 01:12:43 am »
Thank you to everyone who has given their continual support to this project! This latest update (1.2.0) is a fairly neat one that adds some all important features to the randomizer. You now have the ability to customize the randomization weights of ships, guns, and tools! For example, if there is a tool you do not like, you can prevent it from being randomly selected. If there is a gun you would like to be selected more often than others, than you can do that too!

Feel free to comment regarding these changes, or any changes you would like to see in the future. If you ever find a bug in the program, please PM me so that I can repair it in the next patch!

Offline The Mann

  • CA Mod
  • Salutes: 146
    • [Cake]
    • 40 
    • 45
    • 45 
    • View Profile
Re: GOIO CHAOS - Lobby Randomization Utility by Atrusario
« Reply #14 on: April 16, 2016, 02:50:45 am »
What did you make it with and what language?

This is a very neat application!