chimchooree 2 years ago
commit 2d26625562

@ -559,6 +559,19 @@ def me():
info = {'css': 'me', 'title': 'about me', 'year': find_year()}
return template('me.tpl', info)
# Blessfrey Mechanics
@route('/mechanics')
def mech():
"""mechanics"""
info = {'css': 'doc', 'title': 'blessfrey gdd - game mechanics', 'year': find_year()}
return template('bf-mechanics.tpl', info)
@route('/inspect')
def mech1():
"""inspect"""
info = {'css': 'doc', 'title': 'blessfrey gdd - game mechanics', 'year': find_year()}
return template('bf-mech-inspect.tpl', info)
# Blessfrey Feature Requirements Page
@route('/milestones')
def milestones():

@ -5,19 +5,8 @@
<p>The vision for Blessfrey <br></p>
<br>
<ul>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<a href=/vibe>art direction</a></li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<a href=/blessfrey-cast>characters</a></li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<a href=/credits>credits</a></li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<a href=/entities>entities</a></li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<a href=/jobs>jobs</a></li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<a href=/keywords>music</a></li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<a href=/milestones>milestones</a></li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<a href=/music>music</a></li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<a href=/setting>setting</a></li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<a href=/skills>skills</a></li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<a href=/story>story</a></li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<a href=/style>style guide</a></li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<a href=/terms>terms</a></li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<a href=/tweaks>tweaks</a></li>
% for i in [["art direction","blessfrey-art"],["characters","blessfrey-cast"],["credits","blessfrey-credits"],["game mechanics","blessfrey-mechanics"],["jobs","blessfrey-jobs"],["keywords","blessfrey-keywords"],["milestones","blessfrey-milestones"],["setting","blessfrey-setting"],["skills","blessfrey-skills"],["sound","blessfrey-sound"],["story","blessfrey-story"],["style guide","style-guide"],["terms","blessfrey-terms"],["tweaks","tweaks"],["vibe","blessfrey-vibe"]]
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<a href=/{{i[1]}}>{{i[0]}}</a></li>
% end
</ul>
</div></div>

@ -0,0 +1,144 @@
% rebase('frame.tpl')
<div class="content-grid">
<h1>blessfrey gdd - IDs</h1>
<h2>description </h2>
<p>Entities need IDs for translations (even English is pulled in through the TranslationServer) and comparisons. <br></p>
<br>
<h2>structure </h2>
<h3>translation key </h3>
<p>Translation IDs are 6-or-8-character strings. I like for them to use letters and follow a pattern, so random words can bubble up through the babble. <br></p>
<br>
<p>TL keys are 6 characters (favoring letters), and "de" is prefixed for their description. The first 2 letters indicate the category, while the last 4 indicate the individual. The last four are kind of freeform, usually the first 2 letters of each word of the English display name. If it's only one word, then it's its first 4 letters. If it's too short, "a" is suffixed for padding. If that pattern would recreate an existing code, I smudge which significant name characters are taken. If "a" is already used, I use "b," "c," all the way to 9. <br></p>
<br>
<p>ID category prefixes: <br></p>
<ul>
<li>ac - container </li>
<li>ap - smartphone app </li>
<li>ch - character </li>
<li>in - inspect </li>
<li>sk - skill </li>
</ul>
<br>
<h3>entity ID </h3>
<p>IDs apply to a few other things, but it's virtually only for entities. They are 6-character hexadecimal strings (favoring numbers). I like that they correspond to color hex codes, so I can find out everyone's secret color. Generally, a category's earliest and most representative entities are the purest in hue. <br></p>
<br>
<p>The first three digits represent categorization, while the last increment by one for each member within that group. Commons start at 000 and increment numerically, while elites and bosses start at aaa and increment alphabetically. <br></p>
<ul>
<li>0 - default </li>
<li>1 - skill </li>
<ul>
<li>0 - common </li>
<ul>
<li>0 - roleplay </li>
<li>1 - linguist </li>
</ul>
<li>1 - armsman </li>
<ul>
<li>0 - fitness </li>
<li>1 - power </li>
<li>2 - artistry </li>
<li>3 - tactics </li>
</ul>
<li>2 - disciple </li>
<ul>
<li>0 - santification </li>
<li>1 - power over nature </li>
<li>2 - spiritual healing </li>
<li>3 - divine protection </li>
</ul>
<li>3 - tamer </li>
<ul>
<li>0 - mimicry </li>
<li>1 - husbandry </li>
<li>2 - empathy </li>
<li>3 - survival </li>
</ul>
<li>4 - brawler </li>
<ul>
<li>0 - critical eye </li>
<li>1 - dirty fighting </li>
<li>2 - improvisation </li>
<li>3 - street smarts </li>
</ul>
<li>5 - chemist </li>
<ul>
<li>0 - cognate sciences </li>
<li>1 - pharmacology </li>
<li>2 - toxicology </li>
<li>3 - materials engineering </li>
</ul>
<li>6 - hacker </li>
<ul>
<li>0 - social engineering </li>
<li>1 - surveillance </li>
<li>2 - robotics </li>
<li>3 - gadgetry </li>
</ul>
<li>7 - Mercur </li>
<ul>
<li>0 - supernal </li>
<li>1 - projectile </li>
<li>2 - environment </li>
<li>3 - unlearnable </li>
<li>4 - job perk </li>
</ul>
<li>a - tycoon </li>
<ul>
<li>0 - perpetuity/diversified portfolio </li>
<li>1 - negotiation </li>
<li>2 - deceptive marketing </li>
<li>3 - invisible hand </li>
</ul>
<li>b - traffic control </li>
<ul>
<li>0 - extraplanar refuge </li>
<li>1 - footwork </li>
<li>2 - alteration/landscaping </li>
<li>3 - networking </li>
</ul>
</ul>
<li>2 - character (next digits indicate job and whether it offers a service) </li>
<ul>
<li>0 - dungeon girls </li>
<li>1 - boss </li>
<ul>
<li>the second digit is its species then the other stuff </li>
</ul>
<li>2 - human </li>
<li>3 - Canaanite </li>
<li>4 - beast </li>
<ul>
<li>0 - mammal </li>
<ul>
<li>0 - unsorted </li>
<li>1 - rodent/bat/eulipotyphian </li>
<li>2 - cat </li>
<li>3 - dog </li>
<li>4 - bear </li>
<li>5 - ungulate </li>
</ul>
<li>1 - bird </li>
<li>2 - reptile </li>
<li>3 - amphibian </li>
<li>0 - fish </li>
<li>4 - bug </li>
</ul>
<li>5 - slime </li>
<li>6 - construct </li>
<li>7 - Mercurians </li>
<ul>
<li>0 - avatar </li>
<li>1 - projectile </li>
</ul>
<li>8 - machine </li>
</ul>
<li>3 - item </li>
<li>4 - location </li>
<li>5 - app </li>
<li>6 - activation </li>
<li>7 - job </li>
<li>8 - perk/attribute </li>
<li>9 - keyword </li>
</ul>
</div>

@ -0,0 +1,14 @@
% rebase('frame.tpl')
<div class="content-grid">
<h1>blessfrey gdd - game mechanic - inspect menu</h1>
<h2>description </h2>
<p>Right-click on an tangible entity or inventory item to open a popup inspect menu with all relevant inspect options. Selecting one will execute a method. Examples are 'follow Chloe' (pathfind after Chloe wherever she moves until action is cancelled), 'pick up clover' (item pickup), and 'examine button' (write a descriptive line about her in Helia's thought bubble) <br></p>
<br>
<h2>structure </h2>
<p>Every tangible entity has an exported array of inspect_options. {'english_tr_key': 'method', 'tr_pick up':'pickup','tr_examine':'examine_surprise'}. Every tangible has at least 'examine.' <br></p>
<br>
<h2>logic </h2>
<p>When tangible entity is right-clicked, the inspect menu adds a UI option for each inspect option. <br></p>
<br>When a selection is made,
</div>

@ -0,0 +1,10 @@
% import random
% rebase('frame.tpl')
<div class="content-grid"><div class="center">
<h1>blessfrey game design document </h1>
<p>documenting Blessfrey game mechanics<br></p>
<br>
<ul>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<a href=/inspect>inspect menu</a></li>
</ul>
</div></div>

@ -6,7 +6,7 @@
<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, tested</span>, <span class=unique>more or less finalized</span>
<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, tested, documented</span>, <span class=unique>more or less finalized</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>
@ -180,7 +180,7 @@
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=unusual>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 seriously consider a booth/panel at the cons in my town. </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>

Loading…
Cancel
Save