character pages

small-nav
chimchooree 2 years ago
parent e4f8ffe2ff
commit c84df8a817

@ -0,0 +1,12 @@
<ul>
<li>role: martial artist, soldier of fortune </li>
<li>age: mid 20s </li>
<li>birthday: </li>
<li>physical: slightly tall, rock hard muscles, massive arms, curvy, dark auburn hair, blue eyes </li>
<li>style: uniforms, loves scarfs and belts </li>
<li>height: 5'6 </li>
<li>residence: </li>
<li>likes: structure, self-improvement, fishing </li>
<li>dislikes: clutter, people without honor, when guys are intimidated by her </li>
<li>notes: effortlessly beautiful, even after long hikes and traveling without a bath</li>
</ul>

@ -0,0 +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>

@ -0,0 +1 @@
Aristen | means <i>the best</i> | mystic♀

@ -0,0 +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>
<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>

@ -1,24 +0,0 @@
Chim-choo-ree | means <i>make-believe bird</i> | elysian ranger♀ | theme: <a href="https://www.youtube.com/watch?v=vRnikXRJ6hY">Joanna Newsom - Emily</a> <br>
<br>
<h2>basics </h2>
<ul>
<li>role: ranger, athletic model </li>
<li>age: teens </li>
<li>birthday: </li>
<li>mental: </li>
<li>physical: extremely tall and thin, freckled medium skin, light brown hair, seafoam green eyes </li>
<li>style: </li>
<li>height: 10' </li>
<li>residence: </li>
<li>likes: </li>
<li>dislikes: </li>
<li>notes: floral henna tattoos </li>
</ul><br>
<br>
<h2>story </h2>
<p>She wanted to be an assassin, but she's had to come to terms with her physique being ill-suited for close-range dagger combat. Unfortunately, she's just okay at archery, and that's when she can find equipment that accommodates her long arms. Dreams of standing out as an archer are just as far out-of-reach as assassin work ever was. Nevertheless, she is showered in athletic modeling deals, while her talented friends are overlooked. She gets to travel to all the major archery competitions and practice it in short art films, but she knows in her heart that this is all thanks to her looks, not her skills. She tries to look at her physique as a hidden blessing or backdoor, but it can be pretty humiliating when she gets side-eyed by judgy girls with far better aim than she'll ever have. <br></p>
<br>
<p>She's trained in all manners of bows and blades, but she's not particularly adept at fighting. </p>
<br>
<h2>description </h2>
<p>She has seafoam green eyes, light brown hair, and freckled medium skin. The left side of her face is decorated with a large floral tattoo made with a dye similar to henna. She's a habitual mascara user and always covers her buns with silks and ribbons. As for her body, she's <i>tall</i>. Basically, I maxed or mined every slider in Aion - max neck length, max arm length, max height, max leg length, max foot length, min thickness. The meta in Aion is to create the smallest possible character for stealth, so she is a sequoia among men. Also, the animations are the same for all characters, so everything she does is extremely sluggish and premeditated. (It takes a while for neural signals to reach her limbs.) Sanctum couturiers often want her to model postmodern and anti-fashion designs, but she is a natural model and adapts well to anyone who wants to work with her. Her favorites will always be the cute frilly ruffly stuff, though. <br></p>

@ -0,0 +1,13 @@
<ul>
<li>role: ranger, athletic model </li>
<li>age: teens </li>
<li>birthday: </li>
<li>mental: </li>
<li>physical: extremely tall and thin, freckled medium skin, light brown hair, seafoam green eyes </li>
<li>style: </li>
<li>height: 10' </li>
<li>residence: </li>
<li>likes: </li>
<li>dislikes: </li>
<li>notes: floral henna tattoos </li>
</ul>

@ -0,0 +1 @@
<p>She has seafoam green eyes, light brown hair, and freckled medium skin. The left side of her face is decorated with a large floral tattoo made with a dye similar to henna. She's a habitual mascara user and always covers her buns with silks and ribbons. As for her body, she's <i>tall</i>. Basically, I maxed or mined every slider in Aion - max neck length, max arm length, max height, max leg length, max foot length, min thickness. The meta in Aion is to create the smallest possible character for stealth, so she is a sequoia among men. Also, the animations are the same for all characters, so everything she does is extremely sluggish and premeditated. (It takes a while for neural signals to reach her limbs.) Sanctum couturiers often want her to model postmodern and anti-fashion designs, but she is a natural model and adapts well to anyone who wants to work with her. Her favorites will always be the cute frilly ruffly stuff, though. <br></p>

@ -0,0 +1 @@
Chim-choo-ree | means <i>make-believe bird</i> | elysian ranger♀ | theme: <a href="https://www.youtube.com/watch?v=vRnikXRJ6hY">Joanna Newsom - Emily</a>

@ -0,0 +1,3 @@
<p>She wanted to be an assassin, but she's had to come to terms with her physique being ill-suited for close-range dagger combat. Unfortunately, she's just okay at archery, and that's when she can find equipment that accommodates her long arms. Dreams of standing out as an archer are just as far out-of-reach as assassin work ever was. Nevertheless, she is showered in athletic modeling deals, while her talented friends are overlooked. She gets to travel to all the major archery competitions and practice it in short art films, but she knows in her heart that this is all thanks to her looks, not her skills. She tries to look at her physique as a hidden blessing or backdoor, but it can be pretty humiliating when she gets side-eyed by judgy girls with far better aim than she'll ever have. <br></p>
<br>
<p>She's trained in all manners of bows and blades, but she's not particularly adept at fighting. </p>

@ -0,0 +1,13 @@
<ul>
<li>role: transfer student </li>
<li>age: teens </li>
<li>birthday: ??? </li>
<li>mental: "too cool for you," able to achieve anything she sets her mind to </li>
<li>physical: short, blonde front ponytail with chunks of burgundy and flaming orange, hot pink eyes </li>
<li>style: DIY fashion </li>
<li>height: 5'1 </li>
<li>residence: with her uncle </li>
<li>likes: urban exploration, cool hiding places, music </li>
<li>dislikes: grownups, her parents, being asked if her eye color is real </li>
<li>notes: </li>
</ul>

@ -0,0 +1 @@
<p>She's short, slender, and flat as a pancake. She uses dark pink contacts so habitually that her friends don't remember what her natural eye color is. She also dyes her hair at home, hiding chunks of fiery orange and burgundy under her blonde hair. She's a high ponytail girl, wearing it so high, it usually falls over the side of her face. To let the hot pink and fiery colors shine, everything in her closet is black-adjacent - deep purple, forest green, navy, and blood red - and she enjoys DIYing detailed accents like corset lacing, reverse applique, and using found objects as buttons or charms. <br></p>

@ -0,0 +1 @@
means <i>sun</i> | union♀

@ -0,0 +1,3 @@
<p>Helia was basically abandoned by her parents, but she keeps this information on the down low. She doesn't really have a lot of options, so she's going to live in a foreign country with an uncle she hasn't seen since she was a toddler. Worse, he's barely ever at home. Fortunately, despite having a culture shock, she makes friends easily in this small town of Lucrest. <br></p>
<br>
<p>Early on, <a href="/char/Tessa">Tessa</a> dares her to sleep in the haunted shopping center overnight. It turns out the place has a strict curfew with rumors of strange lights, sounds, and slime monsters bubbling up from the ground. Helia finds that to be true and more, stumbling upon an entire dungeon beneath the city, populated with multiple fantasy races and nations. There's dark secrets and political intrigue and all that, but her most mysterious recovery is an abandoned horned boy with otherworldly powers - <a href="/char/Runes">Rune</a>. <br></p>

@ -1,24 +0,0 @@
Lune Marine | means <i>moon</i> | usually human♀ <br>
<br>
<h2>basics </h2>
<ul>
<li><b>role:</b> persona </li>
<li><b>age:</b> varies </li>
<li><b>birthday:</b> 11/28♐ </li>
<li><b>mental:</b> bright, optimistic </li>
<li><b>physical:</b> white peek-a-boo hair, gold eyes, cute </li>
<li><b>style:</b> feminine, neutrals, gold jewelry </li>
<li><b>height:</b> 5'1 </li>
<li><b>residence:</b> Isle of the Dead </li>
<li><b>likes:</b> cats, her pet mini Necrid Horseman, powertrading </li>
<li><b>dislikes:</b> Prince Rurik, Keiran Thackeray </li>
<li><b>notes:</b> </li>
</ul><br>
<br>
<h2>story </h2>
<p>My persona! She's been made in about every 00s-early 10s MMO out there. Her signatures are her cool-toned, almost lavender-toned white hair, golden or citrine eyes, short stature, and sunny disposition. She's linked with water and the moon. She has a ton of backstories, but her earliest version is as an Ascalonian girl, training under <a href="https://wiki.guildwars.com/wiki/Necromancer_Munne">Munne</a> to become a catacombs groundskeeper and votive candle-maker. She'll always be a Guild Wars girl at heart! <br></p>
<br>
<h2>description </h2>
<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>
<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>

@ -0,0 +1,13 @@
<ul>
<li><b>role:</b> persona </li>
<li><b>age:</b> varies </li>
<li><b>birthday:</b> 11/28♐ </li>
<li><b>mental:</b> bright, optimistic </li>
<li><b>physical:</b> white peek-a-boo hair, gold eyes, cute </li>
<li><b>style:</b> feminine, neutrals, gold jewelry </li>
<li><b>height:</b> 5'1 </li>
<li><b>residence:</b> Isle of the Dead </li>
<li><b>likes:</b> cats, her pet mini Necrid Horseman, powertrading </li>
<li><b>dislikes:</b> Prince Rurik </li>
<li><b>notes:</b> </li>
</ul>

@ -0,0 +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>
<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>

@ -0,0 +1 @@
Lune Marine | means <i>moon</i> | usually human♀

@ -0,0 +1,2 @@
<p>My persona! She's been made in about every 00s-early 10s MMO out there. Her signatures are her cool-toned, almost lavender-toned white hair, golden or citrine eyes, short stature, and sunny disposition. She's linked with water and the moon. She has a ton of backstories, but her earliest version is as an Ascalonian girl, training under <a href="https://wiki.guildwars.com/wiki/Necromancer_Munne">Munne</a> to become a catacombs groundskeeper and votive candle-maker. She'll always be a Guild Wars girl at heart! <br></p>

@ -0,0 +1,13 @@
<ul>
<li><b>role:</b> floor guardian </li>
<li><b>age:</b> teens </li>
<li><b>birthday:</b> </li>
<li><b>mental:</b> simple, ignorant but eager to learn </li>
<li><b>physical:</b> tall, dark hair, red eyes, semi-rigid keratin "horns" </li>
<li><b>style:</b> assembled trash, hand-me-downs </li>
<li><b>height:</b> 5'10 </li>
<li><b>residence:</b> the Wilds, an earth crust pocket full of abyssal monsters </li>
<li><b>likes:</b> kindness, trust, collecting interesting objects </li>
<li><b>dislikes:</b> direct confrontations, cruelty </li>
<li><b>notes:</b> He isn't human. He's like a Canaanite giant or something. </li>
</ul>

@ -0,0 +1 @@
<p>He is shockingly tall and white as paper. Even more striking are his empty, red-toned eyes and inky hair that forms semi-rigid keratin "horns" about his crown. He is first found in rags and taped-together trash, living in a kingdom of refuse, but is later lent old hoodies and jeans by Angel. <br></p>

@ -0,0 +1 @@
means <i>secret</i> | outsider♂

@ -1,24 +1,3 @@
Rune | means <i>secret</i> | outsider♂ <br>
<br>
<h2>basics </h2>
<ul>
<li><b>role:</b> floor guardian </li>
<li><b>age:</b> teens </li>
<li><b>birthday:</b> </li>
<li><b>mental:</b> simple, ignorant but eager to learn </li>
<li><b>physical:</b> tall, dark hair, red eyes, semi-rigid keratin "horns" </li>
<li><b>style:</b> assembled trash, hand-me-downs </li>
<li><b>height:</b> 5'10 </li>
<li><b>residence:</b> the Wilds, an earth crust pocket full of abyssal monsters </li>
<li><b>likes:</b> kindness, trust, collecting interesting objects </li>
<li><b>dislikes:</b> direct confrontations, cruelty </li>
<li><b>notes:</b> </li>
</ul><br>
<br>
<h2>story </h2>
<p>He is a mysterious adolescent boy rescued from the dungeon by <a href="/char/Helia">Helia</a>, <a href="/char/Tessa">Tessa</a> and <a href="<a href="/char/Angel">Angel</a>. He is listless, gaze-avoidant, and asocial initially, barely able to communicate in English. Over time, he warms up to his new friends and opens his loyal, tender, but usually misguided heart. The girls have a tendency to baby him, but he is more mature and capable than any of them in several ways. Unfortunately, his poor grasp on English, surface culture, and social cues confound any attempts to impress them. Being both trusting and born yesterday is an overbearing temptation for Tessa, and she bullies him relentlessly. <br></p>
<br>
<p>Until his rescue, he was living in the buffer territory between the inner earth and Lucrest Shopping Center. <a href="/char/Bless">Bless</a>, a dark gray styracosaurus, raised him with a hoard of Abyssal beasts. She is fiercely protective of Rune, goring anyone who trespasses in her territory. She's a known threat in the area, and workers take the long way around to avoid her. <br></p>
<br>
<h2>description</h2>
<p>He is shockingly tall and white as paper. Even more striking are his empty, red-toned eyes and inky hair that forms semi-rigid keratin "horns" about his crown. He is first found in rags and taped-together trash, living in a kingdom of refuse, but is later lent old hoodies and jeans by Angel. <br></p>

@ -0,0 +1,13 @@
<ul>
<li>role: intern </li>
<li>age: 20s </li>
<li>birthday: March 7♓ </li>
<li>mental: fast learner, reserved </li>
<li>physical: small, boyish, blonde hair, pink eyes </li>
<li>style: dresses and skirts made of silks, chiffons, and taffetas </li>
<li>height: 5'3 </li>
<li>residence: renting a room with <a href="/char/Helba">Helba</a> </li>
<li>likes: raising pets </li>
<li>dislikes: her boss </li>
<li>notes: </li>
</ul>

@ -0,0 +1,2 @@
<p>She has a boyish build, big pink eyes hidden behind her thick frames, and blonde hair, usually worn up with cute hair accessories. Her ultimate outlet is dressing up in excessively feminine clothes, draping herself in lace, chiffon, tulle, and silk taffeta. She owns way too many dresses and pink blushes. She also loves unwind by playing with her two pets, Genie and Emme. <br></p>

@ -0,0 +1 @@
means <i>heavenly</i> | divine tabid♂ | theme: <a href="https://www.youtube.com/watch?v=MJqAhbhffpU">tofubeats / トーフビーツ -「すてきなメゾン feat. 玉城ティナ」</a>

@ -0,0 +1,3 @@
<p>They promise Silke training and opportunities for promotion, and she always gives her best to no reward. She has done data entry and taken calls for about every industry. Instead of being able to see her 'butts in seats' jobs for what they are and adjusting her expectations, she soldiers on, overworking herself fruitlessly. <br></p>
<br>
<p>Her parents were never really present in her life and kicked her out as a teenager, so she only knows self-reliance and perseverance, odd skills for office work. Her quiet, unassertive nature makes her easy to overlook, and while she has a calming presence, she hasn't had a genuine friendship since high school. She is rigidly professional at all times, afraid of offending someone. She needs someone to care about her and show her how to better focus her energy, but until then, she's hopeful her meticulously organized faxes will someday impress her manager into letting her sit in on the dev ops meetings and lead her to a real job. <br></p>

@ -0,0 +1,13 @@
<ul>
<li>role: student </li>
<li>age: teens </li>
<li>birthday: </li>
<li>mental: clever, silly </li>
<li>physical: dark skin, blonde hair with streaks of browns and blacks, silver eyes </li>
<li>height: 5'3 </li>
<li>style: minimal, sleek, neutral or soft colors </li>
<li>residence: with her mom </li>
<li>likes: looking for trouble, animals, pretty things </li>
<li>dislikes: being inside, being misunderstood </li>
<li>notes: </li>
</ul>

@ -0,0 +1 @@
<p>She is a light-skinned black girl of Haitian-French descent with silver eyes and a short, very athletic build. Her hair is dyed with darker streaks, and styled with short, choppy hime bangs. She never leaves the house without eyeliner and loves dressing in athleisure or trying new trends. Her favorite color changes with the season, but gunmetal is a consistent love. Her ears are pierced. <br></p>

@ -0,0 +1 @@
Tessa Skye St Martin | means <i>to gather</i> | tamer♀

@ -0,0 +1,5 @@
<p>She moved to Lucrest with her family and white, fluffy cat from France when she was really little. Unfortunately, her father died not too long afterward. She doesn't know much about him or his old country of Haiti, but she visits extended family in Blois with her <a href="/char/Marie-Agnès">mom</a> every Christmas. That doesn't mean she's that great at French. In fact, to her mother's immense disappointment, she has a better grade in Spanish. <br></p>
<br>
<p>She deeply admires her mother as a strong, loving, successful tradeswoman, so she gives back some of her time to help in her studio. Several days a week, she can be found hand-sewing fabric flowers, or serving as a fit model. <br></p>
<br>
<p>She would rather spend every moment outside, though, forever hiking, jogging, and poking her nose into her neighbors' business. Her <a href="/char/Choupette">cat</a> is an outside cat and joins in on her adventures most of the time. Tessa's the instigator in her friend group, daring or begging to rope everyone into her wild adventures. She's all fun all the time, so she doesn't always know where the boundary is between playful teasing and outright bullying. <br></p>

@ -7,12 +7,14 @@ july 28, 2022<br>
<img src="/static/img/ent/oblivion_broken.png" alt="(screenshot: a floorless inn with floating NPCs and giant yellow exclamation marks)"><br>
<br>
<h2>gaming diary </h2>
<p>Some gamedev advice I've heard is to actively journal while playing games. The goal is to try to see from gamedev and player eyes simultaneously and learn from risks taken, get inspired, and generally increase your exposure to the medium. <br></p>
<p>Some gamedev advice I've heard is to actively journal while gaming. Try to see from gamedev and player eyes simultaneously and learn from the risks taken, get inspired by different genres, and generally increase your exposure to the medium. I might as well try it. <br></p>
<br>
<p>I haven't written about games outside of Steam reviews, so I'll start with a favorite: Oblivion. </p>
<p>I haven't written about games outside of Steam reviews, so maybe it's easiest to start with a favorite: Oblivion. I've been going through an Oblivion phase again lately anyway. In the <a href="/diary/tag/gaming">Gaming Diary series</a>, I'll give a description of the featured game then paint in broad strokes what's fun and what holds it back. It'll be like a game review but for game designers. I'll keep a nitpicky journal privately. </p>
<br>
<h2>the best sandbox </h2>
<p>I've spent thousands of hours easily in Oblivion, but I don't have a normal relationship with it. Despite all that time, I've only finished the main quest once. The bulk of those hours have been spent roleplaying in Anvil or editing mods. Judging from my backup folder, I've been making significant edits to the game every few months since high school. So it's hard to look at this game as a proper action/adventure game. It hasn't been much more than a sandbox with a lot of premade content for over ten years. This year, I've been playing normally and exploring parts of the game I've never tried before. <br></p>
<p>The Elder Scrolls IV: Oblivion is a 2006 action/adventure game by Bethesda, sandwiched between Morrowind and Skyrim. You play as a <br></p>
<br>
<p>I've spent thousands of hours easily in Oblivion, but I don't have a normal relationship with it. I've only finished the main quest once and still haven't completed all the quests after all these years. The bulk of my gameplay has been spent roleplaying in Anvil or making mods. Judging from my backup folder, I've been making significant edits to the game every few months since high school. So for me, Oblivion is a sandbox, or maybe even just a level editor with a lot of premade content. <br></p>
<br>
<p>So what are the issues keeping me from playing the game as a game? <br></p>
<h2>problems with the game </h2>

@ -30,7 +30,7 @@ def find_gallery(name):
gal = [name]
if name == "Abbey":
gal.append("FlightRising")
gal.append([["dragon.png","Abbey laying on his back, wrapped in furs"],["BlackReshiram_Artfight.png","2022 Artfight attack by BlackReshiram"], ["FlightRising.png","Abbey's sprite from FlightRising, wearing Fig Plumes, a Squire's Beret, Chestnut Feathers, and Amber Flourishes"]])
gal.append([["dragon.png","Abbey being lazy"],["BlackReshiram_Artfight.png","2022 Artfight attack by BlackReshiram"], ["FlightRising.png","Abbey's sprite in FlightRising"]])
if name == "Aloin":
gal.append("Sims")
gal.append([["alchemy.png","Morning alchemy before work"],["dream.jpg","Stupid dream bubbles"]])
@ -42,7 +42,7 @@ def find_gallery(name):
gal.append([["Aries.png","pencil headshot"]])
if name == "Aristen":
gal.append("Black Desert Online")
gal.append([["menu.jpg","Aristen's fancy set with bright colors and an obi belt"], ["scarf.jpg", "Newbie Aristen with her orange scarf"], ["marine.jpg","Aristen in the Epheria Marine Classic Set, a goofy marine pinup costume."]])
gal.append([["menu.jpg","Aristen's fancy set"], ["scarf.jpg", "Newbie Aristen"], ["marine.jpg","Aristen in the Epheria Marine Classic Set"]])
if name == "Belfry":
gal.append("City of Heroes")
gal.append([["name.png","desc"]])
@ -54,7 +54,7 @@ def find_gallery(name):
gal.append([["alchemy.png","Morning alchemy before work"],["dream.jpg","Stupid dream bubbles"]])
if name == "Calder":
gal.append("FlightRising")
gal.append([["pixelheadshot.png", "Calder's human form headshot"], ["FlightRising.png","Calder\'s sprite in FlightRising. He's wearing Sanguine Roses, Sanguine Plumage, and Pomegranate Plumes over Stonewatch Harpy."]])
gal.append([["pixelheadshot.png", "Calder's human form"], ["FlightRising.png","Calder\'s sprite in FlightRising"]])
if name == "Cass":
gal.append("Beloved of the Moon")
gal.append([["name.png","desc"]])
@ -105,7 +105,7 @@ def find_gallery(name):
gal.append([["name.png","desc"]])
if name == "Helia":
gal.append("Blessfrey")
gal.append([["wm.png","Crop from a larger work-in-progress...so busy I can't draw everything I want to draw ahhh"],["Headshot.png","Helia in the style of Battle Girl High School...or at I tried! All the girls in that game wear their blush so high it's practically eyeshadow. It looks so innocent and vivacious on them, but it never comes out them same when I try to wear it myself."]])
gal.append([["AnimeEnding.png","A still from an attempt to emulate the Little Busters ending animation. Man, animating is hard."],["wm.png","wip lol"],["Girls.png","Helia and Tessa"],["Headshot.png","emulating the art style of Battle Girl High School"]])
if name == "Helmut":
gal.append("Sims")
gal.append([["alchemy.png","Morning alchemy before work"],["dream.jpg","Stupid dream bubbles"]])
@ -120,7 +120,7 @@ def find_gallery(name):
gal.append([["name.png","desc"]])
if name == "Lune":
gal.append("Persona")
gal.append([["RingOfFire.jpg","A painting of 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 City of Heroes resistance Water Controller"],["ArcheageGuild.jpg","My ArcheAge dwarf ghost girl with gold-dipped hair and a frilly gown, sitting among her old 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, 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"]])
if name == "Nephele":
gal.append("Verpets")
gal.append([["name.png","desc"]])
@ -138,16 +138,16 @@ def find_gallery(name):
gal.append([["alchemy.png","Morning alchemy before work"],["dream.jpg","Stupid dream bubbles"]])
if name == "Rune":
gal.append("Blessfrey")
gal.append([["Bless+Rune.png","Rune and his dinosaur mother"],["Blessfrey.png","I saw the coverart for Elden Gate and tried to make my own coverart like that. It's rough, torn between pencil, digital painting, and pixelart, but I don't feel like working on it anymore."],["RuneHeadshot.png","Rune in the Battle Girl High School style, though there aren't a lot of guys in that game to reference"],["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 (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"]])
if name == "Ryada":
gal.append("Guild Wars")
gal.append([[]])
if name == "Silke":
gal.append("Verpets")
gal.append([["Silke.png","Pixelart of Silke on the floor with her clipboard, wearing a striped green silk dress with an oversized pink tulle bow behind her bun. I tried to draw in Yuu Watase's style"],["Verpets.png","Silke's sprite from Verpets"]])
gal.append([["Silke.png","emulating the art style of Yuu Watase in pixelart"],["Verpets.png","Silke's sprite in Verpets"]])
if name == "Tessa":
gal.append("Blessfrey")
gal.append([["Tessa.png","Pixelart of Tessa in athletic wear"],["ElissaKarminakria_Artfight.png","2020 Artfight attack by ElissaKarminakria"]])
gal.append([["Tessa.png","Pixelart of Tessa in athletic wear"],["picrew.png","made in あの子がこっちを見ている on Picrew"],["FlightRising.png","her oc dragon form in FlightRising"],["RamblingRoses_Artfight.png","2020 Artfight attack by RamblingRoses"],["Lune_Archon_Artfight.jpeg","2022 Artfight attack by Lune_Archon"],["ElissaKarminakria_Artfight.png","2020 Artfight attack by ElissaKarminakria"],["gemhue_Artfight.png","2020 Artfight attack by gemhue"],["Cyan_moo_Artfight.png","2020 Artfight attack by Cyan_moo"]])
if name == "Tilhar":
gal.append("Beloved of the Moon")
gal.append([["name.png","desc"]])
@ -166,12 +166,15 @@ def find_gallery(name):
return gal
def prepare_profile(loc, char_name):
result = []
for i in ["label","basics","story","desc"]:
string = ""
with open(loc + char_name) as f:
with open(loc + char_name + "-" + i) as f:
lines = f.readlines()
for line in lines:
string += line
return string
result.append(string)
return result
# Return list of snippets using list of articles
def list_snippets(articles):
@ -427,29 +430,47 @@ def error500(error):
def error502(error):
return "unfortunately, a 502 error. this was likely due to website maintenance. usually it'll be back up before you finish reading this, but otherwise, I'll notice something's wrong soon! <a href=https://www.blessfrey.me/>return to blessfrey.me.</a>"
# Art Gallery Page
@route('/art')
def art():
"""art"""
info = {'css': 'me', 'title': 'art gallery', 'year': find_year(),
'pixelart': ["Abbey_EmmArrGus_BrodyChar.png","Aisu+Luna_pix.png","artfight_blessfrey_Tessa.png","chimchooree_moonelf_twitter.png","chimchooree_silke_12colors.png","boss.png","gamecharacter.png","chimchooree_Airi.gif","customsofficer.png"],
'digital': ["WISE.png","ringoffire.jpeg"],
'fanart': ["trineaRemake.png","persona3demake.png","kamaAD1.gif"]}
return template('art.tpl', info)
# OC Page
@route('/characters') # redirect
def char3():
return char("Helia")
@route('/char/') # if no OC given
def char2():
return char("Helia")
@route('/char/<char_name:path>')
def char(char_name):
"""character page"""
loc = 'char/'
info = {'css': 'char', 'title': 'blessfrey - meet ' + char_name, 'year': find_year(), 'profile': prepare_profile(loc, char_name), 'gallery': find_gallery(char_name)}
info = {'css': 'char', 'title': 'blessfrey - characters | meet ' + char_name, 'year': find_year(), 'ocs': ["Helia", "Rune", "Tessa", "Silke", "Aristen", "Chimchooree", "Lune"], 'name': char_name, 'profile': prepare_profile(loc, char_name), 'gallery': find_gallery(char_name)}
abs_app_dir_path = os.path.dirname(os.path.realpath(__file__))
abs_views_path = os.path.join(abs_app_dir_path, 'views')
TEMPLATE_PATH.insert(0, abs_views_path )
return template(os.path.join(abs_views_path,'char.tpl'), info)
# Me Page
@route('/characters')
def characters():
"""characters"""
info = {'css': 'me', 'title': 'about me', 'year': find_year(),
'persona': ["Lune"],
'blessfrey': ["Helia", "Angel", "Aries", "Bless", "Chloe", "Dia", "Night", "Rune", "Tessa", "WISE"],
'lemonland': ["CustomsOffice","BlessTheChild"],
'cw': ["Cass", "Funwa", "Tilhar", "HOME", "Chandra", "Colt", "Lisbet", "Freefall", "Trace", "Window", "Dymn", "Newcomer"],
'rp': ["Abbey", "Calder", "Helba", "Silke", "Nephele"],
'games': ["Aloin", "Bijoux", "Fifi", "Faber", "Helmut", "Tilly"],
'mmos': ["Belfry", "CatMan", "Pixie", "Aristen", "Chimchooree", "Leslie"]}
return template('characters.tpl', info)
# OCs Page
#@route('/characters')
#def characters():
# """characters"""
# info = {'css': 'me', 'title': 'about me', 'year': find_year(),
#'persona': ["Lune"],
#'blessfrey': ["Helia", "Angel", "Aries", "Bless", "Chloe", "Dia", "Night", "Rune", "Tessa", "WISE"],
#'lemonland': ["CustomsOffice","BlessTheChild"],
#'cw': ["Cass", "Funwa", "Tilhar", "HOME", "Chandra", "Colt", "Lisbet", "Freefall", "Trace", "Window", "Dymn", "Newcomer"],
#'rp': ["Abbey", "Calder", "Helba", "Silke", "Nephele"],
#'games': ["Aloin", "Bijoux", "Fifi", "Faber", "Helmut", "Tilly"],
#'mmos': ["Belfry", "CatMan", "Pixie", "Aristen", "Chimchooree", "Leslie"]}
# return template('characters.tpl', info)
# Blessfrey Credits Page
@route('/credits')

Binary file not shown.

@ -1,7 +1,7 @@
* {
padding:0;
margin:0;
font-family: verdana, trebuchet ms, arial, calibri, candara, sans-serif;
font-family: verdana, "trebuchet ms", arial, calibri, candara, sans-serif;
background-color: black;
}
html, body {padding:0; margin:0; height:100%;}
@ -64,7 +64,7 @@ pre,code {
width: 100vw;
display: grid;
position: relative;
grid-template-columns: 1fr 60% 1fr;
grid-template-columns: 20% 60% 20%;
grid-template-rows: 2em 9.515625em auto 12.6875em;
grid-column-gap: 0px;
grid-row-gap: 0px;
@ -73,10 +73,6 @@ pre,code {
.top-row {
grid-area: 1 / 1 / 2 / 4;
display: flex;
flex-direction:column;
justify-content:center;
align-items: center;
}
.nav-row {
grid-area: 2 / 1 / 3 / 4;
@ -86,7 +82,7 @@ pre,code {
display: flex;
flex-direction: row;
display: grid;
grid-template-columns: minmax(0%,10%) repeat(5, minmax(7ch,96px)) minmax(0%,10%);
grid-template-columns: minmax(0%,10%) repeat(6, minmax(7ch,96px)) minmax(0%,10%);
grid-column-gap: 0px;
grid-row-gap: 0px;
justify-items: center;
@ -117,7 +113,7 @@ pre,code {
grid-row-gap: 0px;
flex-direction: column;
}
.nav-diary { grid-area: 1 / 4 / 2 / 5;
.nav-fashion { grid-area: 1 / 4 / 2 / 5;
display: grid;
grid-template-columns: 100%;
grid-template-rows: 80% 20%;
@ -125,7 +121,7 @@ pre,code {
grid-row-gap: 0px;
flex-direction: column;
}
.nav-fashion { grid-area: 1 / 5 / 2 / 6;
.nav-art {
display: grid;
grid-template-columns: 100%;
grid-template-rows: 80% 20%;
@ -133,7 +129,15 @@ pre,code {
grid-row-gap: 0px;
flex-direction: column;
}
.nav-about { grid-area: 1 / 6 / 2/ 7;
.nav-diary { grid-area: 1 / 5 / 2 / 6;
display: grid;
grid-template-columns: 100%;
grid-template-rows: 80% 20%;
grid-column-gap: 0px;
grid-row-gap: 0px;
flex-direction: column;
}
.nav-about { grid-area: 1 / 6 / 2 / 7;
display: grid;
grid-template-columns: 100%;
grid-template-rows: 80% 20%;
@ -206,7 +210,6 @@ pre,code {
padding-bottom: 1em;
}
}
.about-box {
grid-area: 1 / 1 / 2 / 2;
}

@ -1,9 +1,36 @@
.content-grid {
width: 1fr;
display: grid;
grid-template-columns: 16ch 50ch 1fr;
grid-template-rows: 5em repeat(2, auto);
grid-column-gap: 0px;
grid-row-gap: 0px;
color: white;
margin: auto;
}
.title {
grid-area: 1 / 1 / 2 / 3;
padding-left: 5ch;
}
.ocs-nav { grid-area: 2 / 1 / 4 / 2;}
.profile {
grid-area: 2 / 2 / 3 / 3;
display: grid;
grid-template-columns: 1fr;
grid-template-rows: repeat(5, auto);
grid-column-gap: 0px;
grid-row-gap: 1.5em;
padding-bottom: 1.5em;
}
.portrait { grid-area: 1 / 3 / 3 / 4;
width: 100%;}
.gallery-div { grid-area: 3 / 2 / 4 / 4; }
.name { grid-area: 1 / 1 / 2 / 2; }
.label { grid-area: 2 / 1 / 3 / 2; }
.basics { grid-area: 3 / 1 / 4 / 2; }
.story { grid-area: 4 / 1 / 5 / 2; }
.desc { grid-area: 5 / 1 / 6 / 2; }
.gallery {
display: grid;
grid-template-columns: repeat(auto-fit, 200px);
@ -14,5 +41,22 @@
.gallery img {
height: 200px;
width: 200px;
border-radius: 5%;
}
.galitem {
position: relative;
height: 200px;
width: 200px;
}
.subtitle {
color: white;
width: 200px;
position: absolute;
background: rgba(0,0,0,0.7);
text-align: center;
overflow: hidden;
bottom: 0em;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 339 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 172 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 MiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 600 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Before

Width:  |  Height:  |  Size: 497 KiB

After

Width:  |  Height:  |  Size: 497 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 509 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 209 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 324 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 379 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 181 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 592 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 388 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 334 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 135 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 358 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 378 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 835 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save