B
BrandonBrandonBrandon
Guest
I have been working on a game for a while now where I wanted to have Bethesda level complex dialog in my game. There aren't a lot of tools out there to do this, not that are affordable anyway. So I made my own. My app comes in three parts, the Dialog Editor itself, which is used to create the dialog, then there is the runner, which is used to test the dialog, and then there is the game maker extension which is used to run the dialog within a game. The runner uses this game maker extension. I didn't have a whole lot of intention of releasing this tool, at least not yet, but it seems to be pretty robust at the moment so I thought I would post a demo here to see what you guys thought. I was thinking of throwing it up on the game maker marketplace for around $30.
Here is a video of the editor, this is a couple of version old at this point and is missing a few features like events, items, delays and the report system. It is also missing integration with the runner, which now there is a run button that will allow you to test the conversation. But it should give you an idea of how the editor works. I tried to make a new video about 4 times but my screen capture software kept messing up.
Now I also have a demo of the runner here. The conversation I have loaded is fairly complex with lots of options. Ill quickly explain the interface though. On the right you have the conversation, at the bottom you have your choices of what you want to say, you play as Brandon talking to Forrest (who is a vegan, not that there is anything wrong with that). In the upper right hand corner you have the restart button. This restarts the conversation but leaves the flags and items you presently have set. On the left you will see two panes, the flag editor, and the item editor. The flag editor lets you turn flags on and off by clicking them. Flags are used in the dialog to allow it to branch based upon conditions. The item editor lets you set the number of a certain item you have. Left click to add one, right click to remove one. As a hint, Forrest, being a vegan, really likes broccoli. Anyway, this is the runner
https://dl.dropboxusercontent.com/u/8241732/BrandonsDialogEditorDemo.exe
I plan on releasing it into the GameMaker Marketplace when I finish v0.4 as that is when all of the core functionality will be complete (see roadmap below)
Just to give you an idea of the different dialog node types supported in the latest version I will list them here
* v0.4 (Core Functionality)
* [X] Optimize the Dialog Timeline View
* [X] Ability to Pan in the Timeline View
* [ ] Make the Dialog Timeline View have tree lines so its easier to see what is going on
* [ ] Enable drag and drop in the Timeline view
* [ ] Enable drag and drop in the Conversation Tree
* [ ] Fix issue with loading files not showing the scroll bars in the Timeline view until window is resized
* [ ] Make sure the runner functionality works on linux
* [ ] In conversation tree view, when right button is pressed, parent node is "NULL" until the user clicks on it
* [ ] When deleting a referenced character, show a warning
* [ ] When deleting a referenced conversation, show a warning
* [ ] Deleting the root node in a conversation tree behaves incorrectly when there is only 1 child node
* [ ] Portraits need to be compiled into a resource directory and use relative paths
* [ ] Undo/Redo
* [ ] Goto another conversation
* [ ] Copy/Cut/Paste in the ConversationTimelineView (include across conversations)
* [ ] Add facility for text formatting
* [ ] Size/Color/Bold/Italic/Underline
* [ ] Typing Speed
* [ ] Add conversation classes with default settings like typing speed and color
* [ ] Provide checks to make sure there are no duplicate tags in conversations
* [ ] Provide checks to make sure there are no duplicate ids in the character table
* [ ] Game preferences
* [ ] Maximum number of User Choices
* [ ] Runner should display portraits
*
* v0.5 (Usability)
* [ ] When Zooming in the Timeline view, keep the viewport centered
* [ ] Let the user decide to layout the timeline horizontal or vertical
* [ ] Need to show if something has changed by putting an * on the title bar
* [ ] Don't ask the user to close without saving if there are no changes
* [ ] Allow character editor to use a hierarchy like the Conversation editor
* [ ] Let the goto take you to the tag location
*
* v0.6 (Usability)
* [ ] Add Spell check
* [ ] Filtering and sorting on the conversation database
* [ ] Logging
* [ ] Auto backup
*
* v0.7 (Project Administration)
* [ ] Check conversations for errors
* [ ] Item Database Management
* [ ] Event Database Management
*
* v0.8 (Project Administration)
* [ ] Merge Conversation Database
* [ ] Split Conversation Database
*
* v0.9 (New Functionality: Audio)
* [ ] Add audio file selector in conversation lines
* [ ] Add audio file database management
* [ ] Add audio file to runner
*
* v1.0 (Enterprise Release)
* [ ] Dialog encrypting and compression
* [X] Determine Pricing ($30 per Seat For GameMaker only license, $250 per seat for non-GameMaker games)
* [ ] Update documentation
* [X] Create file format documentation
* [ ] Fix/Address all TODO markers
* [ ] Comment command line interface
*
* v2.0 (Efficiency and Aesthetics)
* [ ] Migrate to a Web Based, or at least a more modern, interface. (vaadin?)
* [ ] Simplify file format
* [ ] Make it so you don't have to load the entire conversation database
* [ ] Determine Upgrade Pricing ($30 for GameMaker only license, $XXX per seat for non-GameMaker games)
*
* v2.1 (Export)
* [ ] Java Dialog Runner
*
* v2.2 (Export)
* [ ] C++ Dialog Runner
*
* v2.3 (Export)
* [ ] C# Dialog Runner
*
* v2.4 (Export)
* [ ] Python Dialog Runner
Edit: June 19, 2016
Updated the Roadmap and Pricing
Here is a video of the editor, this is a couple of version old at this point and is missing a few features like events, items, delays and the report system. It is also missing integration with the runner, which now there is a run button that will allow you to test the conversation. But it should give you an idea of how the editor works. I tried to make a new video about 4 times but my screen capture software kept messing up.
Now I also have a demo of the runner here. The conversation I have loaded is fairly complex with lots of options. Ill quickly explain the interface though. On the right you have the conversation, at the bottom you have your choices of what you want to say, you play as Brandon talking to Forrest (who is a vegan, not that there is anything wrong with that). In the upper right hand corner you have the restart button. This restarts the conversation but leaves the flags and items you presently have set. On the left you will see two panes, the flag editor, and the item editor. The flag editor lets you turn flags on and off by clicking them. Flags are used in the dialog to allow it to branch based upon conditions. The item editor lets you set the number of a certain item you have. Left click to add one, right click to remove one. As a hint, Forrest, being a vegan, really likes broccoli. Anyway, this is the runner
https://dl.dropboxusercontent.com/u/8241732/BrandonsDialogEditorDemo.exe
I plan on releasing it into the GameMaker Marketplace when I finish v0.4 as that is when all of the core functionality will be complete (see roadmap below)
Just to give you an idea of the different dialog node types supported in the latest version I will list them here
- Dialog - This is a normal line of dialog
- Event - Calls a game maker script to execute
- Conditional - Branches the dialog based upon the state of a flag
- Annotation - This is a comment and is no executed
- Tag - Marks a place in the conversation that you can 'goto' later
- Goto - Redirects the dialog flow to a specified tag
- Flag - Sets a flag to be on or off, to be used later with conditionals
- Give Item - Add the specified number of the specified items to the players inventory
- Take Item - Removes the specified number of the specified items to the players inventory
- Has Item - Conditional type, allows branching based upon the user having X or more of a specified item
- Set Item Quantity - Sets the number of a specified item that the player has
- Delay - Pauses the dialog, used for dramatic effect or to give the player time to read before the next line is shown
* v0.4 (Core Functionality)
* [X] Optimize the Dialog Timeline View
* [X] Ability to Pan in the Timeline View
* [ ] Make the Dialog Timeline View have tree lines so its easier to see what is going on
* [ ] Enable drag and drop in the Timeline view
* [ ] Enable drag and drop in the Conversation Tree
* [ ] Fix issue with loading files not showing the scroll bars in the Timeline view until window is resized
* [ ] Make sure the runner functionality works on linux
* [ ] In conversation tree view, when right button is pressed, parent node is "NULL" until the user clicks on it
* [ ] When deleting a referenced character, show a warning
* [ ] When deleting a referenced conversation, show a warning
* [ ] Deleting the root node in a conversation tree behaves incorrectly when there is only 1 child node
* [ ] Portraits need to be compiled into a resource directory and use relative paths
* [ ] Undo/Redo
* [ ] Goto another conversation
* [ ] Copy/Cut/Paste in the ConversationTimelineView (include across conversations)
* [ ] Add facility for text formatting
* [ ] Size/Color/Bold/Italic/Underline
* [ ] Typing Speed
* [ ] Add conversation classes with default settings like typing speed and color
* [ ] Provide checks to make sure there are no duplicate tags in conversations
* [ ] Provide checks to make sure there are no duplicate ids in the character table
* [ ] Game preferences
* [ ] Maximum number of User Choices
* [ ] Runner should display portraits
*
* v0.5 (Usability)
* [ ] When Zooming in the Timeline view, keep the viewport centered
* [ ] Let the user decide to layout the timeline horizontal or vertical
* [ ] Need to show if something has changed by putting an * on the title bar
* [ ] Don't ask the user to close without saving if there are no changes
* [ ] Allow character editor to use a hierarchy like the Conversation editor
* [ ] Let the goto take you to the tag location
*
* v0.6 (Usability)
* [ ] Add Spell check
* [ ] Filtering and sorting on the conversation database
* [ ] Logging
* [ ] Auto backup
*
* v0.7 (Project Administration)
* [ ] Check conversations for errors
* [ ] Item Database Management
* [ ] Event Database Management
*
* v0.8 (Project Administration)
* [ ] Merge Conversation Database
* [ ] Split Conversation Database
*
* v0.9 (New Functionality: Audio)
* [ ] Add audio file selector in conversation lines
* [ ] Add audio file database management
* [ ] Add audio file to runner
*
* v1.0 (Enterprise Release)
* [ ] Dialog encrypting and compression
* [X] Determine Pricing ($30 per Seat For GameMaker only license, $250 per seat for non-GameMaker games)
* [ ] Update documentation
* [X] Create file format documentation
* [ ] Fix/Address all TODO markers
* [ ] Comment command line interface
*
* v2.0 (Efficiency and Aesthetics)
* [ ] Migrate to a Web Based, or at least a more modern, interface. (vaadin?)
* [ ] Simplify file format
* [ ] Make it so you don't have to load the entire conversation database
* [ ] Determine Upgrade Pricing ($30 for GameMaker only license, $XXX per seat for non-GameMaker games)
*
* v2.1 (Export)
* [ ] Java Dialog Runner
*
* v2.2 (Export)
* [ ] C++ Dialog Runner
*
* v2.3 (Export)
* [ ] C# Dialog Runner
*
* v2.4 (Export)
* [ ] Python Dialog Runner
Edit: June 19, 2016
Updated the Roadmap and Pricing
Last edited by a moderator: