QuestWriter
(2024)
Overview
QuestWriter is a program I developed using Python and PySimpleGUI to help make the process of writing quests for video games more organized. Because of the structure of video game quests, writing them can be difficult in normal word processing programs, as their format does not always mesh well with the expected workflows. Additionally, extracting information from a quest written in a traditional word processor into a format that is easy to use in other stages of development where a more checklist style view is more valuable, such as recording voice-over for dialogue lines, can be quite frustrating.
QuestWriter solves these problems by allowing the user to create quests in a very structured manner that allows for easy editing with good organization built into the layout of the program. This automatic structuring also allows for easy exporting of the quest data into a spreadsheet for use by other departments who need a more actionable layout of the quest compared to the writing team.
Features
The following are the features that make QuestWriter a useful quest writing tool.
Easy to use UI.
Automatic organization of quest structure through program design.
On the left is the list of "Quests", each of which have an "Act Number" and a "Quest Number" within the act for clear layout of the order of the quests in the context of the overall narrative.
In the middle is the list of "Stages", each having a "Stage Number" to keep them ordered. Each "Quest" has one or more "Stages" that define the objectives of the quest for the player to complete.
On the right is the "Script" that lists all of the dialogue, including the "Line Number" and the "Speaker". Each "Stage" has a set of dialogue, or "Script", associated with it that defines the necessary conversations involved in completing that particular objective.
Easy exporting of all quest data into a .csv file, outlining all of the quests, stages, and dialogue lines in order. This allows for other departments to easily work through the information and check off line items as they are completed. For example, those responsible for voice-over recording can work down the script and check off lines one at a time to make sure nothing is missed.
The program also loads saved data from the .csv file on startup, allowing for manipulation of the data by other team members who may not have the QuestWriter program, but still need to make changes to the source material, and have those changes be reflected back to the writing team.