<p>Entities need IDs for serving translations (even English is pulled in through the TranslationServer) and judging comparisons. <br></p>
<p>Entities need IDs for serving translations (even English is pulled in through the TranslationServer) and judging comparisons. <br></p>
<br>
<br>
@ -255,7 +252,5 @@
</ul>
</ul>
<br>
<br>
<h3>ref ID </h3>
<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</div> stage of each entity. The earlier the ref ID, the older the entity. <br></p>
<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>
<p>Items - drops, drop table, floor items, base items, inventory items, move to pick up item, shift-move-to-pick-up-item, item spawner, item in container, item inspect, item use, dropping from inv <br></p>
<br>
<h2>four representations </h2>
<p>An item changes its form depending on its context. <br></p>
<br>
<p>Base items are the purest form of an item, maintaining its continuity and containing its essential data. Other items hold the base item as a child or generates one if one doesn't already exist. <br></p>
<br>
<p>Floor items are the representation of an item that spawns in the environment, drops from opponents, and can be picked up. They are technically tangible entities. <br></p>
<br>
<p>Inventory items appear in the inventory window. They are technically control nodes. <br></p>
<br>
<p>Merchandise appears in store windows. <br></p>
<br>
<h2>item pickup </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 inspect menu. <br></p>
<br>
<p>Item pickup is triggered when a floor item 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>
<br>
<p>Item pickup is also an option on the floor items' inspect menu. Choosing it triggers that floor item'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 item.find_distance(player) > the player's <a href="/blessfrey-proxemics">intimate distance</a>,
<br>
<p>If the item is outside the player's intimate space, <br></p>
<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>
<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>
<p>Generally, proxemics refers to the study of the relationship between social beings and physical distance.
% rebase('frame.tpl')
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>
<p>(All distances on this page refer to interentitic distance, not spatial distance.) <br></p>
<br>
<br>
<p>Generally, proxemics refers to the study of the relationship between social beings and physical distance. In Blessfrey, relative distances between interactables and game mechanic ranges 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>
<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>
<br>
<p>It's so unfortunate that social distance is more often associated with the pandemic than proxemics now. I may have to find more positive terms later, but these work well for me. :/ I like the implication of a generalized "personal bubble" instead of the solely combat-oriented "aggro bubble" of other RPGs. <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.)">
<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)
<p>(image was made by WebHamster for Wikipedia) <br></p>
<br>
<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>
<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>
<p>Skills are individual powers usable by entities. They can take 8 at a time on their skillbar. They can be used for combat, puzzle-solving, and roleplaying. They are acquired through exploring. <br></p>
<p>Skills are individual powers usable by entities. They can take 8 at a time on their skillbar. They can be used for combat, puzzle-solving, and roleplaying. They are acquired through exploring. <br></p>
<li><b><a href="/blessfrey-items">base item</a></b>: the core of data of an individual item. Floor items and inventory items contain a base item. </li>
<li><b><a href="/blessfrey-items">base item</a></b>: the core of data of an individual item. Floor items and inventory items contain a base item. </li>
<li><b><a href="/blessfrey-proxemics">degrees(❥)</a></b>: (concept) the unit of social distance </li>
<li><b><a href="/blessfrey-proxemics">degrees(❥)</a></b>: (concept) the unit of social distance </li>
<p>The overall vibe of Blessfrey will be warm, fun, upbeat, pop, and stylish with pink colors. I need to find some pervasive motiff, especially one that symbolizes home for Helia. <br></p>
<p>The overall vibe of Blessfrey will be warm, fun, upbeat, pop, and stylish with pink colors. I need to find some pervasive motiff, especially one that symbolizes home for Helia. <br></p>
<br>
<br>
<h2>fantasy, modern, slice-of-life </h2>
<h2>fantasy, modern, slice-of-life </h2>
@ -55,5 +52,3 @@
<p>Patty Cake, London Bridge is Falling Down, Five Little Monkeys, Itsy Bitsy Spider, Rain Rain Go Away, This Little Piggy, Here are Mother's Knives and Forks, Red Rover Red Rover (absolutely hated this one), Finger Family, The Muffin Man, Row Row Row Your Boat, Eenie Minnie Minie Moe, clean up songs, Father Abraham Had Many Sons, B-I-N-G-O, He's Got the Whole World in His Hands, Jesus Loves Me, Jesus Loves the Little Children, This Little Light of Mine, Head Shoulders Knees and Toes, Duck Duck Goose, Baa Baa Black Sheep, Sharks and Minnows, Cops and Robbers, Freeze Tag, How Much Wood Would a Woodchuck Chuck?, Guess What Chicken Butt, One Two Buckle My Shoe, Frere Jacques, If wishes were horses, You're a Grand Ole Flag, The Ants Go Marching One by One <br></p>
<p>Patty Cake, London Bridge is Falling Down, Five Little Monkeys, Itsy Bitsy Spider, Rain Rain Go Away, This Little Piggy, Here are Mother's Knives and Forks, Red Rover Red Rover (absolutely hated this one), Finger Family, The Muffin Man, Row Row Row Your Boat, Eenie Minnie Minie Moe, clean up songs, Father Abraham Had Many Sons, B-I-N-G-O, He's Got the Whole World in His Hands, Jesus Loves Me, Jesus Loves the Little Children, This Little Light of Mine, Head Shoulders Knees and Toes, Duck Duck Goose, Baa Baa Black Sheep, Sharks and Minnows, Cops and Robbers, Freeze Tag, How Much Wood Would a Woodchuck Chuck?, Guess What Chicken Butt, One Two Buckle My Shoe, Frere Jacques, If wishes were horses, You're a Grand Ole Flag, The Ants Go Marching One by One <br></p>
<br>
<br>
<p>Honestly, people are very musical, especially when they are younger. I can find most of these online, but we regularly made up our own songs, too. </p>
<p>Honestly, people are very musical, especially when they are younger. I can find most of these online, but we regularly made up our own songs, too. </p>
% for i in [["cast","blessfrey-cast"],["credits","blessfrey-credits"],["game mechanics","blessfrey-mechanics"],["IDs","blessfrey-ids"],["items","blessfrey-items"],["jobs","blessfrey-jobs"],["keywords","blessfrey-keywords"],["Mercur","blessfrey-Mercur"],["milestones","blessfrey-milestones"],["proxemics","blessfrey-proxemics"],["setting","blessfrey-setting"],["skills","blessfrey-skills"],["story","blessfrey-story"],["style guide","style-guide"],["terms","blessfrey-terms"],["vibe","blessfrey-vibe"],["website","website"]]:
% for i in ["cast","credits","mechanics","ID","item","job","keyword","Mercur","milestones","proxemics","setting","skill","story","style guide","terms","vibe","website"]:
<p>Items - drops, drop table, floor items, base items, inventory items, move to pick up item, shift-move-to-pick-up-item, item spawner, item in container, item inspect, item use, dropping from inv <br></p>
<br>
<h2>item pickup </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 inspect menu. <br></p>
<br>
<p>Item pickup is triggered when a floor item 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 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 items' inspect menu. <br></p>
<br>
<p>character.gd/consider_pickup(item) points to UserControl.gd/pickup(item) then checks distance. <br></p>
<br>
<p>If the item is outside the player's intimate space,