locations, items, controls, proxemics, setting
This commit is contained in:
@@ -3,7 +3,8 @@
|
||||
<br>
|
||||
<h2>list of default controls </h2>
|
||||
<p><ul>
|
||||
<li>I: open inventory app</li>
|
||||
<li><b>left-click:</b> target entity</li>
|
||||
<li><b>I:</b> open inventory app</li>
|
||||
</ul></p>
|
||||
<br>
|
||||
<h2>challenges/known issues </h2>
|
||||
|
||||
@@ -15,20 +15,25 @@
|
||||
<h2>move to pick up item </h2>
|
||||
<p>Items can only be picked up by the player. They can be picked up via item targeting or through selecting 'pick up' on the <a href="/blessfrey-gdd/inspect">inspect menu</a>. <br></p>
|
||||
<br>
|
||||
<p>Item pickup is triggered when a <a href="/blessfrey-gdd/floor-item">floor item</a> is targeted, that is, a 'target' (left-click) triggers a $Item/Body/Sprite/Sprite.gd/_on_input_event. If 'no_move_to_target' (shift) is held while targeting, the item will be targeted without initiating pickup. Otherwise, floor_item.gd/target_event(viewport,event,shape_idx) is called to set the target and handle the input before prompting the player to consider pickup. <br></p>
|
||||
<p>Item pickup is triggered when a <a href="/blessfrey-gdd/floor-item">floor item</a> is targeted, that is, a <a href="/blessfrey-gdd/controls">'target' (left-click)</a> triggers a $Item/Body/Sprite/Sprite.gd/_on_input_event. If 'no_move_to_target' (shift) is held while targeting, the <a href="/blessfrey-gdd/floor-item">floor item</a> will be targeted without initiating pickup. Otherwise, floor_item.gd/target_event(viewport,event,shape_idx) is called to set the target and handle the input before prompting the player to consider pickup. <br></p>
|
||||
<br>
|
||||
<p>Item pickup is also an option on the <a href="/blessfrey-gdd/floor-item">floor items</a>' <a href="/blessfrey-gdd/inspect">inspect menu</a>. Choosing it triggers that <a href="/blessfrey-gdd/floor-item">floor item</a>'s id_pressed(id), which calls the associated method from its inspect_options dictionary: floor_item.gd/move_player_then_pickup(), prompting the player to consider pickup. <br></p>
|
||||
<br>
|
||||
<p>Character.gd/consider_pickup(item) passes to UserControl/pickup(item). The next branch depends on a distance check. <br></p>
|
||||
<br>
|
||||
<p>If the item is within the player's <a href="/blessfrey-gdd/proxemics">intimate distance</a>, the character will be prompted to pick up the item.
|
||||
<p>If the <a href="/blessfrey-gdd/floor-item">floor item</a> is within the player's <a href="/blessfrey-gdd/proxemics">intimate distance</a>, the character will be prompted to pick up the <a href="/blessfrey-gdd/floor-item">floor item</a>. <br></p>
|
||||
<br>
|
||||
<p>Otherwise, <a href="/blessfrey-gdd/pathfinding">pathfinding</a> begins towards the <a href="/blessfrey-gdd/floor-item">floor item</a>. Upon arrival, it calls floor_item.pick_up().pick_up(). The <a href="/blessfrey-gdd/floor-item">floor item</a>'s pick_up removes itself from the room and returns the base item, then the <a href="/blessfrey-gdd/inventory">inventory system</a> takes care of the rest. <br></p>
|
||||
<br>
|
||||
<h2>drop item </h2>
|
||||
<p>Items can be dropped from the <a href="/blessfrey-gdd/inventory">inventory</a> app when the player selects 'drop' on the <a href="/blessfrey-gdd/inspect">inspect menu</a>. <br></p>
|
||||
<br>
|
||||
<p>Choosing 'drop' triggers that <a href="/blessfrey-gdd/inventory-item">inventory item</a>'s id_pressed(id), which calls the associated method from its inspect_options dictionary: inventory_item.gd/drop. It, in turn, calls the drop method off its <a href="/blessfrey-gdd/base-item">base item</a>.<br></p>
|
||||
<br>
|
||||
<p>The <a href="/blessfrey-gdd/base-item">base item</a>'s drop() emits the 'dropped' signal, which triggers the inventory item to queue_free then the inventory app to be refreshed. (connected @ InvContainer.gd/make_inventory_items(base_item).
|
||||
<br>
|
||||
<h2>challenges/known issues </h2>
|
||||
<p> <br></p>
|
||||
<p>pick up in range puts a floor item in the programmatic inventory. out of range puts a proper base item. STOP at line 309 on character.gd. <br></p>
|
||||
<br>
|
||||
<h2>works for...</h2>
|
||||
<ul>
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
<p>Generally, proxemics refers to the study of the relationship between social beings and physical distance.
|
||||
Since spatial distance in Blessfrey (and all games) varies wildly due to distortion of physical proportions and angles, I am addressing the mechanical distance, i.e. the reach of a weapon, the distance from which an item can be picked up, and earshot. Relative distances are modeled after <a href="https://en.wikipedia.org/wiki/Proxemics">Edward T. Hall's interpersonal distances of man</a>: public, social, personal, and intimate distance. <br></p>
|
||||
<br>
|
||||
<p>It's so unfortunate that proxemics became associated with the pandemic over anthropology. I kinda cringe when I hear "social distance" now tbh. I still like the implication of a generalized "personal bubble" instead of the solely combat-oriented "aggro bubble" of other RPGs. I don't really want to change, but the term just got sour. Whatever, I guess. <br></p>
|
||||
<p>I like the implication of a generalized "personal bubble" instead of the solely combat-oriented "aggro bubble" of other RPGs. It's so unfortunate that the pandemic was everyone's introduction to proxemics. I don't really wanna change it, but I kinda cringe when I hear "social distance" now. Whatever, I guess. <br></p>
|
||||
<img src="/static/img/gdd/personalbubble.svg" alt="(chart: concentric rings. From outer to inner, public space is 25-12', social space is 12-4', personal space is 4-1.5', and intimate space is 1.5' or less.)">
|
||||
<p>(image was made by WebHamster for Wikipedia) <br></p>
|
||||
<p>(image by WebHamster for Wikipedia) <br></p>
|
||||
<br>
|
||||
<p>Distances are declared in the mobile entity's mobile.gd. I...don't know what Godot units are supposed to be. I think they are pixels? Let's call them degrees(❥). I estimate 1❥ to equal ~2.5 social inches. <br></p>
|
||||
<br>
|
||||
|
||||
@@ -3,18 +3,10 @@
|
||||
<div class="content-grid">
|
||||
<h1><a href="/gdd">blessfrey gdd</a> - setting</h1>
|
||||
<p>Blessfrey takes place in Lucrest, Nickajack, a small town unknowingly situated over an abyssal dungeon. <br></p>
|
||||
</div>
|
||||
|
||||
|
||||
% import random
|
||||
% rebase('frame.tpl')
|
||||
<div class="content-grid"><div class="center">
|
||||
<h1>blessfrey setting </h1>
|
||||
<p>Blessfrey's world starts in Lucrest, an economic boomtown in the rural South, and expands deep through the pockets and tunnels of the earth until another world is discovered. <br></p>
|
||||
<br>
|
||||
<ul>
|
||||
% for i in [["csa","blessfrey-csa"],["castaway kingdom","blessfrey-castaway-kingdom"],["huntsville","blessfrey-huntsville"],["Lucrest","blessfrey-lucrest"],["usa","blessfrey-usa"]]:
|
||||
<li class="latest">{{random.choice(['.','•','☆','★'])}}	<a href=/{{i[1]}}>{{i[0]}}</a></li>
|
||||
% end
|
||||
% for i in ["CSA"],["castaway"],["huntsville"],["Lucrest"],["USA"]:
|
||||
<li class="latest">{{random.choice(['.','•','☆','★'])}}	<a href=/{{i}}>{{i}}</a></li>
|
||||
% end
|
||||
</ul>
|
||||
</div></div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user