characters, species, locations. a lot about giants and serpents
This commit is contained in:
@@ -18,5 +18,6 @@
|
||||
<li class="latest">{{random.choice(['.','•','☆','★'])}}	<a href=/story>story</a></li>
|
||||
<li class="latest">{{random.choice(['.','•','☆','★'])}}	<a href=/style>style guide</a></li>
|
||||
<li class="latest">{{random.choice(['.','•','☆','★'])}}	<a href=/terms>terms</a></li>
|
||||
<li class="latest">{{random.choice(['.','•','☆','★'])}}	<a href=/tweaks>tweaks</a></li>
|
||||
</ul>
|
||||
</div></div>
|
||||
|
||||
+2
-1
@@ -1,7 +1,6 @@
|
||||
% rebase('frame.tpl')
|
||||
% import re
|
||||
<div class="content-grid">
|
||||
|
||||
<div class="diary-dir top">
|
||||
% max_pages = int((total - 1) / limit)
|
||||
<%
|
||||
@@ -89,6 +88,8 @@
|
||||
</div>
|
||||
|
||||
<div class="diary-pages">
|
||||
|
||||
<h1>chimchooree's diary</h2>
|
||||
% for s in snippets[page * limit:page * limit + limit]:
|
||||
<div class="snippet">
|
||||
<div class="snippet-title">
|
||||
|
||||
@@ -1,105 +0,0 @@
|
||||
% rebase('frame.tpl')
|
||||
<div class="content-grid">
|
||||
<h1>blessfrey game design document </h1>
|
||||
<p>Follow this style guide to avoid confusing bugs. Code doesn't always need to
|
||||
follow the style guide, but a comment needs to be left by the offending code
|
||||
explaining why it's necessary. The guide is not set in stone, and can be
|
||||
disputed and altered. <br></p>
|
||||
<br>
|
||||
<p>(many parts written by my husband) <br></p>
|
||||
<br>
|
||||
<h2>node paths </h2>
|
||||
<p>Node paths should be treated as though they have private access. Any node
|
||||
within a scene can be thought of as within scope of that scene. Nodes higher in
|
||||
the tree or inside instanced scenes are out of scope of the current scene.
|
||||
However, the root of an instanced scene is within scope, so a path to that is
|
||||
safe. Using an "out of scope" node path will result in null pointer exceptions
|
||||
at best or confusing bugs at worse if a scene's structure is ever altered. <br></p>
|
||||
<br>
|
||||
<p>Add methods to the root of a scene that does whatever is needed to the nodes
|
||||
inside. <br></p>
|
||||
<br>
|
||||
<p>If a property is needed from a node inside a scene, a getter in the
|
||||
scene's root can return the value its child node's property. (see Setters and
|
||||
Getters) <br></p>
|
||||
<br>
|
||||
<ul>
|
||||
<li>don't use node paths to nodes higher than the scene's root </li>
|
||||
<li>don't use node paths into instanced scenes </li>
|
||||
<li>do add methods to the root of a scene that manipulates the inner nodes </li>
|
||||
</ul>
|
||||
<h2>child nodes </h2>
|
||||
<p>It's fair for a script to depend on a consistent internal tree structure.
|
||||
Only scripts inside a scene may alter the structure of its own tree. The tree's
|
||||
structre is primarily altered by adding or removing children. Adding or
|
||||
removing child nodes higer than the scene's root, or inside instanced scenes,
|
||||
will cause inconsistent structure. Without this guideline, each scene would
|
||||
need to constantly validate its own structure to be sure it hasn't been altered
|
||||
by another script. <br></p>
|
||||
<br>
|
||||
<p>Add methods to the root of a scene that can add or remove children. These
|
||||
methods can keep track of which nodes have been added or removed, so the
|
||||
script can be aware of any changes to the scene's structure. <br></p>
|
||||
<br>
|
||||
<ul>
|
||||
<li>don't add child nodes to nodes higher than the scene's root </li>
|
||||
<li>don't add child nodes to instanced scenes </li>
|
||||
<li>do add methods to the root of a scene for adding or removing children </li>
|
||||
</ul>
|
||||
<h2>setters + getters </h2>
|
||||
<p>Often, some action always needs to be taken whenever a variable is changed.
|
||||
Putting these actions in a setter method for that variable ensure that they're
|
||||
always executed. If a setter is not made for a variable, there's some risk
|
||||
that it may be changed without those actions being taken, and the source of
|
||||
the change may be difficult to track. <br></p>
|
||||
<br>
|
||||
<p>Furthermore, a variable may not exist at all, but be derived from some
|
||||
computation. In that case, a getter can create the illusion of a single
|
||||
variable. <br></p>
|
||||
<br>
|
||||
<p>One more benifit, is that a setter can be deferred called or connected to a
|
||||
signal, since its a method. <br></p>
|
||||
<br>
|
||||
<p>Variables can be changed to use getters and setters seamlessly, since they're
|
||||
used no differently from variables that don't have getters and setters. If
|
||||
there is a need to take some action whenever a value is set, a setter can be
|
||||
added to it seamlessly. <br></p>
|
||||
<br>
|
||||
<ul>
|
||||
<li>setters can execute any action when a property is changed </li>
|
||||
<li>setters can be added seamlessly, without changing how the property is set </li>
|
||||
</ul>
|
||||
<h2>serialization </h2>
|
||||
<p> <br></p>
|
||||
<br>
|
||||
<ul>
|
||||
<li> </li>
|
||||
</ul>
|
||||
<h2>translations </h2>
|
||||
<p>add a fake language from the start <br></p>
|
||||
<br>
|
||||
<ul>
|
||||
<li> </li>
|
||||
</ul>
|
||||
<h2>documentation </h2>
|
||||
<p> <br></p>
|
||||
<br>
|
||||
<ul>
|
||||
<li> </li>
|
||||
</ul>
|
||||
<h2>time </h2>
|
||||
<p>pausing <br></p>
|
||||
<p>time control (every variable affected by time must be modified by time control) <br></p>
|
||||
<p>decouple drawing and logic <br></p>
|
||||
<br>
|
||||
<ul>
|
||||
<li> </li>
|
||||
</ul>
|
||||
<h2>moddability </h2>
|
||||
<p>Commonly, this means making a base, then loading in the game as a mod. The content is written in a light scripting language, and it's best if I use the same API/tools a modder would. <br></p>
|
||||
<br>
|
||||
<ul>
|
||||
<li> </li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
% rebase('frame.tpl')
|
||||
% import random
|
||||
<div class="content-grid">
|
||||
<div class="title">
|
||||
<h1>location </h1>
|
||||
</div>
|
||||
<div class="ocs-nav">
|
||||
% for o in locations:
|
||||
<a href="/loc/{{o}}">
|
||||
<img src="/static/img/loc/{{o}}/nav.png" alt="(link: {{o}})">
|
||||
</a>
|
||||
% end
|
||||
</div>
|
||||
<div class="profile">
|
||||
<div class="name">
|
||||
<h2>{{!name}} </h2>
|
||||
</div>
|
||||
<div class="label">
|
||||
{{!profile[0]}}
|
||||
</div>
|
||||
<div class="basics">
|
||||
<h2>basics </h2>
|
||||
{{!profile[1]}}
|
||||
</div>
|
||||
<div class="story">
|
||||
<h2>story </h2>
|
||||
{{!profile[2]}}
|
||||
</div>
|
||||
<div class="desc">
|
||||
<h2>description </h2>
|
||||
{{!profile[3]}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="portrait">
|
||||
<div style="background-image: url(/static/img/loc/{{name}}/portrait.png); height: 100%; background-repeat: no-repeat; background-position: bottom left;"></div>
|
||||
|
||||
</div>
|
||||
<div class="gallery-div"><h2>gallery </h2><div class="gallery">
|
||||
% if len(gallery) >=2:
|
||||
% for g in gallery[2]:
|
||||
% i = g[0].index('.')
|
||||
% thumb = g[0][:i] + 'thumb' + g[0][i:]
|
||||
<div class="galitem">
|
||||
<a target="_blank" href="/static/img/loc/{{gallery[0]}}/{{g[0]}}">
|
||||
<img src="/static/img/loc/{{gallery[0]}}/{{thumb}}" alt="Image: {{g[1]}}">
|
||||
<div class="subtitle">{{g[1]}}</div>
|
||||
</a>
|
||||
</div>
|
||||
% end
|
||||
% end
|
||||
</div></div>
|
||||
</div>
|
||||
@@ -0,0 +1,52 @@
|
||||
% rebase('frame.tpl')
|
||||
% import random
|
||||
<div class="content-grid">
|
||||
<div class="title">
|
||||
<h1>species </h1>
|
||||
</div>
|
||||
<div class="ocs-nav">
|
||||
% for o in species:
|
||||
<a href="/species/{{o}}">
|
||||
<img src="/static/img/species/{{o}}/nav.png" alt="(link: {{o}})">
|
||||
</a>
|
||||
% end
|
||||
</div>
|
||||
<div class="profile">
|
||||
<div class="name">
|
||||
<h2>{{!name}} </h2>
|
||||
</div>
|
||||
<div class="label">
|
||||
{{!profile[0]}}
|
||||
</div>
|
||||
<div class="basics">
|
||||
<h2>basics </h2>
|
||||
{{!profile[1]}}
|
||||
</div>
|
||||
<div class="story">
|
||||
<h2>story </h2>
|
||||
{{!profile[2]}}
|
||||
</div>
|
||||
<div class="desc">
|
||||
<h2>description </h2>
|
||||
{{!profile[3]}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="portrait">
|
||||
<div style="background-image: url(/static/img/species/{{name}}/portrait.png); height: 100%; background-repeat: no-repeat; background-position: bottom left;"></div>
|
||||
|
||||
</div>
|
||||
<div class="gallery-div"><h2>gallery </h2><div class="gallery">
|
||||
% if len(gallery) >=2:
|
||||
% for g in gallery[2]:
|
||||
% i = g[0].index('.')
|
||||
% thumb = g[0][:i] + 'thumb' + g[0][i:]
|
||||
<div class="galitem">
|
||||
<a target="_blank" href="/static/img/species/{{gallery[0]}}/{{g[0]}}">
|
||||
<img src="/static/img/species/{{gallery[0]}}/{{thumb}}" alt="Image: {{g[1]}}">
|
||||
<div class="subtitle">{{g[1]}}</div>
|
||||
</a>
|
||||
</div>
|
||||
% end
|
||||
% end
|
||||
</div></div>
|
||||
</div>
|
||||
@@ -102,5 +102,12 @@ added to it seamlessly. <br></p>
|
||||
<ul>
|
||||
<li class="latest">{{random.choice(['.','•','☆','★'])}}	 </li>
|
||||
</ul>
|
||||
<h2>website </h2>
|
||||
<p>Commonly, this means making a base, then loading in the game as a mod. The content is written in a light scripting language, and it's best if I use the same API/tools a modder would. <br></p>
|
||||
<br>
|
||||
<ul>
|
||||
<li class="latest">{{random.choice(['.','•','☆','★'])}}	 </li>
|
||||
</ul>
|
||||
https://tinypng.com/
|
||||
</div>
|
||||
|
||||
|
||||
+2
-2
@@ -25,9 +25,9 @@
|
||||
<p>It also ties into romance, but the only male romance option is a middle-aged adulterous fedora-tipping cradle-robbing creep who can barely remember your alignment, much less anything else about your personality, so ew. The other half-romance option is the epitome of the bad boy trope, no thanks. Don't know how NWN2 romance is handled and don't want to lol. Generally, I wouldn't mind adding dating to Blessfrey, but I think it's unnatural how it's treated as the climax of a long friendship in most games. I wouldn't be surprised if most dates are made outside of a friend group, especially if you include couples who only hung out a few times before dating. I didn't meet my husband through my friends either. It's also bordering on too serious for teens. The couples in my high school lasted a few weeks tops with rare exceptions. <br></p>
|
||||
<br>
|
||||
<h2>nickajack setting </h2>
|
||||
<p>Southern stories aren't very common in video media, especially in games. Atlanta eats up most of the ones we do get. I grew up in the South, so I spent a lot of time in church, playing neighborhood games, and eavesdropping on grownup gossip about local politics, local myths, Cherokee legends. I just think it'd be cool to have some of my world in a game, thorns and all. It seems like a chance to differentiate, too. I've barely seen any of my childhood Sunday School songs, clapping games, or grid paper games in media about US kids. <br></p>
|
||||
<p>I grew up in the South, so I spent a lot of time in church, playing neighborhood games, and listening to grownups gossip about local politics, local myths, Cherokee legends. It'd be nostalgic to distill some of my childhood into a game, thorns and all. It seems like a chance to differentiate, too. I've barely seen any of my childhood Sunday School songs, clapping games, or grid paper games in media about US kids. <br></p>
|
||||
<br>
|
||||
<p>(Honestly, it's kind of weird. Are cartoon and teen sitcom writers on the major networks a bunch of lazy trope-copiers? I swear, they all go straight for the dumb jerk jock clique and ugly geeks when high school isn't like that. The former high school quarterbacks I've met have been a well-rounded people with soccer moms who forced them to learn an instrument. There weren't really sitcom geeks so much as kids that run like Naruto, born-in-the-wrong-century girls, quiet metalheads, etc. Am I off-base lol? At least the shallow cheerleader bully clique trope was real in my middleschool.) <br></p>
|
||||
<p>(Honestly, it's kind of weird. Are cartoon and teen sitcom writers on the major networks a bunch of lazy trope-copiers? I swear, they all go straight for the dumb jerk jock clique and ugly geeks when high school isn't like that. The former high school quarterbacks I've met have been a well-rounded people with soccer moms who forced them to learn an instrument. There weren't really sitcom geeks so much as kids that run like Naruto, born-in-the-wrong-century girls, quiet metalheads, etc. Am I off-base lol? The only one I've run into was the mean cheerleader clique.) <br></p>
|
||||
<br>
|
||||
<h2>inspo </h2>
|
||||
<ul>
|
||||
|
||||
Reference in New Issue
Block a user