Compare commits

...
9 Commits
29 changed files with 356 additions and 98 deletions
+1 -1
View File
@@ -1 +1 @@
<p>Her quiet femininity contrasts with her titanic arms and powerful thighs. (I maxxed out the arm muscularity and arm thickness sliders.) Perplexingly, she's retained an hourglass figure, which she attributes to a life of wearing belts. She always presents herself with excellence, wearing a meticulously perfected coral monochromatic face of makeup to set off her pale eyes, deep auburn hair, and glassy skin. Through experience, it wears gracefully even through sweat and heat. Her wardrobe is purely functional, consisting entirely of training and ceremonial uniforms, especially those that pair well with belts and scarves. Her favorite colors to wear are orange and jade. <br></p> <p>Her quiet femininity contrasts with her titanic arms and powerful thighs. (I maxxed out the arm muscularity and arm thickness sliders.) Perplexingly, despite all her muscle mass, she's retained an hourglass figure, which she attributes to a life of wearing belts. She always presents herself with excellence, wearing a meticulously perfected coral monochromatic face of makeup to set off her pale eyes, deep auburn hair, and glassy skin. Through experience, it wears gracefully even through sweat and heat. Her wardrobe is purely functional, consisting entirely of training and ceremonial uniforms, especially those that pair well with belts and scarves. Her favorite colors to wear are orange and jade. <br></p>
+1 -1
View File
@@ -1,3 +1,3 @@
<p>My Black Desert Online main! The community and gear system ruin what is one of the best tycoon and life skilling MMOs, so I didn't play it for very long. I still adore Aristen, though. <br></p> <p>My Black Desert Online main! The community and gear system ruin what is one of the best tycoon and life skilling MMOs, so I didn't play it for very long. I still adore Aristen, though. <br></p>
<br> <br>
<p>She's an honest and direct person who won't betray her core values of loyalty, submission towards authority, and denial of the flesh. Her Spartan lifestyle borders on asceticism. She lives off the land. Though her body is shaped by extreme discipline, she isn't necessarily the wisest person. She's always falling into the "work harder, not smarter" fallacy, leading to some pretty comical blunt-force solutions for her jobs. <br></p> <p>She's an honest and direct person who won't betray her core values of loyalty, submission towards authority, and denial of the flesh. Her Spartan lifestyle borders on asceticism. She lives off the land. Though her body is shaped by extreme discipline, she isn't necessarily the wisest person. She's always falling into the "work harder, not smarter" fallacy, leading to comical blunt-force solutions for her jobs. <br></p>
+1 -2
View File
@@ -8,6 +8,5 @@
<li><b>height:</b> 5'1 </li> <li><b>height:</b> 5'1 </li>
<li><b>residence:</b> <a href="https://wiki.guildwars.com/wiki/Isle_of_the_Dead">Isle of the Dead</a>, <a href="https://aion.fandom.com/wiki/Poeta">Akarios Village, Poeta</a> </li> <li><b>residence:</b> <a href="https://wiki.guildwars.com/wiki/Isle_of_the_Dead">Isle of the Dead</a>, <a href="https://aion.fandom.com/wiki/Poeta">Akarios Village, Poeta</a> </li>
<li><b>likes:</b> cats, her pet <a href="https://wiki.guildwars.com/wiki/Miniature_Necrid_Horseman">mini Necrid Horseman</a>, powertrading </li> <li><b>likes:</b> cats, her pet <a href="https://wiki.guildwars.com/wiki/Miniature_Necrid_Horseman">mini Necrid Horseman</a>, powertrading </li>
<li><b>dislikes:</b> Prince Rurik </li> <li><b>dislikes:</b> fish </li>
<li><b>notes:</b> </li>
</ul> </ul>
+1 -1
View File
@@ -1,3 +1,3 @@
<p>Her favorite colors to wear are brown, white, and black. If she wears makeup, it's usually brown or gold tones. She also usually has short, straight hair with peek-a-boo bangs. <br></p> <p>Her favorite colors to wear are brown, white, and black. If she wears makeup, it's usually brown or gold tones. She also usually has short, straight hair with peek-a-boo bangs. <br></p>
<br> <br>
<p>She had a frizzy brunette phase for a few years because I convinced myself creative interpretations and personas are cringy. Maybe they are, but whatever. That line of thinking strips away my ability to abstract stressors into art and writing. My creative outlet matters way more to me than some arbitrary standard of coolness. So her brunette phase is an important part of her journey, but her true self has white hair. <br></p> <p>She had a frizzy brunette phase for a few years because I convinced myself creative interpretations and personas are cringy. Maybe they are, but whatever. That line of thinking strips away my ability to abstract stressors into art and writing. My creative outlet matters way more to me than some arbitrary standard of coolness. So her brunette phase is an important part of her journey, but her true self has white hair, whatever that means. <br></p>
+24
View File
@@ -0,0 +1,24 @@
WISE | means <i>knowledgeable</i> | AI⚲ <br>
<br>
<h2>basics </h2>
<ul>
<li>role: virtual guide, mascot </li>
<li>age: ??? </li>
<li>birthday: </li>
<li>mental: impossible processing power </li>
<li>physical: holographic. heavy-breasted, drooping oversized glasses, messy hair tangled in her horns, pendulous manner </li>
<li>style: varies </li>
<li>height: 6' </li>
<li>residence: wherever she can be projected </li>
<li>likes: well-formatted requests </li>
<li>dislikes: user error </li>
<li>notes: </li>
</ul><br>
<br>
<h2>story </h2>
<p>She is a relatively older AI but is widely used due to her ease of use, long-term support, and wide availability of libraries and plug-ins. She was originally designed as a virtual assistant for archives and research labs, but is now commonly seen at festivals and sites of interest. She uses a database provided by the owner to process and answer higher-level questions in the natural language of the user. The owner can manipulate the data in the database to give her some semblance of opinions, but she is intended to be bluntly factual. She can't be projected more than 3 feet off her hub, so she must be placed very near everything she needs to interact with. <br></p>
<br>
<h2>description </h2>
<p>She has voice recognition but also allows for written input via a written language similar to stenography. Everything she says is also displayed as text in holographic chat bubbles. In addition to chat bubbles, she can display all kinds of symbols, emoticons, and images as relevant. <br></p>
<br>
<p>Her natural state is to rest. During extended usage, her posture will droop and her mannerisms will become less animated. If her task is completed or she receives no input for an certain period of time, she will nod off to sleep, displaying a stream of Zzz. <br></p>
+24
View File
@@ -0,0 +1,24 @@
WISE | means <i>knowledgeable</i> | AI⚲ <br>
<br>
<h2>basics </h2>
<ul>
<li>role: virtual guide, mascot </li>
<li>age: ??? </li>
<li>birthday: </li>
<li>mental: impossible processing power </li>
<li>physical: holographic. heavy-breasted, drooping oversized glasses, messy hair tangled in her horns, pendulous manner </li>
<li>style: varies </li>
<li>height: 6' </li>
<li>residence: wherever she can be projected </li>
<li>likes: well-formatted requests </li>
<li>dislikes: user error </li>
<li>notes: </li>
</ul><br>
<br>
<h2>story </h2>
<p>She is a relatively older AI but is widely used due to her ease of use, long-term support, and wide availability of libraries and plug-ins. She was originally designed as a virtual assistant for archives and research labs, but is now commonly seen at festivals and sites of interest. She uses a database provided by the owner to process and answer higher-level questions in the natural language of the user. The owner can manipulate the data in the database to give her some semblance of opinions, but she is intended to be bluntly factual. She can't be projected more than 3 feet off her hub, so she must be placed very near everything she needs to interact with. <br></p>
<br>
<h2>description </h2>
<p>She has voice recognition but also allows for written input via a written language similar to stenography. Everything she says is also displayed as text in holographic chat bubbles. In addition to chat bubbles, she can display all kinds of symbols, emoticons, and images as relevant. <br></p>
<br>
<p>Her natural state is to rest. During extended usage, her posture will droop and her mannerisms will become less animated. If her task is completed or she receives no input for an certain period of time, she will nod off to sleep, displaying a stream of Zzz. <br></p>
+24
View File
@@ -0,0 +1,24 @@
WISE | means <i>knowledgeable</i> | AI⚲ <br>
<br>
<h2>basics </h2>
<ul>
<li>role: virtual guide, mascot </li>
<li>age: ??? </li>
<li>birthday: </li>
<li>mental: impossible processing power </li>
<li>physical: holographic. heavy-breasted, drooping oversized glasses, messy hair tangled in her horns, pendulous manner </li>
<li>style: varies </li>
<li>height: 6' </li>
<li>residence: wherever she can be projected </li>
<li>likes: well-formatted requests </li>
<li>dislikes: user error </li>
<li>notes: </li>
</ul><br>
<br>
<h2>story </h2>
<p>She is a relatively older AI but is widely used due to her ease of use, long-term support, and wide availability of libraries and plug-ins. She was originally designed as a virtual assistant for archives and research labs, but is now commonly seen at festivals and sites of interest. She uses a database provided by the owner to process and answer higher-level questions in the natural language of the user. The owner can manipulate the data in the database to give her some semblance of opinions, but she is intended to be bluntly factual. She can't be projected more than 3 feet off her hub, so she must be placed very near everything she needs to interact with. <br></p>
<br>
<h2>description </h2>
<p>She has voice recognition but also allows for written input via a written language similar to stenography. Everything she says is also displayed as text in holographic chat bubbles. In addition to chat bubbles, she can display all kinds of symbols, emoticons, and images as relevant. <br></p>
<br>
<p>Her natural state is to rest. During extended usage, her posture will droop and her mannerisms will become less animated. If her task is completed or she receives no input for an certain period of time, she will nod off to sleep, displaying a stream of Zzz. <br></p>
+44
View File
@@ -0,0 +1,44 @@
<!---->
<h1>makeup of the day </h1>
august 11, 2022<br>
#fashion #makeup #motd <br>
<br>
<p>Sometimes, I feel like sharing my makeup. <br></p>
<br>
<h2>red eyeshadow as eyeliner </h2>
<p>Red eyeshadow! I wanted to match my makeup to my outfit ~ a black t-shirt with a vibrant orange tiger print and rich tan fall coat with red and black plaid. Red is a forever favorite to wear in igari style, but it's bordering on socially irresponsible to try to look ill during a pandemic. Maybe my red can come back with more conventional styles, though navy and bronze are far superior liner colors for brown eyes. <br></p>
<br>
<p>I applied a red metallic eyeshadow with an eyeliner brush along the outer third of the upper lashline and blended into the inner third. Up to my brow, I used a base shade to even out my tone. The outer third of the lower lash line was lined with deep burgundy and flicked out and up with my finger to form a subtle wing. <br></p>
<br>
<p>Photo is after 8 hours of wear. I think the pencil got a little messy, but the red could last forever. <br></p>
<img src="/static/img/otd/motd_221106.png" alt="(photo: metallic red eyeshadow-as-eyeliner look)"><br>
<br>
<p>Specific shades: <br></p>
<p><ul>
<li>Base: Stila One Step Correct primer </li>
<li>Brow pencil: Ulta Ultra Slim Brow Pencil (Dark Brown) </li>
<li>Eyeshadow: Sydney Grace Queen of Hearts, ABH Base (Norvina palette) </li>
<li>Eyeliner: Urban Decay (Alkaline) </li>
<li>Setting spray: Urban Decay All-Nighter (Ultra Matte) </li>
</ul></p>
<br>
<h2>red eyeshadow-as-eyeliner </h2>
<p>Red eyeshadow! I wanted to match my makeup to my outfit ~ a black t-shirt with a vibrant orange tiger print and rich tan fall coat with red and black plaid. Red is a forever favorite to wear in igari style, but I dropped it because it's plain rude to intentionally look ill and unapproachable during a pandemic. Maybe red can come back with more conventional styles, though navy and bronze are the supreme liner colors for dark brown eyes. <br></p>
<br>
<p>I applied a red metallic eyeshadow with an eyeliner brush along the outer third of the upper lashline and blended into the inner third. Up to my brow, I used a base shade to even out my tone. The outer third of the lower lash line was lined with deep burgundy and flicked out and up with my finger to form a subtle wing. <br></p>
<br>
<p>Photo is after 8 hours of wear. I think the pencil got a little messy, but the red is unmoved. <br></p>
<img src="/static/img/mu/221106.png" alt="(photo: metallic red eyeshadow-as-eyeliner look)"><br>
<br>
<p>Specific shades: <br></p>
<p><ul>
<li>Base: Stila One Step Correct primer </li>
<li>Brow pencil: Ulta Ultra Slim Brow Pencil (dark brown) </li>
<li>Eyeshadow: Sydney Grace Queen of Hearts, ABH Base (Norvina palette) </li>
<li>Eyeliner: Urban Decay Alkaline </li>
<li>Setting spray: Urban Decay All-Nighter Ultra Matte </li>
</ul></p>
<br>
<br>
Last updated July 31, 2022 <br>
<br>
+44
View File
@@ -0,0 +1,44 @@
<!---->
<h1>outfit of the day </h1>
august 11, 2022<br>
#fashion #ootd <br>
<br>
<p>Sometimes, I feel like remembering what I wore. <br></p>
<br>
<h2>lazy tiger</h2>
<p>Don't feel like wearing pants or a blouse. Can never go wrong with my favorite skirt and a t-shirt. Today, I went with a black souveneir t-shirt with a vibrant orange tiger on the front. I think the colors look okay with my fall coat & hat combo. There was a simple moonstone teardrop pendant on a gold-colored chain, but I took it off before picture time. Oops. <br></p>
<br>
<p>I wore makeup to match - red eyeshadow as eyeliner with mauve-purple shimmer blush and a purple-plum lip water stain. <br></p>
<br>
<img src="/static/img/otd/ootd_221106.jpg" alt="(photo: my outfit - a black t-shirt with a painterly tiger's face on the front over a black and dusty purple lace maxi skirt. My coat has red and black plain over rich tan. My cloche hat is nearly the same tan.)"><br>
<br>
<p>Clothes: <br></p>
<p><ul>
<li>Hat: C&C (ebay repurchase of a wholesale hat from an Atlanta Apparel at AmericasMart tradeshow) </li>
<li>Coat: Avec Les Filles's Longline Plaid Blazer in RED MOTIF (Anthropologie) </li>
<li>Pendant: (TJ Maxx)</li>
<li>T-shirt: Cincinnati Zoo gift shop </li>
<li>Skirt: Free People (bought in 2011 and has never had a break) </li>
<li>Socks: some pack from Target </li>
</ul></p>
<br>
<h2>lazy </h2>
<p>Don't feel like wearing pants or a blouse. Can never go wrong with my favorite skirt and a t-shirt. Today, I went with a black souveneir t-shirt with a vibrant orange tiger on the front. I think the colors look okay with my fall coat & hat combo. There was a simple moonstone teardrop pendant on a gold-colored chain, but I took it off before picture time. Oops. <br></p>
<br>
<p>I wore makeup to match - red eyeshadow as eyeliner with mauve-purple shimmer blush and a purple-plum lip water stain. <br></p>
<br>
<img src="/static/img/otd/ootd_221106.jpg" alt="(photo: my outfit - a black t-shirt with a painterly tiger's face on the front over a black and dusty purple lace maxi skirt. My coat has red and black plain over rich tan. My cloche hat is nearly the same tan.)"><br>
<br>
<p>Clothes: <br></p>
<p><ul>
<li>Hat: C&C (ebay repurchase of a wholesale hat from an Atlanta Apparel at AmericasMart tradeshow) </li>
<li>Coat: Avec Les Filles's Longline Plaid Blazer in RED MOTIF (Anthropologie) </li>
<li>Pendant: (TJ Maxx)</li>
<li>T-shirt: Cincinnati Zoo gift shop </li>
<li>Skirt: Free People (bought in 2011 and has never had a break) </li>
<li>Socks: some pack from Target </li>
</ul></p>
<br>
<br>
Last updated July 31, 2022 <br>
<br>
+14 -2
View File
@@ -120,7 +120,7 @@ def find_gallery(name):
gal.append([["name.png","desc"]]) gal.append([["name.png","desc"]])
if name == "Lune": if name == "Lune":
gal.append("Persona") gal.append("Persona")
gal.append([["RingOfFire.jpg","Lune in the Ring of Fire in her Vabbian"],["HallOfMonuments.png","My Guild Wars Necromancer showing off her Hall of Monuments"],["PhariseeFlying.jpg","My Aion Elysian Spiritmaster with really pretty hair"],["LuneMarine.png","Lune Marine, my gold side resistance Water Controller in City of Heroes"],["ArcheageGuild.jpg","My ArcheAge dwarf ghost girl with gold-dipped hair and a frilly gown, sitting with her guildmates"],["Pixelmon.png","Customs Officer Lune and her sidekick Lilligant in Pixelmon"],["tinypool.png","Bikini Lune in a tiny pool with her kitty in Minecraft"]]) gal.append([["RingOfFire.jpg","Lune in the Ring of Fire in her Vabbian"],["HallOfMonuments.png","My Guild Wars Necromancer showing off her Hall of Monuments"],["PhariseeFlying.jpg","My Aion Elysian Spiritmaster with really pretty hair"],["LuneMarine.png","Lune Marine, my gold side resistance Water Controller in City of Heroes"],["ArcheageGuild.jpg","My ArcheAge dwarf ghost girl with gold-dipped hair and a frilly gown, plus her guildmates"],["Pixelmon.png","Customs Officer Lune and her sidekick Lilligant in Pixelmon"],["tinypool.png","Bikini Lune in a tiny pool with her kitty in Minecraft"]])
if name == "Nephele": if name == "Nephele":
gal.append("Verpets") gal.append("Verpets")
gal.append([["name.png","desc"]]) gal.append([["name.png","desc"]])
@@ -138,7 +138,7 @@ def find_gallery(name):
gal.append([["alchemy.png","Morning alchemy before work"],["dream.jpg","Stupid dream bubbles"]]) gal.append([["alchemy.png","Morning alchemy before work"],["dream.jpg","Stupid dream bubbles"]])
if name == "Rune": if name == "Rune":
gal.append("Blessfrey") gal.append("Blessfrey")
gal.append([["AnimeEnding.png","A still from an attempt to emulate the Little Busters ending animation. Man, animating is hard."],["Bless+Rune.png","Rune and his dinosaur mother"],["Blessfrey.png","Emulating old RPG coverart like Elden Gate in mixed media. Don't feel like working on it anymore."],["FlightRising.png","his oc dragon form in FlightRising (I still can't believe they added not-styracosaur to the game!)"],["RuneHeadshot.png","emulating the art style of Battle Girl High School"],["CawfeeCakes_Artfight.png","2022 Artfight attack by CawfeeCakes"],["Teriuuuu_Artfight.png","2020 Artfight attack by Teriuuuu"]]) gal.append([["AnimeEnding.png","A still from an attempt to emulate the Little Busters ending animation. Man, animating is hard."],["Bless+Rune.png","Rune and his dinosaur mother"],["Blessfrey.png","Emulating old RPG coverart like Elden Gate in mixed media. Don't feel like working on it anymore."],["FlightRising.png","his oc dragon form in FlightRising"],["RuneHeadshot.png","emulating the art style of Battle Girl High School"],["CawfeeCakes_Artfight.png","2022 Artfight attack by CawfeeCakes"],["Teriuuuu_Artfight.png","2020 Artfight attack by Teriuuuu"]])
if name == "Ryada": if name == "Ryada":
gal.append("Guild Wars") gal.append("Guild Wars")
gal.append([[]]) gal.append([[]])
@@ -551,6 +551,12 @@ def id():
"""ID Page""" """ID Page"""
info = {'css': 'doc', 'title': 'blessfrey gdd - IDs + keys', 'year': find_year()} info = {'css': 'doc', 'title': 'blessfrey gdd - IDs + keys', 'year': find_year()}
return template('bf-id.tpl', info) return template('bf-id.tpl', info)
# Items
@route('/blessfrey-items')
def items():
"""Items Page"""
info = {'css': 'doc', 'title': 'blessfrey gdd - items', 'year': find_year()}
return template('bf-items.tpl', info)
# Jobs # Jobs
@route('/blessfrey-jobs') @route('/blessfrey-jobs')
def jobs(): def jobs():
@@ -580,6 +586,12 @@ def mercur():
"""Mercur Page""" """Mercur Page"""
info = {'css': 'doc', 'title': 'blessfrey gdd - Mercur', 'year': find_year()} info = {'css': 'doc', 'title': 'blessfrey gdd - Mercur', 'year': find_year()}
return template('bf-mercur.tpl', info) return template('bf-mercur.tpl', info)
# Proxemics
@route('/blessfrey-proxemics')
def proxemics():
"""proxemics Page"""
info = {'css': 'doc', 'title': 'blessfrey gdd - proxemics', 'year': find_year()}
return template('bf-proxemics.tpl', info)
# Setting # Setting
@route('/blessfrey-setting') @route('/blessfrey-setting')
def setting(): def setting():
+10 -4
View File
@@ -32,7 +32,7 @@
background-color: black; background-color: black;
} }
html, body {padding:0; margin:0; height:100%;} html, body {padding:0; margin:0; height:100%;}
footer{ footer {
position: fixed; bottom: 0; left: 0; position: fixed; bottom: 0; left: 0;
color: #C0AAC0; color: #C0AAC0;
background-color: transparent; background-color: transparent;
@@ -65,6 +65,7 @@ h1,h2,h3,h4,img,i {
} }
h1 { h1 {
font-family: 'mitochondriaregular', sans-serif; font-family: 'mitochondriaregular', sans-serif;
font-size: 1.5em;
} }
.mundane {color:#aca79e;} .mundane {color:#aca79e;}
@@ -94,7 +95,7 @@ pre,code {
display: grid; display: grid;
position: relative; position: relative;
grid-template-columns: 1fr; grid-template-columns: 1fr;
grid-template-rows: 3em auto; grid-template-rows: 3.5em auto;
grid-column-gap: 0px; grid-column-gap: 0px;
grid-row-gap: 0px; grid-row-gap: 0px;
box-sizing: border-box; box-sizing: border-box;
@@ -104,6 +105,7 @@ pre,code {
grid-area: 1 / 1 / 2 / 2; grid-area: 1 / 1 / 2 / 2;
color: #C0AAC0; color: #C0AAC0;
text-align: center; text-align: center;
font-size: 1.5em;
} }
.top a { .top a {
color: #C0AAC0; color: #C0AAC0;
@@ -112,6 +114,10 @@ pre,code {
.top a:hover { .top a:hover {
color: #A88AA8; color: #A88AA8;
} }
.top a:visited {
color: #C0AAC0;
font-weight: bold;
}
.content-grid { .content-grid {
grid-area: 2 / 1 / 3 / 2; grid-area: 2 / 1 / 3 / 2;
@@ -132,12 +138,12 @@ pre,code {
.nav { .nav {
grid-area: 1 / 1 / 2 / 2; grid-area: 1 / 1 / 2 / 2;
background-color: transparent; background-color: transparent;
width: 60vw;
display: grid; display: grid;
grid-template-columns: 26% 51% 23%; grid-template-columns: 26% 51% 23%;
grid-template-rows: 1fr; grid-template-rows: 1fr;
grid-column-gap: 0px; grid-column-gap: 0px;
grid-row-gap: 0px; grid-row-gap: 0px;
margin: auto; margin: auto;
min-width: 636px; width: 40vw;
min-width: 374px;
} }
+23 -21
View File
@@ -1,14 +1,29 @@
.content-grid { .content-grid {
max-width: MAX(50em, 50%); display: column;
display: grid; align-content: flex-start;
grid-template-columns: 2fr 1fr;
grid-template-rows: 40px auto 40px;
grid-column-gap: 0em;
grid-row-gap: 0em;
margin: auto; margin: auto;
} }
.diary-grid {
display: flex;
flex-wrap: wrap;
align-content: stretch;
margin-right: 2em;
margin-left: 2em;
}
.diary-pages {
max-width: 55ch;
margin: auto;
margin-top: 0em;
/* margin-right: 1.5em;*/
}
.sidebar {
max-width: 30ch;
margin: auto;
}
.diary-dir { .diary-dir {
flex-shrink: 0; display: flex;
justify-content: center;
background-color: transparent; background-color: transparent;
font-size: 1.5em; font-size: 1.5em;
color: #AAA39D; color: #AAA39D;
@@ -36,15 +51,6 @@
-1px 2px 1px #080410, -1px 2px 1px #080410,
-1px 0 1px #080410; -1px 0 1px #080410;
} }
.diary-dir.top {
grid-area: 1 / 1 / 2 / 3;
padding-top: 0em;
margin: auto;
}
.diary-dir.bottom {
grid-area: 3 / 1 / 4 / 3;
margin: auto;
}
.diary-dir-left { .diary-dir-left {
display: inline-block; display: inline-block;
vertical-align: middle; vertical-align: middle;
@@ -53,6 +59,8 @@
height: 0em; height: 0em;
display: inline-block; display: inline-block;
white-space: nowrap; white-space: nowrap;
margin-left: .3em;
margin-right: .3em;
} }
.diary-dir-number { .diary-dir-number {
background-color: #886488; background-color: #886488;
@@ -67,10 +75,6 @@
vertical-align: middle; vertical-align: middle;
} }
.diary-pages {
grid-area: 2 / 1 / 3 / 2;
margin-right: 2em;
}
.title { .title {
color: white; color: white;
} }
@@ -169,5 +173,3 @@
background-color: #585c88; background-color: #585c88;
height: 1em; height: 1em;
} }
.sidebar {grid-area: 2 / 2 / 2 / 3;}
-13
View File
@@ -1,16 +1,3 @@
a {
color: #1D1761;
}
a:hover {
color: #3127A5;
}
a:visited {
color: #1D1761;
}
a:active {
color: #3B2FC6;
}
hr { hr {
border: 1px solid black; border: 1px solid black;
} }
+3 -7
View File
@@ -4,6 +4,7 @@
grid-template-rows: 992px; grid-template-rows: 992px;
grid-column-gap: 0px; grid-column-gap: 0px;
grid-row-gap: 0px; grid-row-gap: 0px;
color: white;
} }
.content-left { .content-left {
grid-area: 1 / 1 / 2 / 2; grid-area: 1 / 1 / 2 / 2;
@@ -15,14 +16,9 @@
} }
.content-right { .content-right {
grid-area: 1 / 2 / 2 / 3; grid-area: 1 / 2 / 2 / 3;
background-image: url(../img/dev/collage.png); /* background-image: url(../img/dev/collage.png);
background-size: cover; background-size: cover;
background-repeat: no-repeat; background-repeat: no-repeat;*/
display: grid;
grid-template-columns: repeat(2, 1fr);
grid-template-rows: auto auto auto auto;
grid-column-gap: 0px;
grid-row-gap: 0px;
} }
.content-right h1, h2, ul, li, b, i, p, img, a { .content-right h1, h2, ul, li, b, i, p, img, a {
+8
View File
@@ -1,4 +1,10 @@
/*set heart and star to 0px if viewport too small*/ /*set heart and star to 0px if viewport too small*/
@media (max-width: 625px) {
.heart {
width: auto;
}
}
.heart { .heart {
grid-area: 1 / 1 / 2 / 2; grid-area: 1 / 1 / 2 / 2;
background-color: transparent; background-color: transparent;
@@ -78,8 +84,10 @@
text-align: center; text-align: center;
} }
.navlink a:link { .navlink a:link {
color: #C0AAC0;
} }
.navlink a:visited { .navlink a:visited {
color: #C0AAC0;
} }
.navlink a:hover { .navlink a:hover {
color: #f463ad; color: #f463ad;
+23
View File
@@ -0,0 +1,23 @@
<svg width="868" height="868" viewBox="-434 -434 868 868" font-family="Arial" font-size="18" text-anchor="middle" xmlns="http://www.w3.org/2000/svg">
<g fill="#FFF" stroke="#000">
<g stroke-dasharray="2">
<circle r="417" fill="#AFE9C6"/>
<circle r="260" fill="#BCD35F"/>
<circle r="111" fill="#FF7F2A"/>
<circle r="54" fill="#D35F5F"/>
</g>
<path d="M-23.6 11.5a9.84 10.15 0 0 1 0-20.3H23.6a9.84 10.15 0 0 1 0 20.3Z"/>
<path d="M-4.46 14.3a13.34 13.34 0 1 1 8.92 0 4.8 8.66 0 0 1-8.92 0Z"/>
<path d="M-13.1 4.11c10.52 9.21 15.68 9.21 26.2 0" fill="none"/>
</g>
<g font-size="20">
<text y="-327.07">PUBLIC SPACE</text>
<text y="-169.09">SOCIAL SPACE</text>
</g>
<text y="-78.5">PERSONAL<tspan x="0" dy="18">SPACE</tspan></text>
<text y="-15.7">INTIMATE<tspan x="0" y="36.86">SPACE</tspan></text>
<text y="69.84">1.5 ft<tspan x="0" dy="18">(0.45 m)</tspan></text>
<text y="133.19">4 ft<tspan x="0" dy="18">(1.2 m)</tspan></text>
<text y="275.88">12 ft<tspan x="0" dy="18">(3.6 m)</tspan></text>
<text y="392.32">25 ft<tspan x="0" dy="18">(7.6 m)</tspan></text>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 432 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 432 KiB

+1 -1
View File
@@ -5,7 +5,7 @@
<p>The vision for Blessfrey <br></p> <p>The vision for Blessfrey <br></p>
<br> <br>
<ul> <ul>
% for i in [["cast","blessfrey-cast"],["credits","blessfrey-credits"],["game mechanics","blessfrey-mechanics"],["IDs","blessfrey-ids"],["jobs","blessfrey-jobs"],["keywords","blessfrey-keywords"],["Mercur","blessfrey-Mercur"],["milestones","blessfrey-milestones"],["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","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"]]:
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<a href=/{{i[1]}}>{{i[0]}}</a></li> <li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<a href=/{{i[1]}}>{{i[0]}}</a></li>
% end % end
</ul> </ul>
+18
View File
@@ -0,0 +1,18 @@
% import random
% rebase('frame.tpl')
<div class="content-grid">
<h1><a href="/gdd">blessfrey gdd</a> - items</h1>
<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,
</div>
+42
View File
@@ -0,0 +1,42 @@
% import random
% rebase('frame.tpl')
<div class="content-grid">
<h1><a href="/gdd">blessfrey gdd</a> - proximity</h1>
<p>(All distances on this page refer to interentitic distance, not spatial distance.) <br></p>
<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>
<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.)">
<p>(image was made by WebHamster for Wikipedia)
<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>
<h2>extrapersonal distance </h2>
<p><ul>
<li>range: ???-∞❥ </li>
<li>relevancy: conceptual interentitic outerspace </li>
</ul></p>
<h2>public distance </h2>
<p><ul>
<li>range: 90-???❥ </li>
<li>relevancy: </li>
</ul></p>
<h2>social distance </h2>
<p><ul>
<li>60-90❥. </li>
<li> </li>
</ul></p>
<h2>personal distance </h2>
<p><ul>
<li>45-60❥. </li>
<li> </li>
</ul></p>
<h2>intimate distance </h2>
<p><ul>
<li>range: 0-45❥ </li>
<li>relevancy: item pickup, melee attacks </li>
</ul></p>
<br>
</div>
+13
View File
@@ -5,3 +5,16 @@
<p>Blessfrey takes place in Lucrest, Nickajack, a small town unknowingly situated over an abyssal dungeon. <br></p> <p>Blessfrey takes place in Lucrest, Nickajack, a small town unknowingly situated over an abyssal dungeon. <br></p>
</div> </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(['.','•','☆','★'])}}&#9;<a href=/{{i[1]}}>{{i[0]}}</a></li>
% end
</ul>
</div></div>
+12 -1
View File
@@ -1,6 +1,17 @@
% rebase('frame.tpl') % rebase('frame.tpl')
<div class="content-grid"> <div class="content-grid">
<h1>blessfrey gdd - dictionary of terms</h1> <h1>blessfrey gdd - dictionary of terms</h1>
<p>Definitions of technical terms will go here. </p> <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-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-proxemics">intimate distance</a></b>: 45❥, declared at mobile.gd/intimate_space </li>
<li><b><a href="/blessfrey-items">inventory item</a></b>: </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-items">merchandise</a></b>: </li>
<li><b><a href="/blessfrey-proxemics">personal distance</a></b>: 60❥, declared at mobile.gd/personal_space </li>
<li><b><a href="/blessfrey-proxemics">proxemics</a></b>: (concept) interentitic distances </li>
<li><b><a href="/blessfrey-proxemics">social distance</a></b>: 90❥, declared at mobile.gd/social_space </li>
</ul></p>
</div> </div>
+8 -5
View File
@@ -1,7 +1,8 @@
% rebase('frame.tpl') % rebase('frame.tpl')
% import re % import re
<div class="content-grid"> <div class="content-grid">
<div class="diary-dir top"> <!-- DIRECTORY -->
<div class="diary-dir">
% max_pages = int((total - 1) / limit) % max_pages = int((total - 1) / limit)
<% <%
# page never below 0 # page never below 0
@@ -86,7 +87,8 @@
</a> </a>
</div> </div>
</div> </div>
<div class="diary-grid">
<!-- DIARY PAGES -->
<div class="diary-pages"> <div class="diary-pages">
<span class=title><h1>diary</h1></span> <span class=title><h1>diary</h1></span>
@@ -125,10 +127,11 @@
</div> </div>
% end % end
</div> </div>
<!-- SIDEBAR -->
% include diary-boxes.tpl % include diary-boxes.tpl
</div>
<div class="diary-dir bottom"> <!-- DIRECTORY -->
<div class="diary-dir">
% max_pages = int((total - 1) / limit) % max_pages = int((total - 1) / limit)
<% <%
# page never below 0 # page never below 0
+2 -2
View File
@@ -17,8 +17,8 @@
<div class="nav-about"> <div class="nav-about">
<a href="/about"> <a href="/about">
<div class="navbutton"><img src="/static/img/nav/about.png" alt="(link: about)"></div> <div class="navbutton"><img src="/static/img/nav/about.png" alt="(link: info)"></div>
<div class="navlink">about</div> <div class="navlink">info</div>
</a> </a>
</div> </div>
+3 -2
View File
@@ -1,9 +1,10 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html lang="en">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<head>
% include('header.tpl') % include('header.tpl')
</head>
<body> <body>
+12 -35
View File
@@ -3,55 +3,32 @@
<div class="content-left"> <div class="content-left">
</div> </div>
<div class="content-right"> <div class="content-right">
</div>
</div>
<!--
<div class="intro"> <div class="intro">
<h2>hello</h2>
<p><b>hello</b>, call me chimchooree. <br></p> <p><b>hello</b>, 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>
Contact: <div class="contact">
<h2>contact</h2>
<p>I wouldn't mind hearing from you. <br></p>
<ul> <ul>
<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>
<li><a href="https://flightrising.com/main.php?p=lair&tab=userpage&id=525948">FlightRising (Aristene#525948)</a> </li>
</ul> </ul>
</div> </div>
<div class="rpg">
<h2>blessfrey is...</h2>
<p>a Godot Engine action rpg inspired by Guild Wars 1's class and skill systems, which were in turn inspired by Magic: The Gathering. You will amass a large library of skills through exploration and practice, but you may only take 8 with you into combat. You will also befriend AI companions and manage the skillbars of your team. Plan synergies and team strategies to overcome each challenge. Enemies will be have skillbars of their own, so the same skillbar won't work everywhere! No decision is permanent, so experiment to your heart's content. <br></p>
<br>
<p>Okay, I lied. Blessfrey also has a dual job system. The job you pick at character creation is permanent, but you can take a second as a side gig. Change your side gig frequently to find the best combinations! <br></p>
<br>
<p>I'm currently working towards the first demo! Learn more on the <a href="/demo">Blessfrey page</a> or <a href="/diary/tag/blessfrey">my blog</a>. <br></p>
<br>
<p><a href="/blessfrey-presskit">Presskit is available here.</a> <br></p>
</div>
<div class="fashion">
<h2>fashion is...</h2>
<p>problem-solving, just like any design field. I approach each garment as a realization of both personal and social desires and technical and mathematical challenges. <br></p>
<br>
<p>Though I enjoy the full process of apparel construction, technical design and pattern-making are my strengths. I'm creative but I'm able to engage my technical background, too, when breaking down a sketch of a 3D vision into 2D pieces that will fit a person's measurements, place design elements at flattering locations, and fall within budget and time limitations. It is the pattern-maker, after all, who numbers the yarns on a garment and prepares zipper placement within an eighth of an inch. <br></p>
<br>
<p>I make individual or small batches of each design, but I retain patterns for future reference. I also repair and alter existing clothing to improve fit or style. Read about my collections on the <a href="/fashion">fashion page</a> or on <a href="/diary/tag/fashion">my blog</a>. <br></p>
</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 will probably be HTML5. <br></p> <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>
<br> <br>
<p>Cat Store - Java, text-based cat breeding and cat show life sim. <br></p> <p>Cat Store - Java, text-based cat breeding and cat show life sim. <br></p>
<br> <br>
<p>I'll also leave 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> <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>
<br>
<p>My OCs from gamedev projects, creative writing, and games on the <a href="/characters">characters page</a>. <br></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 class="ocs">
<h2>characters</h2>
<p>View my characters from gamedev projects, creative writing, and elsewhere on the <a href="/characters">characters page</a><br></p>
</div>-->