documenting features; updating milestones

This commit is contained in:
chimchooree
2023-02-02 00:52:14 -06:00
parent 41f43c8ac7
commit dce9e420da
10 changed files with 125 additions and 100 deletions
+32 -19
View File
@@ -1,13 +1,10 @@
<h2>description </h2>
<p>Entities need IDs for serving translations (even English is pulled in through the TranslationServer) and judging comparisons. <br></p>
<br>
<p>Entities need IDs for serving translations (even English is pulled in through the TranslationServer) and judging comparisons. </p>
<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>
<p>Translation IDs are 6-or-8-character strings. I like to use letters and follow a pattern, so random words can bubble up through the babble. </p>
<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. </p>
<p>ID category prefixes: </p>
<ul>
<li>ac - container </li>
<li>ap - smartphone app </li>
@@ -36,14 +33,13 @@
<li>ti - time </li>
<li>wo - unsorted words, includes game title </li>
</ul>
<br>
<h3>base ID </h3>
<p>Base IDs apply to a few other things, but it's virtually only for entities. They identify a specific type of entity, not a particular instance of that entity. 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>
<p>Base IDs apply to a few other things, but it's virtually only for entities. They identify a specific type of entity, not a particular instance of that entity. 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. </p>
<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. </p>
<ul>
<li>0 - default </li>
<li>1 - skill </li>
<li>1 - skill
<ul>
<li>0 - common
<ul>
@@ -124,7 +120,7 @@
<li>3 - networking </li>
</ul>
</li>
</ul>
</ul></li>
<li>2 - character (next digits indicate job and whether it offers a service)
<ul>
<li>0 - dungeon girls </li>
@@ -165,6 +161,7 @@
<li>8 - machine </li>
</ul>
</li>
<li>3 - item
<ul>
<li>0 - currency </li>
@@ -179,7 +176,7 @@
<ul>
<li>0 - food/medicine </li>
<li>1 - item generator </li>
<ul>
</ul>
</li>
<li>4 - flyer/book </li>
<li>5 - container </li>
@@ -188,6 +185,8 @@
<li>8 - trinket </li>
</ul>
</li>
<li>4 - location (followed by 0 - safe zone, 1 - combat zone)
<ul>
<li>0 - nowhere
@@ -245,12 +244,13 @@
</li>
<li>9 - keyword
<ul>
<li>0 - primitive </li>
<li>0 - primitive
<ul>
<li>1 - damage</li>
<li>2 - spiritual damage</li>
</ul>
<li>1 - status effect </li>
</li>
<li>1 - status effect
<ul>
<li>1 - burning (intense but brief life degen)</li>
<li>2 - bleeding (weak but lengthy life degen)</li>
@@ -266,11 +266,24 @@
<li>12 - pacified - can't attack
<li>13 - sick - (can't regen health)
</ul>
</li>
<li>2 - unsorted </li>
</ul>
</li>
</ul>
<br>
<h3>ref ID </h3>
<p>Every entity with the base.gd script has a ref ID. It identifies a specific instance of an entity. The MessageBus assigns them sequentially as integers starting at 0 during the <span class="code">_ready</span> stage of each entity. The earlier the ref ID, the older the entity. <br></p>
<br>
<p>Every entity with the base.gd script has a ref ID that is an integer between 0 and ∞. It identifies a specific instance of an entity. </p>
<h2>structure </h2>
<h3>translation key </h3>
<p>Every entity has an exported String name_key variable, and its desc_key can be derived from it by prefixing it with "de." </p>
<p>Every entity also has the <code>get_display_name</code> and <code>write_name</code> methods (same thing), plus <code>write_desc</code>. Use these to get the name and desc. </p>
<h3>base ID </h3>
<p>Every entity has an exported Color base_id variable. It also has a reference to the player_base_id and perk base ids. </p>
<p>Get the base_id with <code>get_base_id()</code> (as Color) and <code>get_base_id_in_hex()</code> (in a String). </p>
<p>To determine if the entity is the player, call <code>get_is_player()</code>. To determine if the entity is a perk, call <code>get_is_perk()</code>.
<h3>ref ID</h3>
<p>The MessageBus assigns them sequentially as integers starting at 0 during the <span class="code">_ready</span> stage of each entity. The earlier the ref ID, the older the entity. </p>