You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

235 lines
26 KiB
Smarty

% import random
% rebase('frame.tpl')
<div class="content-grid">
<h1>blessfrey milestones </h1>
<p>This is a list of everything I need to add before the Blessfrey is complete. I can add more in subsequent updates, but I have to draw the line somewhere. The list is broken into versions. <br></p>
<br>
<p>Focus and finish the game! <br></p>
<br>
<p>Legend: <span class=mundane>nothing at all</span>, <span class=common>designed</span>, <span class=unusual>basic implementation</span>, <span class=rare>intentionally designed, documented, but with known issues</span>, <span class=unique>ironed out and polished</span>
<h2><span class=unique>0.0 - first</span> </h2>
<ul>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=unusual>feature: export, embed</span> </li>
</ul>
<h2><b><span class=unusual>0.1 - bingo</span></b> </h2>
<ul>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=rare>feature: KnowledgeBase - achievements, progression </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=common>~70 new skills</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=unusual>solid, extendable base for skills, keywords, skill equips, DMVs</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=unusual>ignore input during main menu, etc</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=unusual>basic dialog</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=unusual>basic serialization - save, load, config</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=unusual>basic pathfinding</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=unusual>basic obstructions - walls</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=unusual>basic AI - states, transitions</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=unusual>basic combat - life, spirit, attacks, skills, hitbox, aggro</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=rare>base id, ref id</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=unusual>basic UI - start screen, controls screen, credits screen</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=unusual>basic audio - BGM, attack SFX, skill SFX, ambience</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=unusual>basic audio adjustments - volume slider, mute button</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>pause button</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=unusual>activator - button, switch</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=unusual>item pickup</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=unusual>inventory</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=unusual>interact - character, container</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=unusual>containers</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=unusual>travel between rooms</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=unusual>drop items</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=rare>inspect</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=unusual>spawnpoints</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=unusual>XP, levels</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=unusual>skillbar - drag & drop, enforces deckbuilding rules</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=unusual>attack loop</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=unusual>skill use - out of range, cancel</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=unusual>learning skills</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>room skills</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=unusual>life/spirit regen</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>multiple idle animations</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>idle barks - contextual, story-based, character relationship-based</span> </li>
</ul>
<h2><span class=mundane>0.11 - AI factions</span> </h2>
<ul>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>feature: factions - disposition towards other factions</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=unusual>pathfinding</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>teams</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=unusual>death</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=unusual>drop tables</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>item rarity</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>flocking</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=unusual>idle, wander</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=unusual>patrol routes</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=unusual>aggro range</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=unusual>targeting, prioritization</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>skill use prioritization</span> </li>
</ul>
<h2><span class=mundane>0.12 - boss fight</span> </h2>
<ul>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>feature: multiphase, dynamic boss</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=unusual>obstacles - impermeable walls, permeable walls, opaque walls, transparent walls, destructible walls</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>boss splash screen</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>cutscene-like scripting</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>resurrection</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=unusual>projectiles</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>only change skill in noncombat rooms</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>interrupt</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>items - use to impart keywords</span> </li>
</ul>
<h2><span class=mundane>0.13 - job</span> </h2>
<ul>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>feature: 3 basic jobs</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>side jobs</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>changing side job</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>stats - impact skills</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>perks - impact character</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>gear - impact incoming keywords</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>weapons - impact outgoing keywords</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>environmental weaponry</span> </li>
</ul>
<h2><span class=mundane>0.14 - UI</span> </h2>
<ul>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=unusual>feature: phone</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>codex app</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>messenging app</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=unusual>inventory app</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=unusual>music app</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>settings app</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=unusual>app store</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>store page, functionality</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>store sales, promotions</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>pop-up notifications, tool tips</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=unusual>skill library, skillbar</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>skill library - sort by job, classifications, alphabetical, order obtained, frequency of use</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=unusual>containers</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=unusual>highlight</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=unusual>main menu, submenus</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=unusual>inspect menu</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>forms, questionnaires, homework sheets</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>iron out canvas layer layers</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>dialog - name, rich text, emoticons, options, </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>dialog portraits</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>all text ready for translation</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>titles related to KnowledgeBase</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>custom cursors</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>custom font</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>applied keywords</span> </li>
</ul>
<h2><span class=mundane>0.25 - foundation</span> </h2>
<ul>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>destructible terrain that requires specific keywords - slash or burn webs</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>disposition, affinity system</span> </li>
</ul>
<h2><span class=mundane>0.5 - chapter 1</span> </h2>
<ul>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>intro cutscene</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>quest: Angel's welcome </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>zone: Uncle's house</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>quest: Angel sleepover</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>zone: Tidwell's house</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>quest: first last day of school, welcome party</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>quest: mingle & bingo</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>quest: do you dare? OR lost and found</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>location: school - classroom, hallway, principal's office, supply room, restrooms, playground, courtyard (space used as auditorium)</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>boss: Aries</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>quest: haunted sleepover OR lost and found</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>zone: haunted theatre OR security HQ + security tunnels</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>boss: slime</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>quest: sinkhole appears</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>zone: wilds buffer</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>boss: Rune & Bless</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>entity: destructible terrain</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>zone: slime kingdom</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>boss: slime king</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>zone: Santa's factory</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>boss: Dia</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>zone: holding cell, local security HQ</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>quest: freedom - parents come retrieve their children and apologize. no one comes for Helia, so eventually Ray comes over and lets her out himself. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>zone: Lucrest shopping center - Mayor's Mansion, gym, apothecary, library, QuestionMart, sporting goods, clothing store, theatre, arcade, cable company, atelier, woks, cafe, photobooth, stage, gondolier, carousel, splash sidewalk, piano sidewalk (look at Disney World for fun sidewalk ideas) </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>zone: Lucrest residential zone - uncle's, Tidwell's, McIntyre's, St Martin's, playground, walking trail</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>zone: Lucrest - church</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>zone: woods - secret grove, waterfall room</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>zone: lake - fishing pier, fishing shop</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>zone: botanical gardens</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>boss: brood mother</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>boss: gator</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>entity: training dummy - tells you your DPS, inflicted keywords, etc</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>character routines, idles</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>Lucrest sidequests</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>quest: keep going! (text from Tessa to suit up and train)</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>zone: Eden's threshold</span> </li>
</ul>
<h2><span class=mundane>0.75 - chapter 2</span> </h2>
<ul>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane></span> </li>
</ul>
<h2><span class=mundane>0.9 - chapter 3</span> </h2>
<ul>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane></span> </li>
</ul>
<h2><span class=mundane>0.97 - full game</span> </h2>
<ul>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>feature: the completed game</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>full main story</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>all major characters</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>complete soundtrack</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>all levels</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>all skills - icons, functionality, FX</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>sound effects, visual effects, responsive game with feedback </span> </li>
</ul>
<h2><span class=mundane>0.98 - involve other people (obv review after every milestone)</span> </h2>
<ul>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>feature: improvements based on suggestions</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>playtesting - diverse playtesters like colorblind, French keyboard users, different res/older computers, etc</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>maintain my community - forums, Discord, Twitter, any forums tied to store platforms, etc</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>press - YouTubers, Twitch streamers, bloggers, game journalists, local news, etc. I'll def reach out to Godot's showcase. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>festivals/contests - local conventions, Godot con, Indie Games Expo, PAX, GDC. I'll probably do a booth/panel at the cons in my town because why not. </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>booths - computers, keyboards, mouses, decorations, fliers, freebie promo items </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>funding - kickstarter, etc (no reason not to try. Even if I can finish the game in my freetime, I can set it up to cover fees then set wild stretch goals like getting Trigger to do my animations or hiring my favorite voice actor and composer or something)</span> </li>
</ul>
<h2><span class=mundane>1 - release</span> </h2>
<ul>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>feature: store pages</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>store page - tagline</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>store page - paragraph</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>store page - big writeup</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>store page - screenshots</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>store page - trailer, gameplay trailer</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>keyart - desktop icon</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>small thumbnail cover art thing online platforms do</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>keyart - boxart-like vertical thing online platforms do</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>keyart - banner art</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>platform achievements, cloud saves, overlays, </span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>downloadable extras - manual, soundtrack, artbook, novel, 4koma, wallpapers (desktop, mobile, probably others), emoticons for messengers, paper dolls, paper fold crafts</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>merch </span> </li>
</ul>
<h2><span class=mundane>??? - post-release, if ever</span> </h2>
<ul>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>feature: ideas that haven't been assigned to a release yet. probably not everything can fit into the game by 1.0, if ever</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>play as a boy</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>translate into additional languages</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>add your own music to music folder, appears in music app. pixelate cover to match-ish game graphics</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>background music</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>sound effects</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>ambience</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>voice acting, even if just for the trailer or intro cutscene or whatever</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>rebindable controls</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>support as many input devices as possible, though this probably isn't an XBOX controller-friendly game. keyboard, mouse, touchscreen, voice commands</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>emotes</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>skill SFX</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>character creation - day/night, sample outfits</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>emotes for player (screenshot fodder) - sleep in beds, sit on seats, cry, confess, dance</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>change phone background</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>real web browser on phone</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>store screenshots in phone gallery</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>gear changes sprite appearance</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>gear changes companions' sprite appearance</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>gear changes dialog portaits - paper doll</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>holidays</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>fishing minigame</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>hide UI for screenshots optionally</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>support touchscreen for click</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>consider on-screen keyboard for name/word input during gameplay for touchscreen, Steam Deck, etc</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>if I ever do full voiceacting, downloading and installing all the GB of voiceacting should be optional, and the game should work fine voiceless</span> </li>
</ul>
</div>