Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Discussion: Mission Order Ideas #174

Open
MatthewMarinets opened this issue Mar 12, 2024 · 3 comments
Open

Discussion: Mission Order Ideas #174

MatthewMarinets opened this issue Mar 12, 2024 · 3 comments
Labels
enhancement New feature or request

Comments

@MatthewMarinets
Copy link

MatthewMarinets commented Mar 12, 2024

What feature would you like to see?

There's a lot of ideas floating around about mission orders, trying to make a single place to discuss them.

New Mission orders

  • Funnel -- An inverted triangle where you start with a full row, beat a mission to unlock missions below it, rows get narrower until width 1 is the goal
XXXXXXX
 XXXXX
  XXX 
   G
  • Hourglass -- like funnel, but re-widens after a pinch point. Beat the middle bottom mission to win
XXXXX
 XXX
  X
 XXX
XXGXX
  • Plaid -- grid with every 4th mission removed:
XXXXX
X X X
XXXXX
X X X
XXXXG
  • Ring -- like grid with middle removed (--Salzkorn)
    • Phanerus: this will likely need a width to it, otherwise it's functionally identical to two non-interacting linear orders
XXXXXXX
XXXXXXX
XX   XX
XX   XX
XX   XX
XXXXXXX
XXXXXXX
  • Knight's Tour -- like a grid, but missions unlock a knight's move away rather than adjacents. (half-memeing here)
    • Higher connectivity and potentially shorter length than grid for the same size

Programmability

  • Salz was looking into making a "custom" mission order that allows construction of a custom mission order from primitives (grids, columns, etc)
    • This will likely result in a complicated yaml interface, and won't work in website options
  • Could also allow yamls to define a custom shape with strings, and use grid connection rules
  • Could also allow multi-campaign with arbitrary number of campaigns, and allow specifying cross-campaign requirements to achieve the same effect as Salz's proposal

Theory

Phanerus: I think of the "feel" of mission orders as coming from these parameters:

  • Connectivity, ie average number of missions unlocked by beating a mission
  • Optionality, ie how many missions are unavoidable vs you have choices and can never do one
  • Length, ie how many missions do you actually need to beat
  • Size, ie how many missions are there
    • (Optionality / length / size can probably be simplified to just 2 parameters)
  • Change, ie how do the above characteristics change as more missions are beaten
  • Presentation, ie how intuitive is progression

We have a good cover of connectivity / optionality / length / size, but change and presentation are a little under-serviced

Presentation

  • It would be cool to be able to draw on the mission launcher background or have background images

  • Vanilla / WoL-like mission orders kind of just look like blobs without some visual pizzazz. It would be very nice if we could make them graph-like, similar to vanilla mission unlock charts:
    image

  • It would be cool if we could hide future missions / structures until you get close or unlock them

@MatthewMarinets MatthewMarinets added the enhancement New feature or request label Mar 12, 2024
@Magnemania
Copy link

Magnemania commented Mar 12, 2024

Funnel: I'm curious as to how this would play out. Having the bulk of the checks available early would probably result in a ton of forced dipping into missions to get the free checks; the linearity at the start of most mission orders forces the logic to give the player something early.

Hourglass: Could be interesting, I like the idea of having a generic single-campaign version of how the short HotS/short LotV orders play out.

Plaid: A bit gimmicky, but there's value in having an option to tone down the freedom of Grid.

Ring: I don't like this one. It looks like two Blitzes attached to each other, and I think Blitz is the worst mission order at the moment. Plaid accomplishes "grid with fewer optional missions" better.

I'm not sure what Salz is currently implementing and how any changes would affect it, but I strongly believe that Blitz and Gauntlet should be converted to dynamic mission orders (respecting the Maximum Campaign Size option) and the non-dynamic Grid orders should be dropped. I really don't like having more settings on the settings page to scroll through without getting as much as value as possible out of them. Same goes for the suggested mission orders; all of these could be scaled dynamically.

It would be cool if we could hide future missions / structures until you get close or unlock them

I think we'd run into UI difficulties if we only rendered available/completed missions, but I do like the idea of an options to hide some information from the player. These are two options I've been considering for a while, but never got enough motivation to jump into the client code to implement them:

RevealMissions(DefaultOnToggle): Whether to reveal all missions at the start of the game (default) or to only reveal missions as they become available. I wouldn't bother extending this behavior to the tracker, I'm fairly sure there are core-level commands that reveal what locations exist in the multiworld.

RevealRewards(Toggle): Whether to reveal rewards for completing checks in the available missions. This is how vanilla works. Ideally, we'd display those rewards in the location list tooltip when mouseovering a mission, and AP has an autohint feature to make it better for multiworlds.

Also (going off on a bit of a tangent here), AP has support for entrance randomization hints. We could use these to show where a mission is in the campaign when a player hints, ex. Raynor's Marine is at The Outlaws: Rebel Base in Swann's World at Korhal Mission 2 or Artanis's Zealot is at The Reckoning: Victory in Kerrigan's World at Column 4, Row 3. This would help for situations where a nonlocal player wants to get an idea of how difficult it would be for the hinted item to be reached without asking the targeted player where the mission is.

As far as mission order suggestions go, I have the Golden Path mission order I've already put together:

image

The player must complete 75% of the available missions to progress down Column 1, the golden path. The player progresses down the optional chains like the campaign-style mission orders, but they cannot start a mission until the golden path mission on the same row is complete. This provides a healthy balance of mandatory choke points, optional missions, and skippable missions, and the player should always have an interesting decision to make when pursuing the next mission.

And a theoretical mission order I've been considering:

E S E    N N N    H H H
E E E    N N N    H H H
  N        H        F

Trinity: The campaign is divided into three islands: Easy Island, Normal Island, and Hard Island. Completing any mission on an island unlocks the one-level-higher "boss" mission at the island (bottommost mission), and completing that mission unlocks the next island. Scaling works by dividing the mission count by 3 and setting that as the maximum island size, then shrinks the islands individually if there aren't enough missions in a difficulty to fill them. Fails if there aren't at least two Normal and Hard missions. Unlike other mission orders, Easy slots can only be filled by Easy and Starter, Normal slots can only be filled by Normal, and Hard slots can only be filled by Hard and Very Hard.

@MatthewMarinets
Copy link
Author

MatthewMarinets commented Mar 13, 2024

Missed opportunity not calling your island mission order "archipelago". Could also have more islands of the same difficulty, though not sure how valuable that would be. Just imagining six of them making the Archipelago logo.

I'm looking forward to golden path, I've been calling it "WoL-like" as that's where the discussion started with it. I'm still worried that visually it looks a bit too much like a blob so it doesn't feel as structured as the other mission orders even if it is.

I'm also unsure about the ring mission order, I just wanted to include it to capture a bunch of details from the discussion on the discord. If the ring doesn't have a width, it's just two gauntlets. I'm not sure the ring width adds much, though. That's my interpretation on Salz's words, so I could be misrepresenting the idea, though.

Plaid I mostly proposed because it seems easy enough to implement by just copying/updating the grid generation, and feeds into my idea that what a player feels is basically branching factor. For a meme-y proposal that increases branching factor over grid, I also thought up "Knight's Tour", which looks like a grid but missions unlock a knight's move away (2 spaces one direction and one at a right-angle).

I don't expect any mission-order hiding to be super robust to people peeking behind the curtain, and I don't think it's worth pursuing that. There's already a ton of options a user can change between missions, and I'd like even more. It feels like a more presentable in-game console, or maybe cheat-codes at the Archipelago level, and I think it's better for revealing / toggling visibility to be available through that interface. With a community like Archipelago that has so many customization options, I think it's better to allow the players to make those decisions as they want.

@Magnemania
Copy link

Magnemania commented Apr 17, 2024

This is less of a "let's make mission orders for the sake of making mission orders!" idea and more "easy to understand how it works and easy to understand why you'd want it"

image

Diagonal: Grid movement rules. Player chooses their even-numbered missions and is forced into their odd-numbered missions. This provides simple blend of freedom/forced with a very straightforward ruleset, and it ensures that a player is always one mission away from a skipped mission if they need to replay it for progression/multiworld reasons.

Might make it scale cleaner in the client by introducing additional diagonals if the width of the first diagonal exceeds 5. (Finishing a diagonal would unlock the next)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants