sitemap; link colors on docs; gdd;

master
chimchooree 2 years ago
parent 0397a3ab24
commit 345662dd70

@ -12,14 +12,14 @@
<p>Merchandise appears in store windows. <br></p> <p>Merchandise appears in store windows. <br></p>
<br> <br>
<h2>item pickup </h2> <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> <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> <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> <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> <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> <p>Item pickup is also an option on the floor items' <a href="/blessfrey-gdd/inspect">inspect menu</a>. 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> <br>
<p>Character.gd/consider_pickup(item) passes to UserControl/pickup(item). The next branch depends on a distance check. <br></p> <p>Character.gd/consider_pickup(item) passes to UserControl/pickup(item). The next branch depends on a distance check. <br></p>
<br> <br>
<p>If item.find_distance(player) > the player's <a href="/blessfrey-proxemics">intimate distance</a>, <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.
<br> <br>
<p>If the item is outside the player's intimate space, <br></p> <p>Otherwise, pathfinding begins. <br></p>

@ -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> <p>documenting Blessfrey game mechanics<br></p>
<br> <br>
<ul> <p>Game mechanics are the rules of the world. <br></p>
% for i in [["inspect menu","blessfrey-inspect"],["jobs","blessfrey-jobs"],["keywords","blessfrey-keywords"],["skills","blessfrey-skills"]]: <br>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<a href=/{{i[1]}}>{{i[0]}}</a></li> <h2>character creation</h2>
% end <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>
</ul> <br>
</div></div> <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>

@ -1,12 +1,13 @@
<p><ul> <p><ul>
<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-gdd/item">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-gdd/proxemics">degrees(❥)</a></b>: (concept) the unit of social distance </li>
<li><b><a href="/blessfrey-items">floor item</a></b>: </li> <li><b><a href="/blessfrey-gdd/item">floor item</a></b>: </li>
<li><b><a href="/blessfrey-proxemics">intimate distance</a></b>: 45❥, declared at mobile.gd/intimate_space </li> <li><b><a href="/blessfrey-gdd/inspect">inspect menu</a></b>: (UI) presents options for interacting with the subject </li>
<li><b><a href="/blessfrey-items">inventory item</a></b>: </li> <li><b><a href="/blessfrey-gdd/proxemics">intimate distance</a></b>: 45❥, declared at mobile.gd/intimate_space </li>
<li><b><a href="/blessfrey-items">item</a></b>: varies in form depending on its context - base item, floor item, inventory item, merchandise </li> <li><b><a href="/blessfrey-gdd/item">inventory item</a></b>: </li>
<li><b><a href="/blessfrey-items">merchandise</a></b>: </li> <li><b><a href="/blessfrey-gdd/item">item</a></b>: varies in form depending on its context - base item, floor item, inventory item, merchandise </li>
<li><b><a href="/blessfrey-proxemics">personal distance</a></b>: 60❥, declared at mobile.gd/personal_space </li> <li><b><a href="/blessfrey-gdd/item">merchandise</a></b>: </li>
<li><b><a href="/blessfrey-proxemics">proxemics</a></b>: (concept) interentitic distances </li> <li><b><a href="/blessfrey-gdd/proxemics">personal distance</a></b>: 60❥, declared at mobile.gd/personal_space </li>
<li><b><a href="/blessfrey-proxemics">social distance</a></b>: 90❥, declared at mobile.gd/social_space </li> <li><b><a href="/blessfrey-gdd/proxemics">proxemics</a></b>: (concept) interentitic, mechanical distances </li>
<li><b><a href="/blessfrey-gdd/proxemics">social distance</a></b>: 90❥, declared at mobile.gd/social_space </li>
</ul></p> </ul></p>

@ -537,7 +537,7 @@ def fashion():
@route('/blessfrey-gdd') @route('/blessfrey-gdd')
def gddbf(): def gddbf():
"""Game Design Document""" """Game Design Document"""
info = {'css': 'gdd', 'title': 'blessfrey gdd', 'year': find_year()} info = {'css': 'doc', 'title': 'blessfrey gdd', 'year': find_year()}
return template('bf-gdd.tpl', info) return template('bf-gdd.tpl', info)
@route('/gdd') @route('/gdd')
def gdd(): def gdd():
@ -554,6 +554,8 @@ def page(page):
return style() return style()
if page.lower() in ["mechanics","game-mechanics","game_mechanics"]: if page.lower() in ["mechanics","game-mechanics","game_mechanics"]:
return mech() return mech()
if page.lower() in ["job","keyword","skill"]:
return mechpage(page)
loc = 'blessfrey-gdd/' loc = 'blessfrey-gdd/'
info = {'css': 'doc', 'title': 'blessfrey gdd - ' + page, 'year': find_year(), 'topic': page.lower(), 'writeup': prepare_gdd_page(page, loc)} info = {'css': 'doc', 'title': 'blessfrey gdd - ' + page, 'year': find_year(), 'topic': page.lower(), 'writeup': prepare_gdd_page(page, loc)}
return template('page.tpl', info) return template('page.tpl', info)
@ -564,7 +566,7 @@ def mech():
info = {'css': 'doc', 'title': 'blessfrey gdd - game mechanics', 'year': find_year(), 'topic': 'game mechanics', 'writeup': prepare_gdd_page('mechanics', 'blessfrey-gdd/mechanics/')} info = {'css': 'doc', 'title': 'blessfrey gdd - game mechanics', 'year': find_year(), 'topic': 'game mechanics', 'writeup': prepare_gdd_page('mechanics', 'blessfrey-gdd/mechanics/')}
return template('page.tpl', info) return template('page.tpl', info)
@route('/blessfrey-gdd/mechanics/<page>') @route('/blessfrey-gdd/mechanics/<page>')
def page(page): def mechpage(page):
loc = 'blessfrey-gdd/mechanics/' loc = 'blessfrey-gdd/mechanics/'
info = {'css': 'doc', 'title': 'blessfrey gdd - ' + page, 'year': find_year(), 'topic': '<a href="/blessfrey-gdd/mechanics">game mechanic</a> ~ ' + page.lower(), 'writeup': prepare_gdd_page(page, loc)} info = {'css': 'doc', 'title': 'blessfrey gdd - ' + page, 'year': find_year(), 'topic': '<a href="/blessfrey-gdd/mechanics">game mechanic</a> ~ ' + page.lower(), 'writeup': prepare_gdd_page(page, loc)}
return template('page.tpl', info) return template('page.tpl', info)
@ -585,10 +587,13 @@ def style():
return template('style-guide.tpl', info) return template('style-guide.tpl', info)
# Location Page # Location Page
@route('/location/') # if no location given
def loc3():
return loc("Lucrest")
@route('/loc/') # if no location given @route('/loc/') # if no location given
def loc2(): def loc2():
return loc("Lucrest") return loc("Lucrest")
@route('/location/<location_name:path>') @route('/loc/<location_name:path>')
def loc(location_name): def loc(location_name):
"""location page""" """location page"""
loc = 'location/' loc = 'location/'
@ -629,6 +634,13 @@ def presskit():
info = {'css': 'doc', 'title': 'blessfrey presskit', 'year': find_year()} info = {'css': 'doc', 'title': 'blessfrey presskit', 'year': find_year()}
return template('blessfrey-presskit.tpl', info) return template('blessfrey-presskit.tpl', info)
# Sitemap
@route('/sitemap')
def sitemap():
"""sitemap"""
info = {'css': 'doc', 'title': 'blessfrey sitemap', 'year': find_year()}
return template('sitemap.tpl', info)
# Species Page # Species Page
@route('/race/') # if no species given @route('/race/') # if no species given
def spec4(): def spec4():

@ -30,6 +30,7 @@
margin:0; margin:0;
font-family: 'pf_ronda_sevenregular', sans-serif; font-family: 'pf_ronda_sevenregular', sans-serif;
background-color: black; background-color: black;
font-size: 1em;
} }
html, body {padding:0; margin:0; height:100%;} html, body {padding:0; margin:0; height:100%;}
footer { footer {
@ -67,7 +68,12 @@ h1 {
font-family: 'mitochondriaregular', sans-serif; font-family: 'mitochondriaregular', sans-serif;
font-size: 1.5em; font-size: 1.5em;
} }
h1 a,h1 a:visited,h1 a:hover,h1 a:active {
font-family: 'mitochondriaregular', sans-serif;
}
h2 a:hover,h2 a:active {
font-family: 'mitochondriaregular', sans-serif;
}
.mundane {color:#aca79e;} .mundane {color:#aca79e;}
.common {color:#5576d1;} .common {color:#5576d1;}
.unusual {color:#9873AC;} .unusual {color:#9873AC;}
@ -113,6 +119,8 @@ pre,code {
} }
.top a:hover { .top a:hover {
color: #A88AA8; color: #A88AA8;
font-family: 'mitochondriaregular', sans-serif;
font-size: .73em;
} }
.top a:visited { .top a:visited {
color: #C0AAC0; color: #C0AAC0;

@ -120,6 +120,7 @@
0 2px 1px #182448, 0 2px 1px #182448,
-1px 2px 1px #182448, -1px 2px 1px #182448,
-1px 0 1px #182448; -1px 0 1px #182448;
font-family: 'mitochondriaregular', sans-serif;
} }
.snippet-content { .snippet-content {
background-color: #C0AAC0; background-color: #C0AAC0;

@ -4,3 +4,16 @@
width: 80%; width: 80%;
margin: auto; margin: auto;
} }
.content-grid a:link {
color: #C0AAC0;
}
.content-grid a:visited {
color: #C0AAC0;
}
.content-grid a:hover {
color: #E1B9E6;
}
.content-grid a:active {
color: #C0AAC0;
}

@ -26,16 +26,16 @@
background-color: transparent; background-color: transparent;
} }
.content-right a:link { .content-right a:link {
color: #305285; color: #C0AAC0;
} }
.content-right a:visited { .content-right a:visited {
color: #305285; color: #C0AAC0;
} }
.content-right a:hover { .content-right a:hover {
color: #9092ca; color: #E1B9E6;
} }
.content-right a:active { .content-right a:active {
color: #9092ca; color: #C0AAC0;
} }
.content-right ul { .content-right ul {
list-style-type: none; list-style-type: none;

@ -90,7 +90,7 @@
color: #C0AAC0; color: #C0AAC0;
} }
.navlink a:hover { .navlink a:hover {
color: #f463ad; color: #E1B9E6;
} }
.navlink a:active { .navlink a:active {
color: #C0AAC0; color: #C0AAC0;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 432 KiB

@ -5,8 +5,8 @@
<p>The vision for Blessfrey <br></p> <p>The vision for Blessfrey <br></p>
<br> <br>
<ul> <ul>
% for i in ["cast","credits","mechanics","ID","item","job","keyword","Mercur","milestones","proxemics","setting","skill","story","style guide","terms","vibe","website"]: % for i in ["cast","credits","ID","inspect menu", "item","job","keyword","mechanics","Mercur","milestones","proxemics","setting","skill","story","style guide","terms","vibe","website"]:
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<a href=/blessfrey-gdd/{{i}}>{{i}}</a></li> <li class="list">{{random.choice(['.','•','☆','★'])}}&#9;<a href=/blessfrey-gdd/{{i}}>{{i}}</a></li>
% end % end
</ul> </ul>
</div></div> </div></div>

@ -1,14 +1,17 @@
% import random
% rebase('frame.tpl') % rebase('frame.tpl')
<div class="content-grid"> <div class="content-grid">
<div class="content-left"> <div class="content-left">
</div> </div>
<div class="content-right"> <div class="content-right">
<div class="intro"> <div class="intro">
<h2>hello</h2> <h2>hello,</h2>
<p><b>hello</b>, call me chimchooree. <br></p> <p>call me chimchooree. <br></p>
<br> <br>
<p>I'm a developer from the USA and like to show off my projects here. I dabble in Python, Java, Angular, Godot Engine, and HTML5+CSS, but I sew clothes, draw, and write, too. <br></p> <p>I'm a developer from the USA and like to show off my projects here. I dabble in Python, Java, Angular, Godot Engine, and HTML5+CSS, but I sew clothes, draw, and write, too. <br></p>
<br>
</div> </div>
<div class="contact"> <div class="contact">
<h2>contact</h2> <h2>contact</h2>
<p>I wouldn't mind hearing from you. <br></p> <p>I wouldn't mind hearing from you. <br></p>
@ -16,19 +19,18 @@
<li><a href="https://discord.com/">Discord (CustomsOfficer#3449)</a> </li> <li><a href="https://discord.com/">Discord (CustomsOfficer#3449)</a> </li>
<li><a href="https://twitter.com/lilchimchooree">Twitter (@lilchimchooree)</a> </li> <li><a href="https://twitter.com/lilchimchooree">Twitter (@lilchimchooree)</a> </li>
</ul> </ul>
<br>
</div> </div>
<div class="projects"> <div class="projects">
<h2>other projects</h2> <h2>other projects</h2>
<p>The most obvious is <b>blessfrey.me</b>, this very portfolio and blog website. It is coded in <a href="https://bottlepy.org/docs/dev/">Bottle: Python</a>, <a href="https://bottlepy.org/docs/dev/stpl.html">SimpleTemplate</a>, and HTML+CSS. Any embedded applications are probably be HTML5. <br></p> <p><ul>
<br> <li>{{random.choice(['.','•','☆','★'])}}&#9;<b>blessfrey.me</b> - The most obvious, this very portfolio and blog website. It is coded in <a href="https://bottlepy.org/docs/dev/">Bottle: Python</a>, <a href="https://bottlepy.org/docs/dev/stpl.html">SimpleTemplate</a>, and HTML+CSS. Any embedded applications are probably be HTML5. </li>
<p>Cat Store - Java, text-based cat breeding and cat show life sim. <br></p> <li>{{random.choice(['.','•','☆','★'])}}&#9;Cat Store</b> - Java, text-based cat breeding and cat show life sim. </li>
<br> <li>{{random.choice(['.','•','☆','★'])}}&#9;<a href="https://chimchooree.itch.io/">itch.io (chimchooree)</a> and <a href="https://gitlab.com/chimchooree">GitLab (chimchooree)</a> for micro games and general coding projects. </li>
<p>Also see my <a href="https://chimchooree.itch.io/">itch.io (chimchooree)</a> and <a href="https://gitlab.com/chimchooree">GitLab (chimchooree)</a> for micro games and general coding projects. <br></p> <li>{{random.choice(['.','•','☆','★'])}}&#9;OCs from gamedev projects, creative writing, and games are stored in the <a href="/characters">characters page</a>. </li>
<br> <li>{{random.choice(['.','•','☆','★'])}}&#9;<a href="/diary/tag/OoTD">OotD</a> and <a href="/diary/tag/MoTD">MotD</a> looks are periodically shared in my <a href="/diary/tag/fashion">diary</a>. </li>
<p>My OCs from gamedev projects, creative writing, and games on the <a href="/characters">characters page</a>. <br></p> </ul></p>
<br>
<p>I periodically share fashion content as well as <a href="/diary/tag/OoTD">OotD</a> and <a href="/diary/tag/OoTD">MotD</a> looks in my <a href="/diary/tag/fashion">diary</a>. <br></p>
</div> </div>
</div> </div>

@ -1,6 +1,6 @@
% rebase('frame.tpl') % rebase('frame.tpl')
% import random % import random
<div class="content-grid"> <div class="content-grid">
<h1><a href="/gdd" class="h1">blessfrey gdd</a> - {{!topic}}</h1> <h1><a href="/gdd" class="h1link">blessfrey gdd</a> - {{!topic}}</h1>
{{!writeup}} {{!writeup}}
</div> </div>

@ -0,0 +1,77 @@
% import random
% rebase('frame.tpl')
<div class="content-grid"><div class="center">
<h1>sitemap </h1>
<p>every page on blessfrey.me that I can remember <br></p>
<br>
<details>
<summary><a href="diary">diary</a></summary>
<ul>
<li class="list">{{random.choice(['.','•','☆','★'])}}&#9;<a href=/diary/1>specific diary page</a></li>
<li class="list">{{random.choice(['.','•','☆','★'])}}&#9;<a href=/diary/tag/webdev>specific diary tag</a></li>
% for i in ["220831"]:
<li class="list">{{random.choice(['.','•','☆','★'])}}&#9;<a href=/{{i}}>{{i}}</a></li>
% end
</ul>
</details>
<br>
<a href="play">play</a><br>
<br>
<details>
<summary><a href="about">info</a></summary>
<ul>
% for i in ["milestones","gdd","presskit","characters"]:
<li class="list">{{random.choice(['.','•','☆','★'])}}&#9;<a href=/{{i}}>{{i}}</a></li>
% end
</ul>
</details>
<br>
<a href="dev">dev</a><br>
<br>
<details>
<summary><a href="gdd">gdd</a></summary>
<ul>
% for i in ["cast","credits","ID","inspect menu","item","job","keyword","mechanics","Mercur","milestones","proxemics","setting","skill","story","style guide","terms","vibe","website"]:
<li class="list">{{random.choice(['.','•','☆','★'])}}&#9;<a href=/{{i}}>{{i}}</a></li>
% end
</ul>
</details>
<br>
<details>
<summary><a href="characters">characters</a></summary>
<ul>
% for i in ["Helia","Rune","Tessa","Abbey","Calder","Silke","Aristen","Chimchooree","Lune"]:
<li class="list">{{random.choice(['.','•','☆','★'])}}&#9;<a href=/char/{{i}}>{{i}}</a></li>
% end
</ul>
</details>
<br>
<details>
<summary><a href="species">species</a></summary>
<ul>
% for i in ["human"]:
<li class="list">{{random.choice(['.','•','☆','★'])}}&#9;<a href=/species/{{i}}>{{i}}</a></li>
% end
</ul>
</details>
<br>
<details>
<summary><a href="location">location</a></summary>
<ul>
% for i in ["Lucrest"]:
<li class="list">{{random.choice(['.','•','☆','★'])}}&#9;<a href=/loc/{{i}}>{{i}}</a></li>
% end
</ul>
</details>
<br>
<a href="presskit">presskit</a><br>
</div></div>
Loading…
Cancel
Save