Giter Site home page Giter Site logo

vandivier / arias-tale-rpg Goto Github PK

View Code? Open in Web Editor NEW
3.0 3.0 1.0 321.75 MB

tech-forward role play experiment for fun, skill development, and community!

Home Page: https://ariastale.com

License: MIT License

JavaScript 8.47% TypeScript 89.45% CSS 2.08%
chatgpt generative-ai trpg typescript rpg t3-stack tcg ttrpg

arias-tale-rpg's Introduction

hey! ๐Ÿ‘‹ my name is John. nice to meet u!! ๐Ÿ˜„๐Ÿฅฐ

  • โญ๐Ÿ” I'm a SWE and social influencer passionate about teaching others to code! Check out my socials here. Use this template to make your own social site!
  • ๐Ÿ–ฅ๏ธโŒจ๏ธ I love teaching people to code! Learn with me through Ladderly and my educational TikTok page! ๐Ÿ˜„
  • ๐Ÿ’ผ๐Ÿ” Check out my portfolio here. Use my portfolio as a template to make your own!
  • ๐Ÿ”ฎ๐Ÿง™ Get your fortune told using my current recreational project called Futurecaster
  • ๐Ÿ“ซ๐Ÿ’ฌ Twitter is an easy way to reach out to me.

arias-tale-rpg's People

Contributors

robertmetzker avatar vandivier avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Forkers

robertmetzker

arias-tale-rpg's Issues

Art subjects to DB

And use a short description field

Let art roll page copy the description to clipboard too not just the prompt

Abridged docs should use these short descriptions as the narrative

custom avatars

as a user i currently get stuck with my google or discord avatar.

me no likey

let me upload my own thing.

this can be a premium feature maybe. and also we can have unlockable avatars. i feel like i should get a free random avatar that would be cool and not force me to use the third party avatars

feat: email verification and custom auth

this will include a mailer and resetting passwords

i should be able to create a login without discord or google

relates to #51
that will basically be a three-way verification where on ladderly I will claim ownership of an aria's tale account, then aria's tale will call to ladderly and say "I have this email and this user ID, do you have a user with the same email that claims ownership?" if answer is yes then send an email to that address to triple-confirm then the callback there with timeout token will finally confirm

also blog that triple conf process bc it's based

rules and tools docs

i think this scope is different from lorebook, gallery, and blog

or maybe it is just a single page / FAQ that points to a collection of blog articles? if we want the rulebook-as-blog?

basically, if some other group of players wants to run their own campaign, how do they do that?

yes, they can watch the youtube plays as examples. we should give them text reference too though

episode gallery

shouldn't be much work once #3 is in

add a new line item beyond character portraits

user settings

allows users to declare if they want to join a live play stream or contribute to literature or code reviews

consistent image sizes

the searchable image dimensions are inconsistent which leads to a poor experience while browsing random images in the gallery

use an ai enhanced upscaler to map them consistently to a large size, then give them a consistent downrender for high dps and so the image doesn't overflow the fold on a desktop screen

domain name

arias-tale.com is for sale as one example

abridged mode

gpt-3.5 has a 4k token window so it can't store full metagame instructions let alone leave space to contextualize narrative and add new tokens

gpt 3.5 also cannot use tools like die rollers, so every roll table needs a qualitatively explained alternative

so, let's create an abridged mode:

  1. battle is always narrative mode
  2. one to two sentences each for narrative chapter summaries, character descriptions, and background lore

after we get a version gpt 3.5 can use then we can play test it and compare vs claude

narrative has multiple arcs

narrative.md shouldn't exactly be a thing anymore

instead there should be a few narrative arc pages for aria, caelum, etc... all in the README

account deletion, social disconnect, and multilogin

currently, if i socially login with discord, then logout, then login with google, the system will create two different user IDs

as a user, I would like the option to be able to delete one of my accounts if I do this, and the ability to delete both of my accounts if i want. i should get a warning and need to confirm

then as a user i would like access to a profile page where i can associate a google and discord account to one user id

characters to DB

move character records from the csv encyclopedia to the database

involves prisma work and also GPT-4 detailed description for each character

butterfly effects

and entropy from other sources besides die rolls

tie it to community involvement and plot if possible

eg a friend who doesn't like RPGs but like FPS games (ehem no one in particular...)

we can use his win/fail some challenge as a game win/fail

and possibly tie in to the game world itself (eg their FPS game can pseudo-represent archery in the game world or smth)

deeper discord integration

welp t3 came with discord login ootb which is actually wild

now we can make an aria's tale discord emoji from the favicon? maybe integrate the site or character generator to discord? what else?

there is a bot available on the discord dev app side not sure how to use it

enhanced gallery: fan art

depends on #4 and fan art worth shout out being found there (ideally 3 item minimum
depends on #3

so this idea is: once there is some good fan art we can give them like official shout outs and spotlights on the website

also, the existing categories should have a filter between canon and fan art once we implement this:

  1. lorebook
  2. videos
  3. pictures

Multiple images per base card

We keep rolling certain scenes and sometimes there just aren't that many aspects to the scene so we are effectively making the same card. So just let multiple images point to a play card eg exhausted Caelum

structured images with search

let users vote up or down on unofficial images

images have:

  1. id
  2. title
  3. description
  4. tags (we group images by tag, so tag by character, chapter, and kind eg place, episodic, or blooper, or style)
  5. url (calculated from id+title)
  6. arc (optional, w health check on episodic)
  7. chapter (optional, w health check on episodic)
  8. rating (-5 to 5 per voter, requires auth)
  9. status (proposed / canon / rejected...requires admin to change)

possibly structure blocks #3
although the voting piece could be split out if needed

ladderly integration

as a user i want to be able to buy cards and stuff

but, we don't have a payment processor right now

one work around is to prove ladderly account ownership, and ladderly payment gets me rewards over here

or just delete this feature request if we get first-class stripe integration or w/e to directly buy stuff

stupid mode online TCG Play now!

stupid mode is that only battler cards work and their effects don't work, it's just power-only

if you draw a non-battler you redraw

game ends when one player has monsters on the field for a full round

game stalemates if the field doesn't change for three rounds

probably blocks #38

game card details page

blocks #38

just have a details page similar to the image gallery

maybe gallery/cards ?

and it shows full card details like battlerHealth and other stuff hidden by default on the search page

also, it should show the image description and title too and link to image page

also, card and image search table needs both columns with card description hidden by default

bad/ui

i think we are going to use shadcdn

he doesn't want to publish npm (https://ui.shadcn.com/docs)

if i reuse these components across my projects i'll wrap em into bad/ui which is initially just copying that stuff and putting it on npm (not doing what docs recommend bc we're bad)

and in the future we can add our own stuff too (bc we're bad)

image voting

extracts the voting UI from #34

also the authentication and voting logic

but the model should already have rating. a user vs a list of SearchableImageIds

character generator

uuid seeded character generator with common -> unique generation based on aria's tale d20 rarity rules

the character generator must be versioned. uuid+generator version should always return the same rarity, stats, and other details

v1 generates these fields:

  1. rarity
  2. level
  3. stat point distribution
  4. gear check
  5. awakening region
  6. race
  7. gender
  8. class
  9. backstory
  10. memcheck

rolling a unique character bestows a unique character soul and a bonus character of non-unique rarity (double unique roll bestows unique-1 rarity, currently epic). unique character souls will be usable later, not in this user story. for now, just attach it to the user account as a sort of currency.

if memcheck passes then the user can pick some overrides. override data should be stored separately from the reproducible uuid+generator output snapshot. we can later add monitoring to ensure no profanity in the name:

  1. character name
  2. race
  3. gender
  4. class
  5. stat point distribution

user can also update these fields at any time whether or not memcheck passes:

  1. user notes (private string)
  2. ready to play (private bool meaning the user wants to be notified if the character is encountered in canon and would be willing to play their character)

here's another character data which is not user-controlled:

  1. canon episodes (public id list)
  2. canon notes (public string)
  3. user id relation to character uuid, created at, updated_at

communities

reddit and discord

discord is just the ladderly gaming channel

reddit is a new reddit. focus on generating fan art

getting 100+ maus is a good marker to then push for fan art

physical card printing

https://www.makeplayingcards.com/custom-print-game-cards.aspx

https://www.makeplayingcards.com/promotional/card-game-boxes.html

https://www.qinprinting.com/custom-card-sets/

prob some others too look around

https://www.printmagic.com/trading-card-printing/trading-cards/

the main constraint seems to be foil booster packs. one option is to sticker them instead of printing on the foil. another is, just don't sell booster packs? booster packs can be virtual-only then players can have a deck printed that they already own the cards?

foil+sticker/label approach: https://printninja.com/printing-resource-center/printing-options/custom-game-printing/packaging-options/booster-pack/

equipment validation to race and form

today, a character can equip an item see #33

part of that is an item is equipped_to a location

eg

{
  "name": "sword",
  "equipped_to": "right hand"
}

but there's no validation or consideration of form. so a creature with no arms can equip to its right hand twice, which doesn't make sense

expansively consider form so that a human might have a "special grip form" where they can indeed have two swords in their right hand

episode 5 tools and results

we did 3 episodes so far iirc:

  1. initial game
  2. worldbuilding pt 1
  3. secondary game (after the lizard fight up to killed level 1 and open the purple portal)

we have 2 more gameplay episodes planned on saturday. we hopefully will do a worldbuilding episode before that and also 1 or 2 dev streams

for tools, we should cover:

  1. this repo!
  2. ai tool improvements...can it roll a battle more seamlessly?
  3. ai video!!
  4. did the streaming setup change help things?

user sign up

email is required. includes login, forgot password, sign up, reset password, external home page, internal home page, settings page

settings page lets you change your email. you can also add username, first name, last name, backup email, and phone number

tcg rules

i think the goal is:

  1. it should be simpler than simple battle mode (a classic rpg or jrpg-like mode)
  2. it should showcase art
  3. it should showcase the lore of the game world

thinking about the tcgs i know, maybe or yu gi oh is the simplest fun systems? i think the tapping system makes magic more complicated.

so we will be similar to yu gi oh with a few differences:

  1. no arbitrary point goal; in our game you win by being the only player with battlers on the field for a full round (end of your own turn to start of your own turn)
  2. multiplayer! more than two players can play in a single game (recommended 2-8)
  3. deck size 1-99 (why limit at 99? two reasons: 1) at 100, then any particular card only makes a difference of 1% roughly speaking, so there isn't a significant difference in the deck by adding a card. this is approximately the same situation for a deck of 99 cards, but the two-digit limit allows lower integer length storage and basically fewer significant digits in the calculation.
  4. no card slot limit; you can play up to your entire deck at once (there is a deck size limit though)
  5. simpler card kinds: there are just battlers and items
  6. more elegant duplicate card rule: every card identifies whether duplicates are allowed or not - basically, stereotyped battlers and items can have dups but not uniques, rares, and heroics
  7. no arbitrary deck size minimum...you can play with a single card if you want to - the dark paladin did after all! lower barrier to entry. you can get started with a single card or a card pack if you want, you don't need to spend on a whole deck
  8. simpler sacrifice system: cards themselves will specify evolution conditions. there is no special sacrifice ruleset
  9. simpler magic and trap system: battlers cast spells and lay traps; there are no special spell or trap cards

battle maps and strategic mode

our prompting pattern has greatly improved basic combat but we lost strategic combat entirely

restore first with csv and square maps and go from there

gallery

including subgalleries that can be their own user stories:

  1. videos
  2. pictures
  3. lorebook (short stories)

videos can be tagged as gameplay vs behind the scenes
pictures are just gameplay pictures

user-generated character

after #18 we will have a db schema for characters

we can use non-LLM approach to randomly roll a character using this approach, basically a randomized data approach

we can do template-based images. notably, users should not be able to roll a unique or ultra-rare character this way

in the future after #10 we can do GPT-4 bc users can pay and also we can let users buy these souls and have me manually roll and store them as well

so, these will be basic characters and there is only one per account

in a new issue subsequently, people can buy bronze, silver, gold, and platinum souls manually ie by paying on Ladderly

in a further subsequent issue, people can buy here (with true GPT integration)

in a further subsequent issue, people can buy and sell on a marketplace

in a semi-related issue, owning a character will also generate a card

in another subsequent issue, characters can roll non-character encyclopedia things like places, etc

in a further issue, we will have decks of cards that can be bought together with the art, and maybe if you buy a deck you get a book for free? meh that sounds like a special deal we can do on occassion not the norm but we will see, depends on audience preference/willing to pay

character_status, party_status, and conflict_start_report

under #33 we have character JSON

however, the game json use aren't really character json bc they include impermanent details like current equipment, health, etc

really these game json are character_status json

so we should split character json from character_status json, the latter of which will fluctuate at narrative locations and therefore should include narrative location meta

a party_status then becomes a collection of character_status that share location meta

and a conflict_start_report is a collection of party_status, goals for each party, and any notable starting or environmental conditions eg ambush, prepared etc

blog

lorebook and blog both public for seo

we can put release notes and event notes in the blog, which can include talking about upcoming or past episodes. it's kind of a free for all

lorebook is for canon. blog articles aren't canon. so lorebook has the official episode summaries and blog talking about episodes is unofficial. also lorebook can have random world trivia. kind of like a fandom wiki

barbarians

apparently there are lots of kinds? lore much?

payments

you get a character for free at signup
there is a "warming up" up to 5 character slots
$1, $2...$4

then you can keep buying unlimited at $5 a pop

there is also a subscription option as opposed the the per-pop thing
the main thing subscription does atm is:

  1. support the maintainers
  2. prove subscription logic works

think about other perks. character roll tokens, item roll tokens, unique souls, shouts outs and some kinds of priority? priority for joining into a game? swag? hm yep these are options

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.