sitemap; link colors on docs; gdd;

This commit is contained in:
chimchooree
2022-11-09 17:58:16 -06:00
parent 0397a3ab24
commit 345662dd70
15 changed files with 171 additions and 47 deletions
-31
View File
@@ -1,31 +0,0 @@
<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 dictionary of inspect_options: {index: ['tr_key', 'method']}. For example, {0:['tr_pick up','pickup'],1:['tr_extinguish','extinguish']}. Every tangible appends 'examine' at ready. <br></p>
<br>
<p>The Clickable has a _ready input event signal looking for "right-click." <br></p>
<br>
<p>The inspect menu ("res://UI/InspectMenu/InspectMenu.tscn") is instanced at declaration and added as a child at ready in the UI singleton. <br></p>
<br>
<h2>logic </h2>
<p>When tangible entity is right-clicked (@ $Body/Sprite/Clickable), the UI enters InspectMenu with its subject set. The "id_pressed" signal is reset for each subject. InspectMenu connects "about_to_show" the first time it's needed and keeps it forever. Before popup(), it resets, adds a label at an offset with the subject's display name, then adds a UI option for each inspect option. <br></p>
<br>
<p>When a selection is made, the "id_pressed" signal calls "id_pressed" on the subject, which calls the method at its inspect_options[pressed_id][1]. So 'examine' calls 'examine,' which is in tangible.gd. Most related methods are on tangible.gd, though they may be at a more specific script. <br></p>
<br>
<h2>challenges/known issues </h2>
<p>It's not obvious how to get popupmenus to appear at specific coordinates. I get it to appear at the subject's current location by setting <code>rect_global_position = get_global_mouse_position()</code> the line immediately after <code>popup()</code>. <br></p>
<br>
<p>The inspect menu retains the largest ever size going forward. I reset the size to 20,20 when clearing previous options. <br></p>
<br>
<p>Tangibles and inventory items both have inspect menus, but their code has to be separate. They are too different from each other. <br></p>
<br>
<h2>works for...</h2>
<ul>
<li>player✓ </li>
<li>characters✓ </li>
<li>characters✓ </li>
<li>activators✗ </li>
<li>floor items✗ </li>
<li>inventory items✗ </li>
</ul>
+20 -10
View File
@@ -1,12 +1,22 @@
% 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>
% for i in [["inspect menu","blessfrey-inspect"],["jobs","blessfrey-jobs"],["keywords","blessfrey-keywords"],["skills","blessfrey-skills"]]:
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<a href=/{{i[1]}}>{{i[0]}}</a></li>
% end
</ul>
</div></div>
<p>Game mechanics are the rules of the world. <br></p>
<br>
<h2>character creation</h2>
<p>Players control Helia and develop her character through making decisions. During her first day of school in Lucrest, you will fill out a personal questionnaire and try out the common jobs before choosing one permanently. She will also receive her starter skills and her choice of starter gear and weapon. <br>
<br>
<h2>job, side job + skills</h2>
<p>Her job determines the perk, attributes, and skills available for her. Skills will scale in power according to the amount of attributes assigned to the relevant attribute. She can also take a side job, which will offer more attributes and skills for defining your playstyle. Side jobs are optional and can be changed outside of combat, but they do not offer perks, nor can their perk-related skills be improved. <br></p>
<br>
<p>All acquired skills will be stored in the character's skill library, but only 8 can be equipped onto the skillbar at a time. You must choose carefully and adapt challenge-by-challenge. <br></p>
<br>
<p>To gain more skills and side job offers, you explore the world, gain combat experience, meet characters, and more. She'll encounter <a href="/char/WISE">a certain system</a> that will guide her to greater development early in the dungeon. <br></p>
<br>
<p>You'll not only develop Helia but a team of friends you meet in town and below, all with jobs, side jobs, and skills for building a viable team. <br></p>
<br>
<h2>playstyle</h2>
<p>Blessfrey emphasizes frequent and free adaptation of playstyle. Except for your job, decisions are not permanent. You can change your side job, reallocate attribute points freely, and swap out skills outside of combat. You can do the same for your teammates' builds, and call them in and out of your team freely outside of combat. <br></p>
<br>
<p>Enemies and allies have access to many of the same jobs and skills, so while you learn the offensive advantage of your skills, you will also have to learn to defend against them. You can learn new skills through combat experience, copying techniques. <br></p>
<br>
<p>Death is not a final failure. Characters can resurrect each other. If the entire team dies, they will be revived at the nearest bed of resurrection lillies, able to retry. <br></p>