Giter Site home page Giter Site logo

luccion / equinoxdialogue Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nlaha/equinoxdialogue

0.0 0.0 0.0 24.18 MB

An intuitive dialogue tree builder.

Home Page: https://nlaha.github.io/EquinoxDialogue/

License: MIT License

JavaScript 89.30% CSS 7.07% HTML 3.63%

equinoxdialogue's Introduction

logo_dialogue_rounded

GitHub Workflow Status GitHub issues GitHub pull requests LGTM Alerts

Try it here! https://nlaha.github.io/EquinoxDialogue/

Equinox dialogue is a web-based dialogue tree builder for EquinoxEngine. It is built using React, please read the instructions below if you are a contributor.

What is "Equinox Engine"? It's something I'm working on that isn't quite ready to be open sourced yet!

Screenshots

Web capture_16-10-2022_142823_localhost (1) Web capture_16-10-2022_142814_localhost

Usage

Build dialogue trees, when done click save or export. Save will serialize the entire tree + metadata whereas export will only export data needed by a game engine. This is tool is designed to work on a one NPC per tree system, so for each NPC you'll have a dedicated .dlg file. It does not currently support multiple NPCs in a single conversation.

Keybinds

Limited copy/paste support is available through: CTRL-C CTRL-V

Delete nodes or connections with: DEL

Select multiple nodes by holding SHIFT and dragging with the left mouse button

Roadmap

  • Support for metadata conditionals (if quest completed -> unlocks dialogue subtree)
  • Support for metadata
  • Support for multiple NPCs in one conversation
  • Autosaving
  • Electron app
  • Exit node
  • Jump node and visible node IDs

Building from source

I recommend using yarn but npm run works as well

To start a development server run...

yarn start

To build static files for production run...

yarn build

Electron

To start the electron app in development mode run...

yarn electron:start

To package the electron app as an executable run...

yarn electron:package:<mac,win,linux>

Replacing <mac,win,linux> with your OS

Sample Output

The following is sample JSON from an exported dialogue tree

{
  "id": "node_0",
  "npc_name": "AI Character",
  "type": "dialogue_entry",
  "responses": [
    {
      "type": "none",
      "next": {
        "id": "node_1",
        "type": "gameplay_event",
        "responses": [
          {
            "type": "pass",
            "next_node": {
              "id": "node_2",
              "type": "dialogue_event",
              "responses": [
                {
                  "type": "end_response",
                  "text": "Yes"
                },
                {
                  "type": "choice_response",
                  "text": "No",
                  "next_node": {
                    "id": "node_3",
                    "type": "jump_node",
                    "responses": [
                      {
                        "type": "end_response",
                        "text": "Exit"
                      }
                    ],
                    "jump_to": "node_1"
                  }
                },
                {
                  "type": "choice_response",
                  "text": "Other Response",
                  "next_node": {
                    "id": "node_4",
                    "type": "gameplay_event",
                    "responses": [
                      {
                        "type": "end_response",
                        "text": "Exit"
                      }
                    ],
                    "event": "test_gameplay_event_2"
                  }
                }
              ],
              "npc_text": "This is a test dialogue node"
            }
          }
        ],
        "event": "test_gameplay_event_1"
      }
    }
  ],
  "gameplay_events": [
    "test_gameplay_event_1",
    "test_gameplay_event_2"
  ]
}

equinoxdialogue's People

Contributors

nlaha avatar

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.