- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Website | Twitter | Tumblr | Twitch | Facebook | YouTube | Google Plus
Current Development Logs:
Devlog 1 - Intro & Level Editor
Devlog 2 - Minimap & Character Stats
Devlog 3 - Pre Alpha Gameplay Video
Devlog 4 - Taking Stock
Devlog 5 - Papercraft Remake
Devlog 6 - Artist Introduction
Devlog 7 - Switch to PC
Devlog 8 - Dialog Editor Tool
Devlog 8 - Dialog Editor Tool:
One of my goals with the Partial Quest project is to create a codebase and toolset for making story driven, turn based, role playing games. It began with the level editor, and now is finishing with the dialog editor. As the script and cast of characters of Partial Quest grew, I quickly realized I'd need a tool to manage it, and to help the writer input the data. The functionality of the tool grew to include triggering progression in the form of unlocking other dialog, events, quests, items, etc. Although still quite rough, it has evolved into a functioning meta-game editor that can drive the entire game.
Beginning With The Data Format:
I began by breaking down the elements of the dialog and how it would need to be presented in a graphic novel style. Essentially there are lines, and they need to be displayed on pages (see early image above). There can be an arbitrary number of lines and pages. Each page specifies its layout, and the lines fill the text on the page.
This gave me the xml structure. I then started writing a C# windows app to load and edit that data.
The names of these containers and variables changed over time to be called shots and bubbles. Where each page is instead thought of as a shot in a scene. You can edit the background set, which actors are on screen, and on which side of the screen. Then you can add unlimited 'bubbles'. Bubbles are the text bubbles (think comic books). Each bubble can now also specify the font type, the position on the screen, and the bubble shape type. In addition, shots and bubbles can specify which shot or bubble comes next, and bubbles can include up to 3 interactive options for the player (each specifying the text to display on the dialog option, and which shot or bubble that option will take the player to).
Using just these features, I could already create a non-linear, interactive, graphic novel. I love the Gamebook genre, so this tool was indented to also allow me to create just dialog based gamebooks.
The real power of the Partial Editor is in the additional features that allow it to control game progression.
Let's take a quick step back. To organize all these pieces of dialog, I structured them as they appear in game grouped into chapters. Each chapter contains a collection of cutscenes (fixed, just a prologue that plays at the beginning, and an epilogue that plays at the end), quests (mandatory, affect progression), side-quests (optional), and chats (organized by character). The author is able to add unlimited dialogues to each quest, side quest, and chat. By creating a new dialog for quest, or side-quest, the author is actually creating a new quest for the game.
Each quest has 3 types of dialog, and a meta-info file. There is the Briefing that plays when the quest is unlocked, Objective dialog plays when the player interacts with an objective, and the Debriefing plays when the quest is complete.
The info file specifies the quest title, and description, as well as location, and number of levels. It also specifies the objectives. There are 3 objective types: NPC, Enemy, and Item. The author can select up to 5 objectives for each quest / side-quest. After selecting the objective type, they select the exact id of that type to be used (ie: NPC name, enemy name, item name).
All dialog can specify unlimited number of unlocks that occur when the dialog is complete. Types of things that can be unlocked are: Quests, Side Quests, Chats, Items, and Documents. This simple mechanism allows the dialog editor to also create the entire progression of the game. During the briefing, the author may want to award the player with some documents or items to be used during the quest. In the above example the player is given a document with further details about the quest for future reference. When an objective is interacted with, the dialog may grant the player with items or unlock futher chats, etc. The main progression unlocks for a quest are generally given during the Debriefing. This is where the next quest will be unlocked and the player will be rewarded with items and gold, etc.
Here's a simple example of a scene playing. It shows the set backdrop in the middle, characters on either side, and a narrator style text bubble. The variations are numerous.
Workflow Example Gif
Here's a ridiculously long gif showing the process of creating a new quest, creating a couple dialog pages with a couple text bubbles on each, and the end result playing in the dialog test viewer in game.
Thanks again for tuning in. I'm happy with the progress on this tool. I'm more happy to be back to doing gameplay development though! Haha. Good to have the tool though, it will prove useful beyond this project.