fabianvanhummel / basements-and-lizards

Epische coole app door bazen
0 stars 0 forks source link

Nadenken Items & Inventory implementatie #88

Open Djep0 opened 2 years ago

Djep0 commented 2 years ago

Over items in inventory en events had ik jullie hier getagd: https://github.com/fabianvanhummel/basements-and-lizards/issues/62#issuecomment-979069499. Ik denk dat we de discussie het beste hier verder op kunnen pakken. Momenteel identificeer ik onderstaande zaken rondom items. Ik zal even een samenvatting van mijn mening over de puntjes toevoegen. Wat mij betreft kunnen we daar nu vast wat over heen en weer berichten en eventueel met de volgende bespreking spijkers met koppen slaan.

Items oppakken:

Beide zaken zijn misschien een beetje edge cases, maar zelf vind ik het leuk als we deze opties hebben in verhalen. Bovendien zie ik geen nadelen aan het wel implementeren.

Items in inventory:

  1. Key items a. Sleutels
  2. Usable items a. Consumable b. Toggles

TLDR: Er zijn best wat opties, mijn favorieten zijn atm: 1: Key items laten fungeren met item requirements 2a: Consumables voor nu buiten scope 2b: Toggle items laten werken via events

Lange uitleg

1: Key items lenen zich in mijn ogen heel erg goed om geïmplementeerd te worden door middel van item requirements. Als de party in het bezit is van een bepaalde sleutel, dan is het bij behorende Path/NPC/Whatever beschikbaar.

2a: Consumables zijn ietsje lastiger concreet te maken in de huidige opzet, ik denk niet dat we al echte consumables hebben. Een voorbeeld wat ik me voor kan stellen is een item die een NPC spawnt (lamp wrijven). In mijn ogen kan dat gebeuren met een property (isUsed) op het inventory item en dan een requirement. Maar voor zo'n consumable is het in essentie denk ik netter als het item optioneel een event triggert en daarna verdwijnt uit de inventory. Omdat we nog geen echte use case hebben voor consumables mogen we dit van mij voorlopig uit de scope houden.

2b: Toggles zijn denk ik al leuk om te introduceren, daarbij vind ik een torch een leuk voorbeeld. Ik kan me voorstellen dat sommige ruimtes te donker zijn zonder torch, dus dat de party niks ziet. Anderzijds kan het in andere gebieden zijn dat NPC's ongewenst op de party afkomen als een torch aan staat. Daarom wil een party de torch aan en uit kunnen zetten. In mijn ogen kan dit via een item property (isUsed) die aan en uit gezet kan worden en dan elementen met requirements laten werken. Maar anderzijds kan een use ook geregeld worden door events, dat laatste heeft mijn voorkeur.

Een alternatieve oplossing voor usable items is consumables omzetten in bijbehorende key items indien ze een requirement bedienen, bijvoorbeeld: Een Geest NPC heeft als requirement het item Gewreven lamp (Key item). Wrijfbare lamp (Usable) gebruiken doet het volgende:

  1. Voeg Gewreven lamp (Key item) toe aan inventory
  2. Verwijder Wrijfbare lamp

Toggle voorbeeld: Torch (Usable) gebruiken doet:

Schayik commented 2 years ago

Ten eerste wil ik eigenlijk nog wat meer focussen op een MVP eruit krijgen dan al deze opties al proberen uit te werken. Dit geldt ook voor #82. Het is goed om over deze dingen na te denken, maar ik denk dat we de meeste dingen achterwege moeten laten voor de eerste versie.

Volgens mij kunnen we al een mooi verhaal maken met:

Dingen die we al proberen maar nog niet nodig hebben:

De MVP klinkt misschien heel bare-bone maar juist omdat het role playing is kun je wel al een mooi verhaal maken met wat duidelijke doelen: ga op zoek naar dit item zodat je hier doorheen kunt en vraag deze npc om hulp.

Ook omdat we alleen wekelijks meeten is het belangrijk om kleine doelen te stellen zodat we niet eindeloos/doelloos dingen blijven toevoegen en de structuur verliezen.

Sorry beetje een zeurderige post maar ik wil graag een einde zien 😁😘

Schayik commented 2 years ago

Nu ingaan op de items zelf:

1: Ja dit is zowiezo nice, gewoon een simpele check of een item in een inventory zit en dus een path beschikbaar maken 👌.

2a: Inderdaad nu buiten scope. Als een key maar 1 deur kan openen kan het misschien wel handig zijn als het een consumable is zodat je je er geen zorgen meer over hoeft te maken. Kunnen we nog altijd bekijken.

2b: Dit houd ik dus het liefst ook buiten scope, maar zijn wel goede voorbeelden 💪.

2a+2b:

We kunnen deze dingen misschien ook combineren. Een item kan namelijk een consumable zijn, dus als je het gebruikt verdwijnt het. En als je het gebruikt, krijg je een bepaald item. Oftewel, als je een Torch hebt die uitstaat en die gebruikt, verdwijnt die Torch die uitstaat, maar krijg je een Torch die aanstaat. Is iets meer general use-case denk ik.

(wel weer de vraag wat het toevoegt om een torch aan te moeten zetten, dit kan de BM ook zelf een beetje bedenken.)

Djep0 commented 2 years ago

We willen nadenken of we een mooie use case kunnen bedenken voor usable items. Zo niet zetten we dit voor nu buiten de scope van deze versie.