Next Five Minutes:
TODO: get test scenario back to state where it can end (no dqon) and make sure bunnies don't break scene mode
unit test archetype serialization
Next Hour:
add archetype section to scenario builder
add quip system (has triggers but not effect), targets like regular scene, but text is either on random rabbit or velour
ability to add/remove archetypes (just displays a textbox for name and datastring, min and max for now)
flesh out traitpool section of archetype builder (multiselect plus min/max)(
in scenario builder, ability to add archetype by datastring (just like with prepacks) (but no icon) (just name)
Next Day:
if you have no activation scenes you MUST spawn active (non batshitmode)
Have beta page have list of scenarios in folder and load from them, php
metastats (so life modifies energetic and mind moddifies external )
make skeleton farragnarok scenario
make life prepack and focus on zawhei (all life scenes are gated by nidhogg not being pure. if he IS pure and the life player is a snake, you can access new scenes) (treacherous snake tries to spread the foul purification)
make void prepack and focus on eirikr and BB (void players do nothing until nidhogg is purified but have robo clone)
flesh out the other parts that make zawhei and eirkr different fo max remixability
slowly add in other players
char builder button to download image of char with char datastring embedded (no custom images)
action effect for killing, deactivating,reviving or deleting (can not be revived, removed from scenario entirely) a char. dead chars can not take actions but can be acted upon.
target filter for dead chars (but not deleted. dead are still targetable, deleted are just gone, in active can be reactivated)
magical girl prepack (if aware of monster, fights them, else does school and etc)
magical animal prepack (trains magical girls, does nothing, mournes magical girl if she becomes monster (unsets association), magical girl prepack (does flavort text thing or fights a monster, activates if there is a magical animal with no girl), monster prepack (increments city entities destruction count)
magical girl scenario bascially just MonsterGirlSim (if you 'die' you transform into a monster and get monster traits and lose magicalgirl trait (vice versa if a monster is killed, so i don't have to make death a real thing just yet)
have index lead to magical girl scenario being loaded by default, so non wastes can play with it
(todo eventually waste lock this)ability to write in string keys/values or num keys/values (name/doll string uses it in the backend but you can do things like override your moon name)
Major TODO
make sure reference memory keys are a thing so that aspect sets associated good/bad stats (or wahtever) adn class can modify them
maybe things like stored [TARGET.STRINGMEMORY.ASSOCIATEDGOODSTAT] as the key to add -13 to or whatever
SBURBSimple scenario (make as much sburb as you can with the current system)
consider if scenarios are allowed to have generators. seems overkill. at that point i may as well give them prepacks and i'm sorry but i don't want your scenario to be Knight of Mind
make bro a bard of blood (he unites everyone to destroy him) test reference memory keys (he should lower everyones loyal value or whatever)
let ppl opt out of having a prepack image, instead they can specify a color and the prepack is just a 50 x 50 wall of color
action effect scromble scene priority (shuffle scene list)
make final game builder initial state (load a scenario from list, then scramble prepacks in suggested chars)
scenario generators should define defaults like "dollstring for moon" (moon generator will define palette, class will define layers), "dollstring for godtier" (aspect generator will define palette, class will define layers, caste will define wing layer?), "dollstring for dead" (player defined?), "dollstring for grimdark" (player defined?) that sort of thing. Observers can redefine these defaults
make final game builder state 1: load a scenario from list, change suggest chars add/remove char slots
make final game builder state2: load a scenario from list, add prepacks from ANY scenario in that list
make final game builder state4: load a scenario from list OR FILE, add prepacks from ANY scenario in that list OR FILE
make final game builder state3: load a scenario from list OR INTERNET, add prepacks from ANY scenario in that list OR INTERNET
(useful for romance)filters for both target and owner having the same value stored to two given keys (checks both num and string for key)
refactor dollsim to have better doll builder maybe? modals with part previews?
shareable sessions (scenario + char list + seed)
overwrite session 85 to be farragnarok chars (though various scenarios will obvs be non canon)
scenario defines sublists of prepacks for optiona/required. for example, random SBURB chars MUST have one aspect, one class, two interests, one moon, etc.
fix wigglersim save data , half way done in branch PlzWork
ability to reorder scenes in list/prepack/etc
scenario, prepack and entities should all have optional associated datapngs
denizens get generated for each player based on aspect. need an entity generator (entity doesnt exist until generated, then is active). could do consorts too. negastrife?
make action effects that deactivates/kills/revives a target. (scenarios or whatever can have auto things that kill someone if the hp stat is under 0 or whatever)
final ui (i.e. load a scenario, tweak its starting conditions, pick a seed (or randomize it), and go) (shareable url with scenario name and seed (iff scenario is included))
IMPORTANT: how do we wanna handle custom image uploads? if you reuse a bg for a scene you don't wanna attach it PER scene...
serialize to data png (review viking book for how it works) (including images uploaded to scenes/chars)
builders (scene, scenario, entity, generator, prepack
doll creator (lamia only) (takes scenario as input, exports it as a prepack bundle setting various dollstrings scenario requires in memory like godtier and dead, etc
partial doll creator (specifies doll type and layers that have important values and orientation thats it, so you can do things like define "dead" graphic) and palette
skald and neb commentary during story (triggered by keywords) zoom out to show audience and storyteller
*realy* want a fake wiki rip (maybe just the hosted paldemics)
Incidental TODO:
if cpu usage of animation is high, before adding class, detect if the two canvases have the same image data
peewee scenario for 858 (scenario shoved into image for EVERY paldemic in audio logs)
scenes actually have two canvas's rendered, one before effects and one after, animates between them using css
modify doll lib so that each dollset knows if its facing left or right by default, when current doll is changed, reset that variable
effect for current doll (filter not needed, just check string memory)
refactor filters/effects to be more consistent before stating to serialize them. what are the bare minimum needed
ability to specify a string layer name and an int layer number to change in your current dollstring (ignores any layers that don't exist)
ability to specify a palette (serialized to json, string string pairs) to replace your palette with (if it doesn't have all your colors it only replaces some)(ignores any colors not in your palette)
palette creator
https://dartpad.dev/
scenes load their bg image from their entities memory (useful for things like land background from generators?)
WigglerSim tie in, given a wiggler sim json data thingy (including known castes) for a grub/alumni, automatically generate a character imagefile that can be loaded into the wigglersim scenario (with appropriate prepacks)
CreditSim tie in, loads a credit datastring in and turns it into an Entity (associated phrase and all)
ability to black list generator keys from initialization (so that loaded chars from wigglersim/credit sim have their set stats)
ability to set temporary doll to render with (then return to normal?) (complicated action effect?)
once i can serialize scenes, make a full on stand alone DQ0n that turns others into DQ0n as well but if their original name is restored they turn back.
lamia doll creator (packaged with LOSAS, not just doll lib)
have a random filter like sburbsim does
need ways to identify if an entity is the same entity in your memory, such as enenmy, SO whatever
KeepIfStringIsSameAsMemory
ability to deactivate (no longer targetable) or kill(can't tick, but can be targeted)/revive an entity as an effect
ability for action effects to add generators to target/owner (example use case, giving them new reasons to flip out) WILL REQUIRE SERIALIZATION
scenarios have prepacks associated with them, let you do things like decide what are valid options (scenes, generators, etc all together) for character creators to have. can also add prepacks directly to chars, but thats a higher waste tier (things like adding highschool ai to a sburb game)
Dubious TODO: Are these a good idea? Or maybe they just aren't fleshed out yet
can entities breed? traits/prepacks mix and matching?
bg fx: (scene takes in array of FX objects using pl's mutators or putting overlays on top (fire, tentacles, etc). while fx are applied on a scene, you can have a boolean to make them PERMANENT to a bg (stored in the scenario itself). so if "haunted basement" is on fire it STAYS on fire no matter what scene it is or who has it.
audio offsets might be harder than i thought, pl says to look into: Media Fragment URI schema
in builder, output examples of polarity (this will add 2 to a stored value of 4 or whatever)
series of Decision Points that cause the sim to show the "zoomed out" version, and the player can choose between a few options the Audience throws out
Consider removing all effects besides SetString and SetNum that don't deal with memory (otherwise i'm doubling everything). use case is setString and then things like AppendStringFromMemory or SetDollFromMemory
filter/effect for current doll having layer with name X and value Y? (needed to detect god tier etc? or something could target frowners , i dunno, might not be useful)
ability to set x/y position of an entity, have a scene specify you should render them there this scene rather than procedurally
ability to have a scene specify no render before, no render after, or no render either
filter for current doll having a specific color in their palette?
don't let have dolls have generic images just yet, wait to see
system to set doll prefab things like "smug expression" (does this change default string, or just the string for this scene) would need to have a scripting language for layer names and layer values. some things default, but you can add your own things into memory too (all stored to memory). a character creator for the SBURB scenario would have preset memory slots like GODTIERBODY and GODTIERPalette, as well as grimdark palette etc. can also do things like "current sprite plus these layers with these values" for "look angry rn"
STRETCH GOAL: automatic system to put the scenario in "TimeTravel" mode which lets you take any scene in the page and prevent it and have things keep going from there (will require scenario keeping a list of datastrings of itself, and the ability to load from scene chosen -1 and keep going (eat a seed tho, so its not guaranteed to go the exact same way)) (big thing is that if something is 'fated' to happen it happens anyways even if you try to undo it. but randomness IS a thing so...