Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics


A member registered Dec 20, 2019 · View creator page →

Creator of

Recent community posts

Hello! Not much really, just simple linear timelines/events/etc it is a really old feature but might be useful for mapping out a story. But honestly maybe the node tree editor is more versatile.

Thanks for the follow up! Hmmmm this is strange, are you using the portable windows version right? It seems that it is failing to get to the example jpg from the filesystem for a the new actor, for some reason, probably related to the Windows path filesystem and how it is resolved when packaged.

I have a theory, on what could be causing it, does it happen as well in the installer version?

Hello! Best I can offer right now is a link to the docs repo. You can download a zip and inspect the .md files. Not what you are asking, but better than nothing I suppose.

Hello Thanks for the feedback! Unfortunately I cannot reproduce #1 and #3, I’m in Linux. Are you in the latest version? If so, can you check if you get an error in the console when adding the actor and when auto-detecting? (ctrl + shift + I). I suspect is something related to the blob attachment.

About the export, I found a bug and fixed in 1.4.1, thanks! The quick export will start to working after an export has been made. (its the same command without the file picker)

Hello! Some updates about this feature, which is available in v1.4.0

It’s not exactly what we had in mind at first but might be helpful. The problem of running headless is that the local pouchdb is stored in the browser. Also electron requires a display to run headless so it a bit tricky. So for now, we have a REST API that runs when a project is loaded (if enabled in the options) that can get you a game export and a database dump.


Other thoughts:

  • I’m planning to make a little cli app does the fetching but any standard GET request method would work. This tool could probably have some mechanism to dump from a remote couchdb instance as well.

whoops, fixed in 1.3.2, thanks!

Loved It! And its impressive it “only” a JAM game!! Well done!! I get some The Dig vibes with the art style.

Well the ::ActorName:: tag Is supposed to be unique, meaning, the app would autodetect and group the same string into the same actor. It is, in practice, an ID. I think the “real name” should be inside the properties, but again, is up to your implementation. Hope it makes sense!

This is now a feature in v1.3.0

Thanks for the suggestion!

Fixed in v1.3.0 live next week. Only the max-size, getting it to use the whole space with empty rows is more challenging than expected!!. Thanks for reporting!

Hey, this is fixed in v1.3.0 (live next week). Thanks for reporting!

Sorry for the necro, but I just remembered that we had multi cursor support since the beginning !

Hello there! The implementation is really up to you! I would parse the graph.nodes array, locate the “start” node (or any other useful node) and start crawling from there.

Some useful props:

  • In the extras property you have the type, and the scriptID associated with that node.
  • Inside each node you have a ports array which you can use to get all in and “out” ports (1 for script nodes) so you can build your flow with that.
  • Once you reach a choice node, you can query its “out” ports to show the different options to the player, the link array associated with that port will give you the id of each connection the port has, so you can navigate to the next node.

Basically what you have there is the whole graph serialized. The dialogue player is a (super simple) example on how to implement.

Hope it helps!

Hey, just to let you know that this on my radar, but I was thinking, instead of having a cli command (which may be really helpful with CI/CD and scripts, but may require extra work to run headless) What about having a very simple API that returns the JSON, (and maybe some endpoint to force a sync)

The caveat is that in it will require that the user have the app open. Also, this would mean that this API could be potentially hit from any computer (with network access) Also, this would mean that, it could be possible in theory, and some imagination… to hook up the game engine to use the API directly for some live preview goodness.

Is not a headless/“offline” solution but its definitely simpler to implement!

Hi, thanks for the suggestion! Including TOML will be pretty easy as it is already a mode in ACE editor (which I’m using) I can add it in next release! Next release its taking some time though as I’m doing some refactoring (mainly trying to add a more performant MD editor)

Hello, thanks for the bug report, I can reproduce the error and I think I know what’s the reason, will fix next version!

No, and it’s not using the whole space either, and its really annoying!! Will fix in next release! Thanks!

Hello! I think this is an interesting idea! Need to do some research and test but I think it can be done “easily”, another plus would be to use such feature to do “live updates” to the game… Just curious, can you share a little bit about your potential use case? Added to the list!

Yes, “Restore Database from file in a new project” would be the workaround, it’s not really thought to be used as a “portable” save system, but might work! I will add “Customize Install location” as a feature request. Another approach could be just copying/syncing the %APPDATA%/drafft folder (untested)

Thanks! It really means a lot!! I have a few ideas on next features to add, and comment like this are really motivating. I’m really glad you are finding the tool useful.

No worries! Thanks for the confirmation!

can you test if the file that you downloaded is a valid JSON ?

Well this is definitely weird! I’m on Linux too, using the AppImage version I get this:

{content: Blob, fileName: '/home/baj/Downloads/The goddess of fate..json', content_type: 'application/json', json: {…}}
content: Blob {size: 860384, type: ''}
content_type: "application/json"
fileName: "/home/baj/Downloads/The goddess of fate..json"
json: {total_rows: 68, offset: 0, rows: Array(68)}

I’m a little lost on what else to test, seems like the app cannot open the file to read its content for some reason, or the file is corrupted. If you create a test project, export it (Backup Database) and import it, do you get the same error? Thanks!

well this is strange! can you CTRL + Shift + I and see console output? Long shot: Is the file inaccesible, inside a zip, or permission or something that might be causing the app not properly loading the OS file? what OS are you running? Thanks for the help troubleshooting this!

(1 edit)

Hello What version are you using? I just tried both in 1.2.2 and loaded fine. Just to confirm are you doing a “restore database from file in new project” in project manager? Be sure to select the json file for the project you want to import

Hello! Unfortunately there is no customization yet for project folders: Projects and user settings are saved in Per-user application data directory, which by default points to:

%APPDATA% on Windows
$XDG_CONFIG_HOME or ~/.config on Linux
~/Library/Application Support on macOS

example in Linux:

~/.config/drafft ls -lh

Permissions Size User Date Modified Name
drwxrwxr-x     - baj   8 Apr  2:49  backups
drwx------     - baj   8 Apr  0:52  blob_storage
drwx------     - baj   8 Apr  2:50  Cache
drwx------     - baj  12 Dec  2020  Code Cache
.rw-rw-r--  2,3k baj   8 Apr  2:49  config.json
.rw-------   20k baj  15 Dec  2020  Cookies
.rw-------     0 baj  15 Dec  2020  Cookies-journal
drwx------     - baj  12 Dec  2020  Crash Reports
.rw-------    67 baj  14 Dec  2020  Custom Dictionary.txt
.rw-------    57 baj  14 Dec  2020  Custom Dictionary.txt.backup
drwx------     - baj  12 Dec  2020  databases
drwx------     - baj  12 Dec  2020  Dictionaries
drwxrwxr-x     - baj  12 Dec  2020  extensions
.rw-rw-r--  1,7k baj  24 Feb 19:01  fgf.json
drwx------     - baj  12 Dec  2020  GPUCache
drwx------     - baj  24 Feb 19:27  IndexedDB
drwx------     - baj  12 Dec  2020  Local Storage
.rw-------  1,2k baj  30 Mar 20:09  Network Persistent State
.rw-------   32k baj   8 Apr  2:39  Preferences
.rw-------   53k baj   8 Apr  2:49  QuotaManager
.rw-------  8,7k baj   8 Apr  2:50  QuotaManager-journal
drwx------     - baj   8 Apr  2:22  Session Storage
drwx------     - baj  15 Dec  2020  shared_proto_db
.rw-------   372 baj  17 Dec  2020  TransportSecurity
drwx------     - baj  15 Dec  2020  VideoDecodeStats

I agree it would be nice to make it more portable and customizable! Hope it helps!

Meanwhile a (rather cumbersome) workaround you could try is using exports. but its not what you are asking for.

Hello, this is available now in v.1.2.2 Thanks for the suggestion!

Thanks for the report!, this is now fixed on v1.2.1

If you right click on a “bad” word where you get the suggestions, see if you have an option to set the language there.

Hello, markdown editor (beta) is now an option in 1.2.0 ! Thanks for the suggestion!

(1 edit)

I haven’t waited that long but I’m facing the same issue.

This is now a feature in v1.1.6 . Thanks for the suggestion!

This now is a feature in v1.1.6. Only each item separately for now, export to doc.

Hello! thanks for the suggestion, we have the option but is not currently exposed in the UI, its an easy fix and will add it in next release! Will also include a button to disable it altogether.

Also note that By default the spellchecker will enable the language matching the current OS locale. Thanks!

Thanks for the report, this is now fixed in 1.1.5

Yes!! that’s a really valid use case. Thanks for the feedback!

Hmm, it should change according to the theme: What version are you in?

  • Multi cursor is a good Idea, but might be hard to implement with ACE editor which I’m currently using… I think adding markdown support, with a modern editor, is the most beneficial thing to do, for this and other usecases…

Do you mean, like the Whole GDD ? I guess I could crawl the hierarchy and combine it into a single document… now that I write this… I think this could be a nice feature to have, like a combined, single file PDF that gets created automatically and can be previewed in the app as well as download it… maybe each document represent a page break. Good idea!


Thanks for the very detailed feedback!!!! I’m really glad you are finding this tool handy.

I need to do a security update soon for this so I might be able to work on those features which seem really useful:

  • Select beep sounds, ideally bringing your own mp3
  • Customizable profiles

Let me know if I missed anything!

This is now a feature in v1.1.4, no drag and drop though, but better than nothing!

Sorry I completely overlooked this issue! Its fixed in the incoming v1.1.3 that should be available later this week.