AEFeinstein / Super-2024-Swadge-FW

Firmware for the Super Magfest 2024 Swadge
https://adam.feinste.in/Super-2024-Swadge-FW/
MIT License
12 stars 9 forks source link

Unlockable Trophies / Cards #100

Open dylwhich opened 1 year ago

dylwhich commented 1 year ago

Summary This feature is a system that allows modes to easily unlock trophies that will apply across the whole swadge. These trophies could either be special ones that are unlocked by a specific mode/achievement, or they could be more generic ones that can be unlocked randomly. These trophies could also act like trading cards (and maybe we'd call them that instead too), and perhaps duplicates could be collected.

There would also be a mode, something like a "Trophy Room" that would let you see the total number of trophies, view the ones you have unlocked, and maybe even trade them with other swadges.

Each trophy would have:

Things that could be the subjects of of trophies / cards:

Technical Spec For modes wishing to unlock trophies, there would be a few simple functions:

For the trophies themselves, they would be stored in a JSON asset, structured something like this:

[
  {
    "name": "King Donut",
    "number": 1,
    "model": "king_donut.obj",
    "desc": "King Donut is the supreme ruler of the MAGLord. Did you know that MAGFest is a donut?",
    "drop_rate": 1,
    "stats": {"Height": "16.7m", "Weight": "83,204kg", "Age": "Timeless"}
  },
  {
    "name": "Gunship Swadge",
    "number": 2,
    "model": "gunship_swadge.obj",
    "desc": "It looks very familiar...",
    "drop_rate": 10,
    "stats": {"Buttons": "8", "Pixels": "53,564", "Speakers": "2"}
  },
  ...
]

UI What are the display screens & menus (if applicable)? What user inputs are there for each screen?

The main UI would just be a simple screen showing each trophy's information and model/image, where you can navigate left/right to go to the next unlocked trophy.

There could also be a main screen which shows basic info (number out of total unlocked) and shows a list-style overview of all the locked or unlocked trophies. And for trading, users would be able to select trophies to use for a trade here, which confirming would lead to another screen to connect and confirm an incoming offer.

Mockups Paste any mockups of screens or anything else here.

detail view of a trophy

How to Test How can we verify the feature is working?

AEFeinstein commented 1 year ago

Seems good! I'm a bit jaded this year, but I bet getting assets and text will be harder than spinning up the trophy system. Do you plan on trophy-ifying modes, or putting that onus on devs? It's a little lateish in the development cycle to scope creep everyone.