Skip to content

jsnee/GoNorth

 
 

Repository files navigation

GoNorth

GoNorth is a web application used for planning the story and world of RPGs or other open world games. GoNorth is cross-plattform ready, provides multilanguage support and is designed as a responsive layout.

It offers modules for:

  • Timeline view to provide a quick overview of changes
  • Planning Chapters as a Node System of Quests
  • Planning Quests as a Node System of Tasks
  • Planning Npcs and their different values
  • Planning dialogs of Npcs as Node System of dialog branches
  • Planning Items and their different values
  • Planning Skills and their different values
  • Exporting of Npcs, Dialogs, Items and skills
  • Wiki component with tight integration into the other modules
  • Map component to position Quest marker, Npcs, Items, Wiki pages and map changes
  • Tracking your implementation status and showing changed values after change to already implemented object
  • Simple Task Tracker

Deployment

Badge

Please refer to the wiki for deployment details and the official documentation on how to host and deploy an ASP.NET Core application.

Brief Overview

Chapter and Quest Planning (Aika)

GoNorth provides a module for planning the different chapters of your game and the branching story. For this it provides a node system which allows you to connect the different quests and their possible outcomes together:

Chapter planning

A similiar node system can be created for the different quests.
Each quest will show the connections to Maps, Wiki pages and other objects to provide a view on the big picture while planning the quest.
More details can be found in the wiki.

Npc, Item and Skill Planning (Kortisto, Styr and Evne)

The web application provides functionality for planning Npcs, Items and Skills with flexible values. You can create templates and then create new Npcs, Items and Skills based on these templates:

Npc planning

Each object will display the different maps in which the Npc or Item is marked, the Wiki Pages in which its mentioned and all other connections. This way the user has a good overview what he or she has to consider when building the character or item.
More details can be found in the wiki for npcs, items and skills.

Dialog Planning (Tale)

Using the dialog planning module a user can create the branching dialogs for the different game characters as a node system:

Dialog planning

GoNorth provides different dialog nodes for player or npc lines, player choices, conditions or actions.
More details can be found in the wiki.

Exporting

GoNorth supports exporting Npcs, Dialogs, Skills and Items to JSON and scripts.

Dialog planning

The scripts can be adjusted using a template system with different placeholders for values, learned skills, inventory and dialogs.
For better localization support strings can be exported as language keys and localizable language files can be exported.
More details can be found in the wiki.

Wiki Component (Kirja)

Kirja is the wiki component of GoNorth. Apart from allowing the user to write wiki pages it also features a tight integration into the other systems:

Wiki

Kirja also allows the users to attach additional planning files.
More details can be found in the wiki.

Map Planning (Karta)

A user can upload a high resolution map image to GoNorth which will then be transformed into an interactive map similiar to Google Maps. On this map a user can mark the position of Quest Markers, Npcs, Items, Wiki Pages and Map Changes:

Map planning

Each marker provides brief informations about the different objects and allow the users to jump of the detail page.
A user can add addtional geometry like rectangles or polygons to a marker to indicate the affected area of the marker. More details can be found in the wiki.

Implementation Status Tracking

GoNorth allows you to mark objects as implemented once they are integrated into your game. If a user changes relevant values of theses objects afterwards GoNorth will reset the implemented flag and show you which values where changed:

Implementation Status Tracking

This way its much easier to keep track of the integration progress and not forget changes.
More details can be found in the wiki.

Task Management

A simple Kanban Board is integrated into GoNorth:

Task Management

More details can be found in the wiki.

Technology

GoNorth is implemented using .Net Core for the backend. Since .Net Core provides cross-plattform support you can host the portal on Windows, Linux and Mac OS.
To store the values GoNorth currently uses a MongoDB System. Since GoNorth uses dependency injection and all database access is done through an interface it is possible to integrate a different database system. More details on this topic can be found in the wiki.
Knockout is used for the frontend together with Bootstrap. The whole frontend is optimized for a responsive layout.

Browser Support

I've tested the web application using Chrome and Firefox. The portal might have problems running under Internet Explorer since this is a hobby, spare time project and I did not want to bother with all the Internet Explorer problems.

Plans for the future

The next steps which I will implement in the future are:

  • Usability improvments
  • I am very open for feature requests and good ideas

License

GoNorth is open source and released under the MIT LICENSE.

Copyright (c) 2018 Steffen Noertershaeuser.

Acknowledgement

GoNorth uses the following libraries:

About

GoNorth is a story and content planning tool for RPGs and other open world games.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 69.3%
  • C# 22.9%
  • CSS 6.6%
  • HTML 1.0%
  • Lua 0.2%
  • Ruby 0.0%