diff --git a/src/index.py b/src/index.py
index 8ab85b8..6525350 100644
--- a/src/index.py
+++ b/src/index.py
@@ -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():
diff --git a/src/views/bf-gdd.tpl b/src/views/bf-gdd.tpl
index d1834dd..11c3a33 100644
--- a/src/views/bf-gdd.tpl
+++ b/src/views/bf-gdd.tpl
@@ -5,19 +5,8 @@
The vision for Blessfrey
- - {{random.choice(['.','•','☆','★'])}} art direction
- - {{random.choice(['.','•','☆','★'])}} characters
- - {{random.choice(['.','•','☆','★'])}} credits
- - {{random.choice(['.','•','☆','★'])}} entities
- - {{random.choice(['.','•','☆','★'])}} jobs
- - {{random.choice(['.','•','☆','★'])}} music
- - {{random.choice(['.','•','☆','★'])}} milestones
- - {{random.choice(['.','•','☆','★'])}} music
- - {{random.choice(['.','•','☆','★'])}} setting
- - {{random.choice(['.','•','☆','★'])}} skills
- - {{random.choice(['.','•','☆','★'])}} story
- - {{random.choice(['.','•','☆','★'])}} style guide
- - {{random.choice(['.','•','☆','★'])}} terms
- - {{random.choice(['.','•','☆','★'])}} tweaks
+ % 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"]]
+ - {{random.choice(['.','•','☆','★'])}} {{i[0]}}
+ % end
diff --git a/src/views/bf-id.tpl b/src/views/bf-id.tpl
new file mode 100644
index 0000000..d5aed8b
--- /dev/null
+++ b/src/views/bf-id.tpl
@@ -0,0 +1,144 @@
+% rebase('frame.tpl')
+
+
blessfrey gdd - IDs
+
description
+
Entities need IDs for translations (even English is pulled in through the TranslationServer) and comparisons.
+
+
structure
+
translation key
+
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.
+
+
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.
+
+
ID category prefixes:
+
+ - ac - container
+ - ap - smartphone app
+ - ch - character
+ - in - inspect
+ - sk - skill
+
+
+
entity ID
+
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.
+
+
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.
+
+ - 0 - default
+ - 1 - skill
+
+ - 0 - common
+
+ - 0 - roleplay
+ - 1 - linguist
+
+ - 1 - armsman
+
+ - 0 - fitness
+ - 1 - power
+ - 2 - artistry
+ - 3 - tactics
+
+ - 2 - disciple
+
+ - 0 - santification
+ - 1 - power over nature
+ - 2 - spiritual healing
+ - 3 - divine protection
+
+ - 3 - tamer
+
+ - 0 - mimicry
+ - 1 - husbandry
+ - 2 - empathy
+ - 3 - survival
+
+ - 4 - brawler
+
+ - 0 - critical eye
+ - 1 - dirty fighting
+ - 2 - improvisation
+ - 3 - street smarts
+
+ - 5 - chemist
+
+ - 0 - cognate sciences
+ - 1 - pharmacology
+ - 2 - toxicology
+ - 3 - materials engineering
+
+ - 6 - hacker
+
+ - 0 - social engineering
+ - 1 - surveillance
+ - 2 - robotics
+ - 3 - gadgetry
+
+ - 7 - Mercur
+
+ - 0 - supernal
+ - 1 - projectile
+ - 2 - environment
+ - 3 - unlearnable
+ - 4 - job perk
+
+ - a - tycoon
+
+ - 0 - perpetuity/diversified portfolio
+ - 1 - negotiation
+ - 2 - deceptive marketing
+ - 3 - invisible hand
+
+ - b - traffic control
+
+ - 0 - extraplanar refuge
+ - 1 - footwork
+ - 2 - alteration/landscaping
+ - 3 - networking
+
+
+ - 2 - character (next digits indicate job and whether it offers a service)
+
+ - 0 - dungeon girls
+ - 1 - boss
+
+ - the second digit is its species then the other stuff
+
+ - 2 - human
+ - 3 - Canaanite
+ - 4 - beast
+
+ - 0 - mammal
+
+ - 0 - unsorted
+ - 1 - rodent/bat/eulipotyphian
+ - 2 - cat
+ - 3 - dog
+ - 4 - bear
+ - 5 - ungulate
+
+ - 1 - bird
+ - 2 - reptile
+ - 3 - amphibian
+ - 0 - fish
+ - 4 - bug
+
+ - 5 - slime
+ - 6 - construct
+ - 7 - Mercurians
+
+ - 0 - avatar
+ - 1 - projectile
+
+ - 8 - machine
+
+ - 3 - item
+ - 4 - location
+ - 5 - app
+ - 6 - activation
+ - 7 - job
+ - 8 - perk/attribute
+ - 9 - keyword
+
+
+
diff --git a/src/views/bf-mech-inspect.tpl b/src/views/bf-mech-inspect.tpl
new file mode 100644
index 0000000..bcc25e2
--- /dev/null
+++ b/src/views/bf-mech-inspect.tpl
@@ -0,0 +1,14 @@
+% rebase('frame.tpl')
+
+
blessfrey gdd - game mechanic - inspect menu
+
description
+
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)
+
+
structure
+
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.'
+
+
logic
+
When tangible entity is right-clicked, the inspect menu adds a UI option for each inspect option.
+
When a selection is made,
+
+
diff --git a/src/views/bf-mechanics.tpl b/src/views/bf-mechanics.tpl
new file mode 100644
index 0000000..e154308
--- /dev/null
+++ b/src/views/bf-mechanics.tpl
@@ -0,0 +1,10 @@
+% import random
+% rebase('frame.tpl')
+
+
blessfrey game design document
+
documenting Blessfrey game mechanics
+
+
+
diff --git a/src/views/requirements.tpl b/src/views/requirements.tpl
index 279037c..cd9431e 100644
--- a/src/views/requirements.tpl
+++ b/src/views/requirements.tpl
@@ -6,7 +6,7 @@
Focus and finish the game!
- Legend: nothing at all, designed, basic implementation, intentionally designed, tested, more or less finalized
+
Legend: nothing at all, designed, basic implementation, intentionally designed, tested, documented, more or less finalized
0.0 - first
- {{random.choice(['.','•','☆','★'])}} feature: export, embed
@@ -180,7 +180,7 @@
- {{random.choice(['.','•','☆','★'])}} playtesting - diverse playtesters like colorblind, French keyboard users, different res/older computers, etc
- {{random.choice(['.','•','☆','★'])}} maintain my community - forums, Discord, Twitter, any forums tied to store platforms, etc
- {{random.choice(['.','•','☆','★'])}} press - YouTubers, Twitch streamers, bloggers, game journalists, local news, etc. I'll def reach out to Godot's showcase.
- - {{random.choice(['.','•','☆','★'])}} festivals/contests - local conventions, Godot con, Indie Games Expo, PAX, GDC. I'll seriously consider a booth/panel at the cons in my town.
+ - {{random.choice(['.','•','☆','★'])}} 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.
- {{random.choice(['.','•','☆','★'])}} booths - computers, keyboards, mouses, decorations, fliers, freebie promo items
- {{random.choice(['.','•','☆','★'])}} 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)