diff --git a/src/index.py b/src/index.py index 6525350..15f92db 100644 --- a/src/index.py +++ b/src/index.py @@ -481,13 +481,6 @@ def demo(): info = {'css': 'demo', 'title': 'blessfrey demo', 'year': find_year()} return template('demo.tpl', info) -# Blessfrey Presskit Page -@route('/blessfrey-gdd') -def gdd(): - """Game Design Document""" - info = {'css': 'gdd', 'title': 'blessfrey gdd', 'year': find_year()} - return template('bf-gdd.tpl', info) - # Diary Page @route('/diary') # Start on first Diary page if no page given def diary2(): @@ -524,18 +517,64 @@ def fashion(): return template('fashion.tpl', info) # Blessfrey Game Design Document Page +@route('/blessfrey-gdd') +def gddbf(): + """Game Design Document""" + info = {'css': 'gdd', 'title': 'blessfrey gdd', 'year': find_year()} + return template('bf-gdd.tpl', info) @route('/gdd') def gdd(): - """game design document""" - info = {'css': 'doc', 'title': 'blessfrey game design document', 'year': find_year()} - return template('bf-gdd.tpl', info) + return gddbf() +# Blessfrey Mechanics +@route('/mechanics') +def mech(): + """mechanics""" + info = {'css': 'doc', 'title': 'blessfrey gdd - game mechanics', 'year': find_year()} + return template('bf-mechanics.tpl', info) +@route('/inspect') +def mech1(): + """inspect""" + info = {'css': 'doc', 'title': 'blessfrey gdd - game mechanics', 'year': find_year()} + return template('bf-mech-inspect.tpl', info) +# Species Page +@route('/race/') # if no species given +def spec4(): + return species("human") +@route('/race/') +def spec3(species_name): + return species(species_name) +@route('/species/') # if no species given +def spec2(): + return species("human") +@route('/species/') +def spec(species_name): + """species page""" + loc = 'species/' + info = {'css': 'char', 'title': 'blessfrey - species | meet ' + species_name, 'year': find_year(), 'ocs': ["human","giant","serpent"], 'name': species_name, 'profile': prepare_profile(loc, species_name), 'gallery': find_gallery(species_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) +# Blessfrey Style Guide Page +@route('/style') +def style(): + """style guide""" + info = {'css': 'doc', 'title': 'blessfrey style guide', 'year': find_year()} + return template('style-guide.tpl', info) +# GDD Pages +@route('/vibe') +def vibe(): + """GDD Page""" + info = {'css': 'doc', 'title': 'blessfrey gdd - vibe', 'year': find_year()} + return template('bf-vibe.tpl', info) + # Home Page - Index Template @route('/') def home(): """home""" loc = 'diary/entries/' - info = {'css': 'index', 'title': 'chimchooree\'s dev space - blessfrey', 'year': find_year(), 'news': list_headlines(sort_files(curate_files(gather_files(loc)))[0:10])} + info = {'css': 'index', 'title': 'blessfrey ~ action rpg by chimchooree', 'year': find_year(), 'news': list_headlines(sort_files(curate_files(gather_files(loc)))[0:10])} return template('index.tpl', info) # Location Page @@ -559,25 +598,12 @@ def me(): info = {'css': 'me', 'title': 'about me', 'year': find_year()} return template('me.tpl', info) -# Blessfrey Mechanics -@route('/mechanics') -def mech(): - """mechanics""" - info = {'css': 'doc', 'title': 'blessfrey gdd - game mechanics', 'year': find_year()} - return template('bf-mechanics.tpl', info) -@route('/inspect') -def mech1(): - """inspect""" - info = {'css': 'doc', 'title': 'blessfrey gdd - game mechanics', 'year': find_year()} - return template('bf-mech-inspect.tpl', info) - - -# Blessfrey Feature Requirements Page +# Blessfrey - Feature Requirements Page @route('/milestones') def milestones(): """feature requirements""" info = {'css': 'doc', 'title': 'blessfrey milestones', 'year': find_year()} - return template('requirements.tpl', info) + return template('milestones.tpl', info) # Planner Page @route('/planner') @@ -593,33 +619,6 @@ def presskit(): info = {'css': 'doc', 'title': 'blessfrey presskit', 'year': find_year()} return template('blessfrey-presskit.tpl', info) -# Species Page -@route('/race/') # if no species given -def spec4(): - return species("human") -@route('/race/') -def spec3(species_name): - return species(species_name) -@route('/species/') # if no species given -def spec2(): - return species("human") -@route('/species/') -def spec(species_name): - """species page""" - loc = 'species/' - info = {'css': 'char', 'title': 'blessfrey - species | meet ' + species_name, 'year': find_year(), 'ocs': ["human","giant","serpent"], 'name': species_name, 'profile': prepare_profile(loc, species_name), 'gallery': find_gallery(species_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) - -# Blessfrey Style Guide Page -@route('/style') -def style(): - """style guide""" - info = {'css': 'doc', 'title': 'blessfrey style guide', 'year': find_year()} - return template('style-guide.tpl', info) - # Search Diary by Tag @route('/diary/tag/') # Start on first Diary tag page if no page given def tag2(tagin): @@ -633,12 +632,9 @@ def tag(tagin, page): info = {'css': 'diary', 'title': 'blessfrey developer diary', 'year': find_year(), 'snippets': list_snippets(pull_tag(gather_and_sort(loc), tagin)), 'latest': list_headlines(gather_and_sort(loc)[0:5]), 'tags': fill_word_cloud(curate_files(gather_files(loc))), 'total': len(curate_files(gather_files(loc))), 'limit': 8, 'cluster': 3, 'page': page} return template('diary.tpl', info) -# GDD Pages -@route('/vibe') -def vibe(): - """GDD Page""" - info = {'css': 'doc', 'title': 'blessfrey gdd - vibe', 'year': find_year()} - return template('vibe.tpl', info) +# BlessFREY +# play about diary dev +# play system character story info date ## Main ## diff --git a/src/static/img/dev/alex-block--a-OAxBXpv0-unsplash.jpg b/src/static/img/dev/alex-block--a-OAxBXpv0-unsplash.jpg new file mode 100644 index 0000000..a42fc02 Binary files /dev/null and b/src/static/img/dev/alex-block--a-OAxBXpv0-unsplash.jpg differ diff --git a/src/static/img/dev/businesscard.png b/src/static/img/dev/businesscard.png new file mode 100644 index 0000000..4c3d386 Binary files /dev/null and b/src/static/img/dev/businesscard.png differ diff --git a/src/static/img/dev/businesscard_pix.png b/src/static/img/dev/businesscard_pix.png new file mode 100644 index 0000000..e49ee1a Binary files /dev/null and b/src/static/img/dev/businesscard_pix.png differ diff --git a/src/static/img/dev/kelly-sikkema--nz-GTuvyBw-unsplash.jpg b/src/static/img/dev/kelly-sikkema--nz-GTuvyBw-unsplash.jpg new file mode 100644 index 0000000..2428d05 Binary files /dev/null and b/src/static/img/dev/kelly-sikkema--nz-GTuvyBw-unsplash.jpg differ diff --git a/src/static/img/dev/nikohoshi-3qZR6AQx_8w-unsplash.jpg b/src/static/img/dev/nikohoshi-3qZR6AQx_8w-unsplash.jpg new file mode 100644 index 0000000..22795e8 Binary files /dev/null and b/src/static/img/dev/nikohoshi-3qZR6AQx_8w-unsplash.jpg differ diff --git a/src/views/bf-gdd.tpl b/src/views/bf-gdd.tpl index 11c3a33..ad15903 100644 --- a/src/views/bf-gdd.tpl +++ b/src/views/bf-gdd.tpl @@ -5,7 +5,7 @@

The vision for Blessfrey


    - % for i in [["art direction","blessfrey-art"],["characters","blessfrey-cast"],["credits","blessfrey-credits"],["game mechanics","blessfrey-mechanics"],["jobs","blessfrey-jobs"],["keywords","blessfrey-keywords"],["milestones","blessfrey-milestones"],["setting","blessfrey-setting"],["skills","blessfrey-skills"],["sound","blessfrey-sound"],["story","blessfrey-story"],["style guide","style-guide"],["terms","blessfrey-terms"],["tweaks","tweaks"],["vibe","blessfrey-vibe"]] + % for i in [["art direction","blessfrey-art"],["characters","blessfrey-cast"],["credits","blessfrey-credits"],["game mechanics","blessfrey-mechanics"],["IDs","blessfrey-ids"],["jobs","blessfrey-jobs"],["keywords","blessfrey-keywords"],["milestones","blessfrey-milestones"],["setting","blessfrey-setting"],["skills","blessfrey-skills"],["sound","blessfrey-sound"],["story","blessfrey-story"],["style guide","style-guide"],["terms","blessfrey-terms"],["tweaks","tweaks"],["vibe","blessfrey-vibe"]]
  • {{random.choice(['.','•','☆','★'])}} {{i[0]}}
  • % end
diff --git a/src/views/bf-mech-inspect.tpl b/src/views/bf-mech-inspect.tpl index bcc25e2..944ead4 100644 --- a/src/views/bf-mech-inspect.tpl +++ b/src/views/bf-mech-inspect.tpl @@ -5,10 +5,19 @@

Right-click on an tangible entity or inventory item to open a popup inspect menu with all relevant inspect options. Selecting one will execute a method. Examples are 'follow Chloe' (pathfind after Chloe wherever she moves until action is cancelled), 'pick up clover' (item pickup), and 'examine button' (write a descriptive line about her in Helia's thought bubble)


structure

-

Every tangible entity has an exported array of inspect_options. {'english_tr_key': 'method', 'tr_pick up':'pickup','tr_examine':'examine_surprise'}. Every tangible has at least 'examine.'

+

Every tangible entity has an exported dictionary of inspect_options: {index: ['tr_key', 'method']}. For example, {0:['tr_pick up','pickup'],1:['tr_extinguish','extinguish']}. Every tangible appends 'examine' at ready.

+
+

The Clickable has a _ready input event signal looking for "right-click."

+
+

The inspect menu ("res://UI/InspectMenu/InspectMenu.tscn") is instanced at declaration and added as a child at ready in the UI singleton.


logic

-

When tangible entity is right-clicked, the inspect menu adds a UI option for each inspect option.

-
When a selection is made, +

When tangible entity is right-clicked (@ $Body/Sprite/Clickable), the UI enters InspectMenu with its subject set. The "id_pressed" signal is reset for each subject. InspectMenu connects "about_to_show" the first time it's needed and keeps it forever. Before popup(), it resets, adds a label at an offset with the subject's display name, then adds a UI option for each inspect option.

+
+

When a selection is made, the "id_pressed" signal calls "id_pressed" on the subject, which calls the method at its inspect_options[pressed_id][1]. So 'examine' calls 'examine,' which is in tangible.gd. Most related methods are on tangible.gd, though they may be at a more specific script.

+
+

challenges/known issues

+

It's not obvious how to get popupmenus to appear at specific coordinates. I get it to appear at the subject's current location by setting rect_global_position = get_global_mouse_position() the line immediately after popup().

+
+

The inspect menu retains the largest ever size going forward. I reset the size to 20,20 when clearing previous options.

- diff --git a/src/views/vibe.tpl b/src/views/bf-vibe.tpl similarity index 100% rename from src/views/vibe.tpl rename to src/views/bf-vibe.tpl diff --git a/src/views/credits.tpl b/src/views/credits.tpl index b618cb4..54bcde2 100644 --- a/src/views/credits.tpl +++ b/src/views/credits.tpl @@ -83,5 +83,12 @@ license: Public Domain
font: pixel sparrow
chimchooree
license: Public Domain
+
+

website

+business card texture (dev page)
+photo: Free Texture Image
+Pawel Czerwinski
+https://unsplash.com/photos/dgJT71cXlC4
+license : https://unsplash.com/license
diff --git a/src/views/requirements.tpl b/src/views/milestones.tpl similarity index 99% rename from src/views/requirements.tpl rename to src/views/milestones.tpl index cd9431e..2495878 100644 --- a/src/views/requirements.tpl +++ b/src/views/milestones.tpl @@ -6,7 +6,7 @@

Focus and finish the game!


-

Legend: nothing at all, designed, basic implementation, intentionally designed, tested, documented, more or less finalized +

Legend: nothing at all, designed, basic implementation, intentionally designed, documented, but with known issues, ironed out and polished

0.0 - first

  • {{random.choice(['.','•','☆','★'])}} feature: export, embed
  • @@ -34,7 +34,7 @@
  • {{random.choice(['.','•','☆','★'])}} containers
  • {{random.choice(['.','•','☆','★'])}} travel between rooms
  • {{random.choice(['.','•','☆','★'])}} drop items
  • -
  • {{random.choice(['.','•','☆','★'])}} inspect
  • +
  • {{random.choice(['.','•','☆','★'])}} inspect
  • {{random.choice(['.','•','☆','★'])}} spawnpoints
  • {{random.choice(['.','•','☆','★'])}} XP, levels
  • {{random.choice(['.','•','☆','★'])}} skillbar - drag & drop, enforces deckbuilding rules