Coder Social home page Coder Social logo

oleg-avdeev / tome-edtior Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 1.0 9.85 MB

Tome Editor — Narrative-tree viewer and editor

License: GNU General Public License v3.0

HTML 3.18% JavaScript 88.00% CSS 8.83%
game-development narrative scriptwriting storytelling

tome-edtior's Introduction

Tome : narrative tree editor

Tome is an editor for dialogue and story trees that allows you to plan your entire game in one place. This format allows you to design the tree, write all of the character lines, notate actions and commands and store any additional data you might need for your game: scenes, backgrounds, visuals, music cues.


  • Automatic tree building : Just write your story! No need to move blocks, editor will do its best to keep your diagram clean, readable and beautiful. Color code your blocks to make the tree even easier to understand 🎄
  • Projects : Sometimes one tree isn't enough — instead of working with individual files Tome opens project folders and allows you to switch between multiple trees;
  • Table editting : Jump into the table mode to review your story data, set meta keys like music and visual cues;

  • Work anywhere : Editor is built using Electron, which means that you will be able to run it on your Mac, Windows or Linux machine. And maybe eventually online...
  • Autosave : Don't worry about losing your progress, it's being saved after every change you make
  • Script editing : Feel like a professional script writer with script-styled editor. Easily add and remove lines, assign characters, set line actions or add narration;

Tome Format

Have you ever felt anxious about the state of your hobby project after long holidays or busy day-job months? Coming back to a project not being sure it's even going to compile, let alone play the right music for the right scene? This is the reason we (me and my wife) have designed the Tome story format — as long as everything about your game is in just one place, it's way easier to keep track and feel confident about the state of your game.

It's essentially a spreadsheet, the easiest of all formats. It's so simple you don't even need the editor, you can write your entire game using Google Spreadsheets (which we have done). Here is an example of what it looks like.

Editor works with .tsv files that you can export and import in any spreadsheet editor of your choosing. Must-have columns are:

Scene Character Text Actions Conditions
- - - - -

Everything else is considered to be Meta data that you can add or delete based on your needs.

Integrations

After you've finished working on your story it would be nice to actually start making a game with it. The format is simple enough that you can parse it with any .tsv parser, alternatively there's an export to JSON option that will provide you a file that's ready to be deserialised in your game.

For a more thorough integration that would run your story in one of the popular game engines... That would take a lot of time but it's possible! Who knows, maybe you can write one and share it with the class.

  • Unity Integration is WIP, but I'll publish it eventually;

Downloads

WIP...

Contributions

Are welcome. However a note of warning, this is a passion project that I do for fun, and for one reason or another the definiion of fun for me is doing it in vanila JS without having any prior experience in writing JS apps. Am I ignoring 10+ years of web development tech that could make my life easier and the code prettier? Yes. It works really fast though!

Cool alternatives

Tome is not the only tool out there to write stories. If you don't care too much about the meta-data and having everything in one file, might I introduce you to:

  • Twine — An open-source tool for telling interactive, nonlinear stories. You can make a full game just using it with some extensions. However it's not as easy to integrate into a game engine
  • Inky — A narrative scripting language for games. A very good tool for writing complex dialogues and stories with text-first approach. It has been very well tested, it's open-source, it has game engine integrations, give it a try!

tome-edtior's People

Contributors

heavyoranjs avatar oleg-avdeev avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Forkers

heavyoranjs

tome-edtior's Issues

[UI] Добавить режим валидации

Читающий может помечать сцену как проверенную/не проверенную

  • Отмечать статус сцены: [pending/validated]
  • UI для смены статуса
  • Сохранение информации о валидированности документа
  • Хранить checksum валидированной сцены и сверять с текущей, при несовпадении invalidate

Показывать предупреждение о несохраненных изменениях

Сейчас документ, с которым работает пользователь сохраняется в Store: document.wip в виде JSON данных. При открытии/создании нового документа эти данные будут перезаписаны:

  • Отмечать изменение в данных и хранить в виде флага в Store
  • В случае наличия изменений — выдавать пользователю окно с предупреждением о возможной потере прогресса

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.