Code Monkey home page Code Monkey logo

xtory's Introduction

Xtory

Latest Release by date License CodeQL Test Publish

Xtory

Please note that Xtory is early in the development stages, and it is not recommended to use it for any actual production till it reaches the first stable version release.

What is Xtory?

It's a tool for writing non-linear stories using flows and nodes. Xtory can export all of its story flow files into compact binary, JSON, or with the use of plugins, any other format for you to use in your games and pipeline however you like.

Why is Xtory?

I'm a game developer with a passion for games with good stories; Maybe you, too, always thought writing dialogue options should be done as a dialogue tree, and basically, word or traditional screenplay writing tools doesn't cut the job.

When is Xtory?

Near 5 years ago, I started this project as a fork of Dialogger which I then modified with custom nodes for function calls to the engine, conditional options(based on game state), and localization. This version can be found here. For many years I've tried to rewrite this project with extendability as a general-purpose tool, But I tend to stop everything and start from scratch. I've restarted this project many times with many stacks such as Qt, AvaloniaUI, GTK, and even good old ImGUI.

Choice of Stack

In the end, I've chosen the slowest option, which is a react app wrapped in an Electron layer. But to be honest, The problem with many of the greatest Open Source software is poor UI design which prevents them from appealing to a wider audience, Blender transition from 2.7x to 2.8x and Musescore version 3.xx to 4.xx shows this in practice. So With the help of react, Using a web approach to design and borrowing heavily from VSCode UI/UX (which I've wanted to make this project as an extension for it, but that wasn't feasible enough at the time), I hope it's easier to make a clean and usable UI with much more manageable development effort.

Features

  • Intuitive Node base approach to writing non-linear stories.
  • Writing Conversations using nodes, With dialogue options and conditional scenarios.
  • Character creator with back story and conversation tracking for writing better characters, NPCs, and stories.
  • Xtory is Cross-Platform!
  • It comes with xtory-parser, An open source C++ story parser for implementing xtory stories in your game engine.
  • Unity3D Open Source Package(via xtory-parser)
  • Extendable with plugins
  • Open source and free to use for writing stories, Both in commercial and personal projects.
  • Easy to version control project structure, Emphasizing breaking down flows into sub-flows to enable teams to work on different parts of the story simultaneously.

Roadmap

Right now, there is a roadmap for the project describing our next few releases. View Roadmap

Xtory gets a new release every 2 weeks, As the project gets more mature we will extend our release windows to a month as I have to delegate time into our C++ library for using Xtory files in game engines.

Both xtory-parser and Unity3D package are non-existent at the moment And will be shipped with the first production release(version 1.0.0).

Contribution

Feel free to make issues and/or help with the development.

xtory's People

Contributors

dependabot[bot] avatar rzvxa avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

lazuraslong

xtory's Issues

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.