Shadowlight

  • Synopsis

    Olamor and Valenia, two fairy warriors from a small community of Ravenia, are sent on a mission to recover secrets of the dark elves, in order to understand what is happening to the forest around them. Part fantasy and part a poetic imagining of the climate crisis, Shadowlight traces an arc for the times we live in, and stands as a call to not ignore what is happening in our world.

  • Literature and Fantasy

    This is my current project, during which I’m investigating mythology and ficiton and inventing a narrative about the climate crisis, heightened to poetic form. While it was primarily developed to explore concept art for my portfolio, it’s also a unique hybrid of Final Fantasy and Miyazaki techniques that I haven’t seen anywhere else.

  • Book Excerpt

    I’m including an excerpt from the book so that the narrative has some kind of context in this section of my portfolio, it’s below. I’m working on this simultaneously with a few other novels, so that I have enough exploratory work to show both my imaginative use of language and literature and also my design skills.

Valenia

A recent graduate from the Viridian League of Ravinia, Val and what remains of her family learn of an ancient forest from the first Fairy kingdom.

 

Text Based Game

In order to study the underlying structure of RPGs., I made a text game in Python fully with a complex, yet simple database and custom random dice scripts to determine the same level of interactive design of FInal Fantasy and other JRPGs of that era. While the experimental Game Studio I’m working with my partner on is currently working on 2D game, I have plans to develop a 3D game sometime within a year.

 

Deep investigations
on the evolution of RPGs

 
 

Why we worked on this.

 

Recently, in my work on Skymachine, I have been attempting to reverse engineer the elements that I have admired over time. My goal is to comprehend the underlying conditions of each component. When I relax, I tend to create things rather than simply enjoy them, and this holds true for JRPGs and fantasy as well. Shadowlight serves as a prominent example of this exploration, spanning from the earliest forms of the genre in literature to the latest technological advancements. Although this paragraph does not always accompany the source materials, we wanted to demonstrate what we achieved with the text game. To gain insights that may not be immediately apparent, we decided to run it through ChatGPT unprompted and it provided the following feedback on the script design:

The provided script appears to be a work in progress for a text-based game implemented in Python. It includes functionality for database connection and manipulation, character creation, enemy encounters, inventory management, and location navigation.

Here is an overview of the script's structure and functionalities:

Database Operations:

The script includes functions for connecting to an SQLite database, creating a table, inserting new records, and updating existing records.

Character Creation:

The Character class represents a character in the game. It has attributes such as hit points, name, and job. The class includes methods for printing the character's name and job.

Enemy Encounters:

The script defines a list of enemy objects (monsters) with attributes such as enemy ID, name, HP, and description.

The Enemy class represents an enemy in the game. It has attributes such as HP, description, attack number, defense, and name. It includes methods for attacking and defending.

Location Navigation:

The script includes functions for navigating between different locations (rooms) in the game.

The main game loop is implemented in the first_level function, which handles commands for interacting with the game world based on the current location.

Battle System:

The script includes a basic battle system implemented in the battle and battleTest functions. Players can choose to attack or defend during battles against enemies.

Inventory Management:

The display_inventory function retrieves and displays the items in the inventory from the SQLite database table named "Inventory."

Game Start:

The start_game function initiates the game by establishing a database connection and providing an introduction to the game world.

It's important to note that the script seems to be a work in progress, as mentioned in the comments. There are sections labeled for updating and debugging the battle system. Additionally, some parts of the script are incomplete or missing code (e.g., randomEnemy function, handling of the choice variable in mainConnect function).