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

RIP: CharacterSheets - Phase 2 #157

Closed
ECWireless opened this issue Jan 22, 2024 · 5 comments
Closed

RIP: CharacterSheets - Phase 2 #157

ECWireless opened this issue Jan 22, 2024 · 5 comments
Labels

Comments

@ECWireless
Copy link
Contributor

ECWireless commented Jan 22, 2024

Project Idea

You can view the Phase 1 proposal here.

The goal of CharacterSheets is to be a gamified and on-chain representation of RaidGuild. For this RIP, the deliverable is a dashboard that allows RaidGuild and cohort games to be played on a continuous and asynchronous basis. By the end of this RIP, all RaidGuild and cohort members should be able to:

  1. Generate an ERC-6551 character
  2. Assign themselves lvl 1 classes
  3. Earn class-specific XP for tasks and raids completed
  4. Be leveled up when class XP thresholds are met
  5. Claim and equip items based on XP and/or class levels
  6. Migrate their cohort character to the main RaidGuild game

A key to this RIP is ensuring that the CharacterSheets, while fun, represents RaidGuild and cohort members--their skills, value-add, and accomplishments--accurately.

Summary

This phase is meant to be the last, with the goal being to make CharacterSheets both useful and playable by any group. There are currently no future plans beyond Phase 2, at least not until a time when CharacterSheets is deemed (by the guild or others) useful enough to want to extend it further. Future phases should probably be funded through means beyond RaidGuild, such as public goods grants.

One way the goal of this phase could be described is as taking CharacterSheets from an MVP to an "alpha" state. Meaning: at the end of this phase, future versions will be based on actual user feedback, and not based on the initial project ideas. At the alpha release, all necessary components of being able to play an async and continuous game based on professional work will be complete. Future features will primarily be considered enhancements.

Before stating the feature-groupings for this phase, it's important to stress what the 3 focuses should be:

  1. Ensuring games are as fun and useful for RaidGuild and cohorts as possible
  2. Ensuring class leveling is fair, easily understandable, and automated
  3. Ensuring that anyone outside of the RaidGuild can create their own game with little or no support from us

These focuses should be thought about at all times when the following feature-groupings are being built out:

  1. More items
    • We need to make sure that every single RaidGuild class has at least 1 claimable item
    • We should create at least 1 XP-restricted item
    • We should create at least 2 "purely cosmetic" items
    • The items proxy contract needs to be upgraded to allow and/or class restrictions for items
      • For instance, you should be able to claim a certain sword if you are a Warrior or a Paladin
  2. Class leveling
    • We should start integrating with DungeonMaster
      • Render characters as raid party members
      • Disburse class-specific XP based on raids shipped
        • 1-to-1 with how much stablecoin you've earned to XP
        • We can check this using splits and smart escrow contracts
        • Gets more complicated the farther back you go
        • Only worry about future distribution of XP for now
    • XP burning should be removed everywhere except for as an emergency function
      • We should also allow burning of class XP
    • XP should be associated with a class even before it is leveled
      • For instance, I would want to know how close I am to leveling up as a Warrior
      • We can do this be adding an address => classId => balance mapping in the class contract
    • We should render the general character level to the class card
      • This level is based on all class XP, plus general XP
      • Need a design for this
    • Bot could announce when a character has leveled up (make it a bit of a celebration)
  3. Migrating characters from cohort games to main game
    • At some point during this phase, we should create a game for cohort 6
    • In order to "import" a character into another game, the character must pass the eligibility module check, and receive a player/character hat
      • Cohort items won't be able to be transferred to the main RaidGuild game
      • We will need to create a server that looks at the Cohort game classes and XP, then mints corresponding amounts in the main game when the character is "imported"
      • The character will be visible on both the Cohort and Main game page, possibly even with different items and stats
      • They could also receive cohort specific items if we want
  4. Deploy contracts and subgraph for more chains
    • New chains:
      • Optimism
      • Polygon
      • Sepolia

Why should we build this?

CharacterSheets is an experiment that extends what RaidGuild already is: a slightly gamified way to work professionally. The hope of this RIP is to nudge RaidGuild further towards a fully gamified way to work professionally. But why would this be beneficial? Right now, RaidGuild "plays" together in a very socially-tracked way. The dynamic works well in the moment, but it becomes almost impossible to figure out what occurred in the past, especially if you are a new member, or haven't been involved in a while. DungeonMaster improves this experience by tracking a history of consultations and raids, but we still don't have a good way of tracking the accumulated experience or activity level of individual raiders. CharacterSheets hopes to resolve this by offering insight via the issuance of general and class-based XP. This XP (as well as corresponding character levels) will be easily readable and filterable on a character/raider's card, thus making it easy to identify who is doing what, and at what skill level.

Additionally, in the short term, it also adds a couple benefits to the cohort experience and to RaidGuild's online presence:

  • It can be used to stir up interest for people thinking about joining the cohort
  • It allows the cohort to be played at any point, continuously and asynchronously
  • It adds more fun to the cohort experience
  • It has a decent potential of keeping cohort members retained and more active after the cohort ends, since they now have a character to keep playing as
  • Having a character based on activity makes it easy for other members to see what they've done and how experienced they are
  • RaidGuild's main referral (behind Google) is X, and CharacterSheets is project that can be posted about throughout its build and play-through
  • It can be shown in demos, which brings attention to RaidGuild
  • It can be written about in blog posts (such as State of the Raid)
  • It can be included as a RaidGuild project for grant funding

SPEC

View the detailed spec here.

Raid Party Skills Needed

Timeline

See detailed timeline here.

Start date: 1/29/24

  • Wizard work: 1/29 - 2/9
  • Paladin Work: 2/1 - 2/23
  • Warrior Work: 2/12 - 2/23
  • Archer Work: 2/1 - 2/16
  • Buffer (testing/QA): 2/24 - 2/29

End date: 2/29/24

  • Demo to the guild on 3/7 (because of ETHDenver the week prior)

Cost (in USD)

  • Estimated hours:
    • DeadCe11: 20 hours
    • ECWireless: 87 hours
    • dan13ram: 40 hours
    • Bennisan: 34 hours
    • Total: 181
  • Cost: $10,000 (capped at that amount)
@derrekcoleman
Copy link
Member

Project kickoff today in full force. Low vote quantity has team feeling tentative and desiring feedback, if folks have any.

Looking to ship before ETHDenver and demo right after.

@ECWireless
Copy link
Contributor Author

Working on smart contract updates, plus the nice-to-haves from phase 1.5. Next week will be focused on fitting the smart contract changes into the frontend.

@Seroxdesign
Copy link

Was paused for a few weeks, starting again soon.
At the midway point right now.

@boucherbox
Copy link
Member

Sepolia version Demo'ed on RR Thursday April 4th

@ECWireless
Copy link
Contributor Author

@wtfsayo wtfsayo moved this to Final in RIP Requests Jun 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: Final
Development

No branches or pull requests

4 participants