Java-Gaming.org    
Featured games (91)
games approved by the League of Dukes
Games in Showcase (580)
games submitted by our members
Games in WIP (500)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  Pezna Story Engine  (Read 1218 times)
0 Members and 1 Guest are viewing this topic.
Offline vbrain
« Posted 2014-01-31 01:12:47 »

Hello everyone, this is the first project I'm posting on this forum.

My partner and I have been developing a story creator/engine to ease development and implementation of a story for and in games.




As you can see from the screenshot above, you are able to create a story in the form of a flowchart.
When I was working on a game (which is currently on hold), I searched for a way to easily create a story and use it within my game, but I could not find any such software. As a result, Pezna Story Engine was born.

With this, you don't need to waste time hard-coding your story into your game, you can easily use the flowchart system to write out your story. You are capable of having variables within the game that you can utilize with condition statements to branch into another scene or line.

The engine itself is already in a stage where it can be shipped off, but there are many features that we would like to add to it first. Although the engine is "complete", in a sense, the desktop software (GUI that is displayed in the screenshot) that will be used to create the story is incomplete. That is the only thing preventing a release of the beta demo version.

Current features:
-Conditions
-Goto statements
-Organized into scenes
-Choices for input from user
--Choices may direct the flow of the story, alter a variable's value, or both.
-Libgdx runtime complete
-When displaying Typewriter effect with variable speed

Many more features are planned for it, but if you can give me some feedback on what you would like to see in it, that's be great.

Added some new features:
  • New command: alter variable values
  • Refined story syntax: choices can now conditions attached to them, determining whether they are shown or not
  • Variable values can be used in text by enclosing the variable names in percent signs. Eg: %var1%
Offline opiop65

JGO Kernel


Medals: 124
Projects: 7
Exp: 3 years


Team Alluminum


« Reply #1 - Posted 2014-01-31 01:17:17 »

Interesting! But how difficult is it to implement the actual storyboard into a game? Do you provide a way to easily insert speech? Or does the programmer have to create a parser to use the data?

Offline vbrain
« Reply #2 - Posted 2014-01-31 01:37:33 »

Interesting! But how difficult is it to implement the actual storyboard into a game? Do you provide a way to easily insert speech? Or does the programmer have to create a parser to use the data?

It's very easy. I've already created the library that reads the data and does everything for you.

You simply tell it what the filename of the story is and it reads and parses everything. The entire story can be run with only next() and nextLine().
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline vbrain
« Reply #3 - Posted 2014-02-03 12:54:41 »

I've added another picture to the original post. I felt like the first image didn't do it justice.
Currently, the boxes can't be resized, but I think that's something that will be included when it's released.
Zooming may be a possibility in the future, but it will be a struggle calculating the correct font size to use when zoomed.
Right now, my concern is simply making sure everything works and is as useful to everyone's needs as possible.
Currently, the runtime that we have is very flexible, and you can jump to any scene or line that you wish.
Offline Varkas
« Reply #4 - Posted 2014-02-03 16:41:09 »

I've once been working on something similar: http://sourceforge.net/projects/situflow


besides having dialog trees bases solely on the choices, the flow engine kept two variables, which also did influence the choice of a the next situation if a flow.

E.g. if you made a dialog partner angry in an earlier step of the dialog, the flow could chose a different result even for the same answer, than if you have established a friendly relationship earlier.

It's not 100% bulletproof, but it worked quite nicely.

if (error) throw new Brick(); // Blog (german): http://gedankenweber.wordpress.com
Offline vbrain
« Reply #5 - Posted 2014-02-03 22:13:29 »

...
It's not 100% bulletproof, but it worked quite nicely.

Just downloaded that. It was very confusing and had no idea what I was doing.
Are you still working on it or have you stopped?
Offline Varkas
« Reply #6 - Posted 2014-02-04 11:02:11 »

I've stopped working on it several years ago. On one hand it seemed good enough for my needs, on the other hand I relaized how bad I am at writing such dialog or situation flows, and lost interest once the basics were implemented. Also, most of my projects are just proof of concept works. Once I see the idea is working, I lose interest.

It's not very self-explanatory, indeed. The initial situation is created by program start. If you click anywhere, you get a conditions box for followup situation. If you click an empty space again, a new situation box appears.

To open a new branch from a situation, click the title bar, and then some empty space. You'll get a new condition box, from which you can go into a new branch.

A situation comes with 5 possible responses, and each response can alter two condition variables. The conditions boxes allow to enter conditions for this branch - the response number to triger this branch (-1 to allow all) and bounds for the two condition variables.

Edit:

Maybe, to get a better idea, you can downloa the janitor orc example from here:

http://sourceforge.net/projects/situflow/files/Situflow%200.18/

Then start the application, chose "Import XML" from the file menu, and load the example. To try it, select "Run Simulator" from the edit menu. A new window will open where you can test the situation flow. Some branches are short, some are a bit deeper.

if (error) throw new Brick(); // Blog (german): http://gedankenweber.wordpress.com
Offline vbrain
« Reply #7 - Posted 2014-02-04 17:19:07 »

I've stopped working on it several years ago.
...

I just ran the simulation. Nice.
For Pezna Story Engine there is currently only JSON export and import. Although it wouldn't be too hard to include XML.
Offline vbrain
« Reply #8 - Posted 2014-02-10 00:35:28 »

Added some new features:
  • New command: alter variable values
  • Refined story syntax: choices can now conditions attached to them, determining whether they are shown or not
  • Variable values can be used in text by enclosing the variable names in percent signs. Eg: %var1%
Pages: [1]
  ignore  |  Print  
 
 

 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

xsi3rr4x (48 views)
2014-04-15 18:08:23

BurntPizza (44 views)
2014-04-15 03:46:01

UprightPath (60 views)
2014-04-14 17:39:50

UprightPath (42 views)
2014-04-14 17:35:47

Porlus (58 views)
2014-04-14 15:48:38

tom_mai78101 (81 views)
2014-04-10 04:04:31

BurntPizza (140 views)
2014-04-08 23:06:04

tom_mai78101 (240 views)
2014-04-05 13:34:39

trollwarrior1 (200 views)
2014-04-04 12:06:45

CJLetsGame (207 views)
2014-04-01 02:16:10
List of Learning Resources
by SHC
2014-04-18 03:17:39

List of Learning Resources
by Longarmx
2014-04-08 03:14:44

Good Examples
by matheus23
2014-04-05 13:51:37

Good Examples
by Grunnt
2014-04-03 15:48:46

Good Examples
by Grunnt
2014-04-03 15:48:37

Good Examples
by matheus23
2014-04-01 18:40:51

Good Examples
by matheus23
2014-04-01 18:40:34

Anonymous/Local/Inner class gotchas
by Roquen
2014-03-11 15:22:30
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!