Casual Archipelago (Complete)

One question to everyone: How do you feel about more explicit activity requirements (and how long, if so)? Found the "Casual" part of this Archipelago to be ill-defined. What frequency of playing counts as "casual"? Means different things to different people.

I'll answer this (hopefully) in my general thoughts.

Plans to start up the next Archipelago round about mid-January. (Might be away in late February or early March. Likely runs until that point with a mid-January start date.) Gives everyone some time to miss it, as well as test out other games. Will gladly let someone else host it, if they want to. Could create a short(ish?) guide on hosting a game here.

A general guide on how to do that (especially from you) would be very helpful (especially for me as I'd love to learn how to do these myself), but don't feel like it's something you need to rush on.
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Okay. First of all congrats to everyone for finishing their games! It was a longer than expected road, but we finally got there! :p

Next, my personal game thoughts. What Setsuna said about having certain items pretty much open the whole game once they're found is pretty close to Zelda 1 with the Ladder and Candle pretty much holding 2/3rds of the game hostage until I get them, but due to the size and speed at which I can beat that game being relatively short, I like to add it as a wildcard for myself anyway. But the best decision I made for it was switching the Tri-Force pieces vanilla, so that way I didn't find myself just waiting on the literal 'keys' to GO mode and Ganon's dungeon. Overall it was a better time than I had last run because of that.
For ALttP on the other hand... >.> Yeeeaaah... I bit off WAAAY more than I was ready to chew on with that entrance shuffler. It really killed the run for me and made all the normally difficult stuff in ALttP turn straight miserable. I will not be running it, nor the dedicated dungeon keys shuffler again for at least a pretty long time. As odd as it is, I actually preferred the keys working how they do in Z1 like I had accidentally set for my first session. Turns out the only thing I should've changed from those settings was the gastly recoloring of the game world lol.

Ooookay... Now to the less... Pleasant stuff. >.>
I am a player who will most often continue playing my multiworld games as soon as I have checks available. I don't like knowing that I might be holding someone else up with something I have in my games and I like playing with others who generally feel the same way. Now I'm not saying that people will always have time to work on their games ASAP, but having it be at least a decent priority is nice to see from running mates. I think making hardcoded rules on when you need to play and having to give a reason for delays is a bit excessive, but that's also taking into account the way I play, not the way others do, or the things that they are looking for in multiworld running mates.

That being said, I will also admit that I found some of the delays to get... Rather annoying at points. I don't know the causes for some of them, but that doesn't change how it feels to be someone with things they'd like to do, but needing to wait on someone else who might not even bother booting the game up that day. You have to either make an ass of yourself bothering them about it or just shrug and say 'guess I'll do something else I suppose :/' yeah, not too pleasant either.

There are other things on my mind as well, but I'm going to keep them to myself to avoid the risk of unnecessary arguments.

In the event there are more of these, I'll happily run them. Though hopefully I don't get super sick on the eve of setting things up so I can actually run some other games too next time. :p
 
A general guide on how to do that (especially from you) would be very helpful (especially for me as I'd love to learn how to do these myself), but don't feel like it's something you need to rush on.

I'll second this, I've hosted just a single Archipelago only for myself so I think I know the very very base amount, and learning more would be cool. I don't see it as a priority though, and I don't think I'd want several different Archipelagos hosted by different people with different rules on this site at the same time. If they're paced out okay, I'd be fine.
 
How to Host an Archipelago Game (The Basics)

Step 1: Decide host settings
Navigate to your Archipelago folder. Look for host.yaml and open it. (Personally uses Notepad++ to view and edit YAMLs. Link to the download page for that.) Contains settings for the multiworld. Describes most of them in the YAML itself, just above the setting. Suggests leaving most of the them alone. Some of the more notable ones, all near the top:

  • server_password: Set to null by default. Means no password required. Never used it and never hopes to need it. Finds it here, at any rate.
  • hint_cost: Determines how much a hint costs. Set it to 10 by default. Means you need to find 10% of your checks for 1 hint.
  • release_mode: Determines how players are able to release items. The modes: "disabled" (never), "enabled" (may release whenever), "auto" (automatically on goal completion), "auto-enabled" (automatic release on goal + manual release), and "goal" (allowed after goal completion).
  • collect_mode: Determines if/how players can use !collect. Has the same options as release_mode.
  • remaining_mode: Determines if/how players can use !remaining. (Tells you what items are in your game, but not where.) Modes: "enabled" (may do so whenever), "disabled" (never), and "goal" (only after completing your goal).

Do not worry too much about the stuff in the other three-fourths of host.yaml. Notably lists the name of the ROMs it is looking for in here.

Step 2: Get all the player YAMLs and APWorlds
Ask your players for their YAMLs. Go to your Archipelago folder, and then to the Player folder. Dump all the YAMLs in here. Do not put them in another folder within Players either. Will not read them if you do. Ought to look like this:

[PokeCommunity.com] Casual Archipelago (Complete)

Note: Do not worry about the Templates folder in there, if you have it. Just do not place any YAMLs you want used in Templates.

For games not officially supported: Ask what version of APWorld they are using. Potentially causes generation errors if you have a different APWorld version than they do. Finds links to the most recent in-development APWorlds in the Google Sheets of Archipelago games in the works. Could also ask your players for a link or the APWorld itself.

With an APWorld in hand, start at your Archipelago folder. Go to the "lib" folder, then to "worlds" folder. Stick all your APWorlds here. Do NOT put them in both lib>worlds and custom_worlds. Will cause an error during generation.

May rarely need a different APWorld for an officially supported game. Mainly affects games that are still receiving updates to the vanilla game. Names Terraria and Stardew Valley as two such games that could do that. (Likely no longer becomes necessary once Archipelago updates to 0.5.1, though.) Expects the player to tell you about using a different APWorld from an officially supported one.

Step 3: Create the game

Start at your Archipelago folder. Either:
  • A. Run ArchipelagoGenerate.exe
  • B. Run ArchipelagoLauncher.exe. Click "Generate" near the upper-left.

Makes no difference which you use. Opens up a command line window that creates the game, ideally without any input. Goes pretty quick with only a few games. May take a few minutes with 20 games.

Runs into errors and hiccups here, generally. Recommends generating a new game every time you get a new YAML. Figures out which YAML caused it easier that way. Will cover some more likely errors.

  1. Requires a ROM to generate. Says something like "Opening file input dialog for Select Pokemon Blue (UE) ROM File". Basically wants you to provide a ROM to run it. Locate wherever you put the ROM and select it

    Designed some of the later games to not need a ROM file to generate. Affects a few still, however. Some known ones: Pokemon Red/Blue, Zelda 1, Link's Awakening DX, A Link to the Past, Ocarina of Time, Super Metroid, SMZ3 (Super Metroid + Link to the Past), Donkey Kong Country 3, Kirby's Dream Land 3, Lufia II Ancient Cave, Megaman Battle Network 3, Secret of Evermore, Super Mario World, Yoshi's Island, and Castlevania: Symphony of the Night (just Track 1). Cannot provide these ROMs to you or tell you where to look, legally. Check your host.yaml to see what ROM you need.

  2. Please fix your yaml. Screenshotted an example of the last part of the error.
    [PokeCommunity.com] Casual Archipelago (Complete)
    Pay attention to the second to last line: "ValueError: File Earthbound.yaml is invalid. Please fix your yaml." Indicates an error with Earthbound's yaml. May be hard to decipher the cause yourself, especially if you are unfamiliar with the game. Try to skim it (or, better yet, ask the player). The problem here: Set the number of Sanctuaries Required to 9, which is more than the setting allows (max 8).

  3. Could not Progression Balance 50 items. Might see this fly by while generating, possibly with a different number. Should still generate if this happens. Simply means there were too many progression items to spread out evenly...or something like that. Leads to a lot of progression items early on. Do not worry about it, in other words.

  4. Already Registered: Spits out this error while generating: "RuntimeError: Game EarthBound already registered." Means you placed an APWorld of a game in both custom_worlds and lib > worlds. Still generated a seed, surprisingly. Cannot tell you which one it used, though. Delete one of the APWorlds to fix it.


Step 4: Unzip and Upload

Begin in your main Archipelago folder. Go to your "output" folder. Places a .zip file here by default. Should be named something like AP_31610875509970985939.zip, but with different numbers. Unzip it here (or wherever you can keep track of things easily). Personally uses 7-Zip for that (Link to that download area). (With that: right-click, go down to 7-Zip, then choose "Extract Here".) Contains the following things:
  1. An Archipelago server file. Named it something like AP_31610875509970985939.archipelago. Run this if you want to play locally. Will not need it if hosting online.
  2. A spoiler log. Will be a text file. Titled it something like AP_31610875509970985939_Spoiler.txt. Contains all the information about the seed and each player's settings.
  3. Patch files for every player that needs them. Expect something like AP_31610875509970985939_P2_DevalueRed. May not get a patch file for every player (or even most players). Will need to hand these out to every player with an unsupported game (if there is a patch file for them). May need to shove them in a .zip file in order to share them on the forums. (To do that with 7-Zip, highlight the files and right-click them. Pick 7-Zip, then "Add to output.zip" or whatever .zip name it gives you.) Should be able to download patch files for an officially supported game in the room.

To upload the game to the online server, go to the Archipelago.gg website. Click "Get Started" in the upper-right and choose "Host Game". Click "Upload File" and select the AP_31610875509970985939.zip file in your output folder. Hit "Create New Room" next. Recommends bookmarking your room. May also find it again by clicking the "Get Started" thing again and go down to User Content.

Set up everything if you made it this far. Talks about one more thing, however.

Server Commands

[PokeCommunity.com] Casual Archipelago (Complete)

May notice something different in the room, compared to seeing it as a player: the server command line and the log file. Sees everything that happens in the box on the bottom. Scrolls as things happen. May view a static version at Open Log File.

Inputs server commands in the little empty box. Lists all of them here: website link. Scroll down to the "host only" section. Might as well copy/paste the main ones here.
  • /collect <player name> Collects all the items from that player's game.
  • /release <player name> Releases all the items from that player's game.
  • /send <player name> <item name> Sends a specified item to a player.
  • /send_multiple <amount> <player name> <item name> Sends several of a single item to someone, such as small keys.
  • /send_location <player name> <location name> Sends the item at the player's specified location.
  • /hint <player name> <item or location name> Hints for a player's item/location without costing hint points. Appears in the player's !hint list, just like any other hint.

Two quick examples: Wants to send X Accuracy to Devalue Red. Types the following:
/send DevalueRed XAccuracy

To hint for Explorer of Time's Distortion Blasters (Banshee):
/hint ExplofTimeSC2 Distortion Blasters (Banshee)

Remove any whitespaces in the player name, notably. Writes "ExplofTimeSC2", not "Expl of Time SC2". Appears to make no difference if you remove whitespaces in the item name. Recommends peeking at the spoiler log if you need help to figure out what the item's/location's name is.
____________

Covers the basics. Will link this post in the first post to make finding this again a little easier. Feel free to ask any questions.


A More Advanced Option

Did not ask TwentyExEx or Arcaneum how to set up a game like Hexipelago with custom items. Might have figured it out. Describes this as more advanced. Involves some fiddling and know-how with Manual APWorlds. Will try to make it kind of understandable.

Step 1: Download Manual Event Files.zip at the bottom of this post. Contains two things: Event YAML.yaml and manual_Event_PokeComm.apworld. Place the YAML into Archipelago > Players and the APWorld into Archipelago > custom_worlds. (May be able to place the APWorld in lib > worlds too. Followed the instructions for manual APWorlds while doing this previously.)

Step 2: Dig into manual_Event_PokeComm.apworld. First, unzip manual_Event_PokeComm.apworld. (Recommends extracting it to a folder, like manual_Event_PokeComm\. Keeps things together easier.) Go into the "data" folder, then to items.json. (May need to associate .json files with something. Uses Notepad. Just plain Notepad, not Notepad++.) Ought to look like this inside:

Code:
{
    "$schema": "https://github.com/ManualForArchipelago/Manual/raw/main/schemas/Manual.items.schema.json",
    "data": [
        {
            "name": "Glowing Pokeball",
            "count": 10,
            "progression": true
        },
        {
            "name": "Okay Pokeball",
            "count": 20,
            "useful": true
        },
        {
            "name": "Boring Pokeball",
            "count": 20
        }
        ]
}
Made a "game" with 10 Glowing Pokeballs (marked as Progression), 20 Okay Pokeballs (marked as Useful), and 20 Boring Pokeballs (marked as trash) in it. Edit this as desired. Could add a second progression item, lower/raise the count, and so on. One note: Do not forget the , after the } if you add more item types. Do not put a , after the final }.

Save after you are done. Make a note of how many total items you have. Close it and open "locations.json" (in the same folder). Looks kind of like this:
Code:
{
	"$schema": "https://github.com/ManualForArchipelago/Manual/raw/main/schemas/Manual.locations.schema.json",
    "data": [
        {
            "name": "Location 1"
        },
        {
            "name": "Location 2"
        },
Will not copy/paste the whole thing. Continues on like this for 50 locations (the total number of items). Add or delete locations, as needed. As before, mind the commas after the }. Save and close it.

Optional: Check out game.json. Is only a few lines long. Look for "filler_item_name". Adds trash items if the game has fewer items than locations. Named them "Good Vibes". Feel free to change that.

Step 3: Convert it back to an APWorld. Right-click the "manual_Event_PokeComm" folder (or all the files, if you did not do a folder). Zip them. Personally goes to 7-Zip, then "Add to 'manual_Event_PokeComm.zip'". Next, if you do not have file extensions turned on, do so. (In Windows 10: Click the View tab in your File Explorer window. Check the box for "File Name extension".) Rename the .zip to manual_Event_PokeComm.apworld. Will warn you the file may not work properly. Do not worry about that.

After turning it into a .apworld, delete the "manual_Event_PokeComm" folder (or loose files, if you did it without the folder). Causes errors if both it and the APWorld are around.

Step 4: Adjust the YAML. Head to Archipelago > Players. Open Event YAML.yaml. Looks like this:
Code:
Manual_Event_PokeComm:
  progression_balancing: 50
  accessibility: items
  exclude_locations: {Location 1, Location 2, Location 3, Location 4, Location 5, Location 6, Location 7, Location 8, Location 9, Location 10,
  Location 11, Location 12, Location 13, Location 14, Location 15, Location 16, Location 17, Location 18, Location 19, Location 20,
  Location 21, Location 22, Location 23, Location 24, Location 25, Location 26, Location 27, Location 28, Location 29, Location 30,
  Location 31, Location 32, Location 33, Location 34, Location 35, Location 36, Location 37, Location 38, Location 39, Location 40,
  Location 41, Location 42, Location 43, Location 44, Location 45, Location 46, Location 47, Location 48, Location 49, Location 50}
  non_local_items: {Glowing Pokeball: 10, Okay Pokeball: 20, Boring Pokeball: 20}
      
description: 'Generated by https://archipelago.gg/'
game: Manual_Event_PokeComm
name: PokeballStore
Excluded all 50 locations. Prevents any player's progression items from landing in this fake game. Also made the items non-local. Guarantees all of the event items to be in a player's game. Change the location names and non-local items, as necessary.

One note: Feel free to change "PokeballStore". Do not change Manual_Event_PokeComm, however. Forgets precisely everything you need to change in order to do that. Maybe just the name of the APWorld? Shrugs.

Step 5: Generate the game. Ideally manages to create a game with no errors. Received tons of errors doing this the first time. One common error: items.json or locations.json empty. Means you forgot a comma (or several) somewhere in those.

Step 6: Going into the Manual APWorld. Unzip the seed you made. May notice a .apmanual file in there. Does not need it. (Theoretically takes you to the manual client if you double-click it. Never worked.)

Go to your main Archipelago folder. Run ArchipelagoLauncher.exe. On the right-side of the launcher, look for and select "Manual Client". Looks like this:

[PokeCommunity.com] Casual Archipelago (Complete)

Put the server address in, as usual (or localhost for a locally hosted game). Type "Manual_Event_PokeComm" into the second field, as above. Hit Connect. Will ask you for a slot name. Chose "PokeballStore" in the YAML, as you may recall. Typed that in and connected.

To release all the items, simply type !release...if you allowed that. If not: click the "Manual" tab in the client. Ought to see something like this:
[PokeCommunity.com] Casual Archipelago (Complete)

Click Location 1, Location 2, and so on. Sends the items one-by-one. Flip to the Archipelago tab in the client to see what was sent. Also finds the "Goal Complete" thing at the end of all the locations. Click that, if you want.
 

Attachments

  • Manual Event Files.zip
    37.4 KB · Views: 0
I apologize for the bluntness, but the whole group was delayed significantly by you not getting hinted items promptly. There was a part of the Archipelago where you let Arcaneum's final Chaos Emerald go uncollected for five days after it was first hinted, and Arcaneum took an extra couple days on top of that to actually clear the 2-5 minutes of gameplay and release Sonic Adventure 2. Me, Alex, Setsuna, and Vendily were all completely stuck, while what could have taken fifteen minutes in a competitive Archipelago, or a day or two in a reasonable casual archipelago, instead took a whole week.
[PokeCommunity.com] Casual Archipelago (Complete)


I'll mention that I didn't really care that I was walled off because y'know I expect that kind of thing to happen in an Archipelago and I've been busier/dealing with some stuff this month so another fast-paced kind of thing might've been a lot. But I will say that regardless of mandatory activity requirements or not, if you sign up you should play and keep on top of things. People can do whatever they want with their time, that's not my business, but in a group setting like this where several people can't proceed because they're depending on something from you, then it's no longer only your business.
And again, I personally don't mind having to wait a week or something. But I think that's more what I mean in terms of communication:


The previous Archipelago here didn't feel like it had that kind of situation, a lot of us were still learning what was going on and how to set things up or play, but it felt (to me at least) that things were engaging and progress was being made. Between both admittedly getting unlucky and having things like my Power Beam or Artifact of Spirit being late-game checks or behind a chain of items as well as the combination of not knowing what some people were doing/if they were still even playing mixed with feeling pushed around when I couldn't do anything, I think that's what left my dissatisfied.
I didn't know what you were doing, where you were at, or if you were waiting on anything to proceed, the most I got was just that EoT was talking about things in your game and pinging you.

I also don't want to bring up something from another event, but in the Hexipelago as well I had no clue you were playing or what was going on until someone else had told me you had cleared your goal and released your item, meaning I was sitting on some of my checks I didn't even realize I could access.

tl;dr, people being given the flexibility to play when comfortable is fine, but that means you're delaying everybody else, and people should be communicating any delays. My desires for a future Archipelago are more about talking more and respecting other people's time.
I see, I'll try to be more communicative next Archipelago.
 
Back
Top