Essential features for EVEN: a new visual novel engine

For discussion and support of other visual novel engines.
Message
Author
User avatar
2dt
Regular
Posts: 110
Joined: Wed Jan 08, 2014 12:43 am
Contact:

Essential features for EVEN: a new visual novel engine

#1 Post by 2dt »

Hello everyone,

For the last 3 months, I've been working on a new visual novel engine: the Embeddable Visual Novel Engine, dubbed EVEN, because it's a lot easier to say that way.

It's a visual novel engine much like Ren'py, the most significant difference is that it's written in JavaScript and uses hardware accelerated WebGL canvas to do it's rendering and animation.

It's called the "Embeddable" Visual Novel Engine because it's very versatile and can be used in many different ways: It can be used within a website (think Flash games), as it's own standalone program, or even within another game (as a cutscene engine for an RPG, for example).

Key features include:
  • Very high performance (thanks to WebGL and JIT-compiled JavaScript)
  • Touch-friendly, usable on ALL platforms, including every major smartphone/tablet (Android, iOS, Windows Phone 8)
  • Embeddable, can be used by itself or within another game.
  • Highly programmable (if you know javascript, you can make virtually any kind of game you want with it)
  • Simple and elegant animation language gives you exact and easy control over sprites and text.
  • Animate multiple Progressions simultaneously; a progression is a linear timeline of Pages. This is EVEN's most powerful feature, as it in effect allows you to animate multiple scenes at the same time. These scenes don't have to be just story animation. A scene can be defined as a menu, a dialogue page, a weapons inventory, etc...
  • Progressions have a feature called velocity: you can control how fast time moves in the progression. So if you want to fast forward 2x, 4x, 5.85x, 100x, whatever you want. You can also do negative velocity, to have the scene animated in reverse. Fast-forward, slow motion, reverse slow motion, rewind, do whatever you want.
  • All sprites and text can have their own touch and mouse event handlers, so you can make your scenes interactive.
  • Sprite and text image filters, including: tinting, multiply, screen, overlay darken, lighten, color-dodge, color-burn, hard-light, soft-light, difference, exclusion, hue, saturation, color, luminosity.
  • All text letters can have individual animations applied to them.
  • Simple layer hierarchy, where you can group sprites and texts into individual layers, and each sprite/text can act as a layer container for other sprites/texts. This means any animation applied to a layer, will be applied to all its children as well.
  • Infinite looping animations that can be applied to individual sprite/text properties during a page animation.
  • And much more...
In developing this engine, I used Dischan's Dysfunctional Systems Episode 1: Learning to Manage Chaos as my model reference, so anything that was done in that game, this engine can do with ease.

This engine is about 80% done, I will open source it (and maybe crowdfund some money to host a website and fund this as an ongoing project) this Spring.

I will enter NaNoRenO this upcoming month and use my entry as a showcase demo for this engine. So please look forward to it.

Finally, for those who've stuck with me and are interested, what I need from you guys as fellow visual novel authors, is: what features do you want to see in this engine? What do you regard as "essential" that any visual novel engine worth its salt should be able to do? Be as specific as you want, such as volume settings, save page styles, etc... What deficiencies with Ren'py or other visual novel engines would you like to see addressed? If this were to blossom into an ongoing community project, how would you like it handled? Go ahead and put on your blue-sky caps, I'm all ears.

User avatar
Chocopyro
Regular
Posts: 115
Joined: Fri Feb 21, 2014 11:38 pm
Projects: Keepsake: Orison of the falling leaves
Organization: Patchwork Novels
Location: A cornfield in 'merica.
Contact:

Re: Essential features for EVEN: a new visual novel engine

#2 Post by Chocopyro »

Lets see...

Oh! Its not essential, but a graphic interface like this is really super helpful. I'm the kind of writer who likes to tangibly see something rendered as I write it rather than click "Play Demo" over and over again. It helps me get a feel for what I'm writing, and save a hell of a lot of time.
Image

User avatar
DaFool
Lemma-Class Veteran
Posts: 4171
Joined: Tue Aug 01, 2006 12:39 pm
Contact:

Re: Essential features for EVEN: a new visual novel engine

#3 Post by DaFool »

Ah, can you make it work within Construct2? Would be nice to have hybrid VN and platformer. Ren'Py's main weakness are support for action game and iOS (even just as browser access)

User avatar
2dt
Regular
Posts: 110
Joined: Wed Jan 08, 2014 12:43 am
Contact:

Re: Essential features for EVEN: a new visual novel engine

#4 Post by 2dt »

Chocopyro wrote:Lets see...

Oh! Its not essential, but a graphic interface like this is really super helpful. I'm the kind of writer who likes to tangibly see something rendered as I write it rather than click "Play Demo" over and over again. It helps me get a feel for what I'm writing, and save a hell of a lot of time.
I feel you. This is something I'd like to do for the long term (something like PowerPoint, but for EVEN), but seeing as how this is the first version, I may make many significant changes over the next few months that would make a GUI based editor very difficult to maintain. I will state however that when it comes to editing in real time, refreshing the game in EVEN is virtually instantaneous, a lot quicker than with Ren'py. So if you put the code editor on one side of the screen, and your EVEN app on the other, it would just be a matter of pressing F5 to update changes.
DaFool wrote:Ah, can you make it work within Construct2? Would be nice to have hybrid VN and platformer. Ren'Py's main weakness are support for action game and iOS (even just as browser access)
Theoretically they should work perfectly fine together, since Construct2 games and EVEN are based on the same software stack. However, getting Construct2 to support EVEN depends on how much flexibility they give you in coding by hand, or how robust their plugin system is. I'll do some research and get back to you on that.

User avatar
Kitten the Cat
Regular
Posts: 60
Joined: Sun Jul 31, 2011 12:29 pm
Projects: The Onigami House [NaNo12], Beyond the Veil [NaNo14]
Organization: Riceball Games
Location: Sydney, Australia
Contact:

Re: Essential features for EVEN: a new visual novel engine

#5 Post by Kitten the Cat »

Sounds great! Looking forward to your new engine.

What I really like about Ren'Py is how the script file reads easily, like a movie script. I want to try other game engines but I'm too spoiled by Ren'Py.

A great debugger is also essential for me, saves a lot of headaches and print statements.
Currently working on Beyond the Veil, our NaNoRenO '14 entry.
Image

User avatar
Kato
Miko-Class Veteran
Posts: 649
Joined: Tue Jan 15, 2013 4:45 am
Projects: Memories of Summer Winds
Organization: Blue Sphere Group
Location: Perth, Western Australia
Contact:

Re: Essential features for EVEN: a new visual novel engine

#6 Post by Kato »

Sounds pretty cool! I'm looking forward to your nano entry to see this in action!
Image Image
Kato, Producer & Programmer for Blue Sphere Group. Current Projects: Memories of Summer Winds

User avatar
2dt
Regular
Posts: 110
Joined: Wed Jan 08, 2014 12:43 am
Contact:

Re: Essential features for EVEN: a new visual novel engine

#7 Post by 2dt »

Kitten the Cat wrote:Sounds great! Looking forward to your new engine.

What I really like about Ren'Py is how the script file reads easily, like a movie script. I want to try other game engines but I'm too spoiled by Ren'Py.

A great debugger is also essential for me, saves a lot of headaches and print statements.
Thank you for your input. It's funny you mention "like a movie script" because I'm doing something like that.

There are going to be two ways to compose scenes in EVEN. One is through pure JavaScript, designed for competent programmers who want fine-grained control over game logic, or who want to embed EVEN into their own game projects.

Another is through a simple human readable movie-script like syntax that I'm currently working on. I'm drawing inspiration from http://fountain.io/. It'll literally be like writing a screenplay, hopefully to the point where you'll spend very little time debugging, because you're basically writing a story rather than instructing the computer. And yes, it will have a solid debugger to go along with it.
Kato wrote:Sounds pretty cool! I'm looking forward to your nano entry to see this in action!
Thanks. I'm kinda nervous because it's my first visual novel, my first public display of my art, and the world's first taste of what EVEN can do. I've got a lot riding on it.

Asceai
Eileen-Class Veteran
Posts: 1258
Joined: Fri Sep 21, 2007 7:13 am
Projects: a battle engine
Contact:

Re: Essential features for EVEN: a new visual novel engine

#8 Post by Asceai »

Back in 2009 I tried to do a NaNo entry in which I created both the VN and the VN engine from scratch in a month. It didn't work out =P

(I'm not really saying anything by this; I know you've been developing your engine for some time. It's just a random anecdote)

User avatar
sake-bento
Eileen-Class Veteran
Posts: 1909
Joined: Sat Jan 26, 2008 5:58 pm
Completed: http://sakevisual.com/games.html
Projects: Every Sunrise, Shinsei
Organization: sakevisual
Tumblr: sakevisual
Deviantart: sakevisual
itch: sakevisual
Contact:

Re: Essential features for EVEN: a new visual novel engine

#9 Post by sake-bento »

It's already been mentioned and addressed, but in the interest of adding another vote to the "would like to see" pile, the thing I see newcomers looking for most frequently is some sort of GUI or visual method of input. From my own personal experience, it seems learning scripting (or not being able to visualize the game) is the most-oft mentioned barrier to entry.

User avatar
2dt
Regular
Posts: 110
Joined: Wed Jan 08, 2014 12:43 am
Contact:

Re: Essential features for EVEN: a new visual novel engine

#10 Post by 2dt »

Asceai wrote:Back in 2009 I tried to do a NaNo entry in which I created both the VN and the VN engine from scratch in a month. It didn't work out =P

(I'm not really saying anything by this; I know you've been developing your engine for some time. It's just a random anecdote)
Lol I get ya. I've had my fair share of overly ambitious projects. No guarantees that I'll succeed this time either, but I'm very confident I will.
sake-bento wrote:It's already been mentioned and addressed, but in the interest of adding another vote to the "would like to see" pile, the thing I see newcomers looking for most frequently is some sort of GUI or visual method of input. From my own personal experience, it seems learning scripting (or not being able to visualize the game) is the most-oft mentioned barrier to entry.
Very interesting. A few questions for you (and to others interested in a GUI editor):
  1. What is it about text scripting that's difficult for many users to grasp? Is it the overly precise nature of software programming? The arcane use of math coordinates? The inability to visualize something from plain text? Please explain in as much detail as you can (if of course you can be bothered to lol)
  2. What do users who can't program do if they want to create something? I just assume they try and team up with someone who can.
  3. What would the "ideal" GUI editor look like? My current vision is something like PowerPoint, but I'm all ears.
I ask because I want to understand the fundamental nature of this problem/request before adjusting or making any plans. Maybe the solution can be engineered in a more clever way. I figured since everyone seems to be fine with Ren'py, that a simple human readable scripting language like I mentioned above would suffice. But if two people are asking for it, I imagine A LOT of people would ask for it if they replied to this thread.

User avatar
Deji
Cheer Idol; Not Great at Secret Identities
Posts: 1592
Joined: Sat Oct 20, 2007 7:38 pm
Projects: http://bit.ly/2lieZsA
Organization: Sakevisual, Apple Cider, Mystery Parfait
Tumblr: DejiNyucu
Deviantart: DejiNyucu
Location: Chile
Contact:

Re: Essential features for EVEN: a new visual novel engine

#11 Post by Deji »

Expanding in the WYSIWYG idea...

Artists like me are visually oriented people, we think in images, not in code, like programmers or words like writers, so it's hard for us to visualise the, well... *visual* part of it all when coding, so we have to test things over and over and over and over to *see* if they *look* the way we want them to look.
For us, how it looks it often more important than how it works.

A few years ago I sketch-mocked up a WYSIWYG GUI that I'd personally (as an artist) would like, and approached some people to get it done, but nobody had the time and I certainly didn't have the knowledge to do it myself ^^;

Here are some screenshots of my idea, in case you find them useful http://deji.ishtera.net/RenPyGUI/
Image
Tumblr | Twitter
Forever busy :')
When drawing something, anything, USE REFERENCES!! Use your Google-fu!
Don't trust your memory, and don't blindly trust what others teach you either.
Research, observation, analysis, experimentation and practice are the key! (:

User avatar
magicalfortress
Newbie
Posts: 2
Joined: Wed Feb 26, 2014 10:08 am
Projects: SpicyCarrotEngine
Contact:

Re: Essential features for EVEN: a new visual novel engine

#12 Post by magicalfortress »

That's pretty awesome. I also wrote a VN engine in javascript, but it's all DOM based. Pretty cool that someone else is working on similar technologies!

User avatar
2dt
Regular
Posts: 110
Joined: Wed Jan 08, 2014 12:43 am
Contact:

Re: Essential features for EVEN: a new visual novel engine

#13 Post by 2dt »

Deji wrote:Expanding in the WYSIWYG idea...

Artists like me are visually oriented people, we think in images, not in code, like programmers or words like writers, so it's hard for us to visualise the, well... *visual* part of it all when coding, so we have to test things over and over and over and over to *see* if they *look* the way we want them to look.
For us, how it looks it often more important than how it works.

A few years ago I sketch-mocked up a WYSIWYG GUI that I'd personally (as an artist) would like, and approached some people to get it done, but nobody had the time and I certainly didn't have the knowledge to do it myself ^^;

Here are some screenshots of my idea, in case you find them useful http://deji.ishtera.net/RenPyGUI/
Thanks a ton for the screenshots. Admittedly a lot of them might not be very useful since EVEN and Ren'py work in fundamentally different ways. Still, I might borrow something interesting.

Another question: for visual people like you, is the frustration of scripting coming more from the coding aspect? Or from the fact that you have to keep "reloading" to see changes? Chocopyro expressed a similar notion above.

I'm immensely grateful for your guys' input. the more I read this thread, the more patterns of behavior I'm starting to see.
magicalfortress wrote:That's pretty awesome. I also wrote a VN engine in javascript, but it's all DOM based. Pretty cool that someone else is working on similar technologies!
Cool. I briefly considered DOM, but it would've been too slow and imprecise for I need it to. If you have a demo of it lying around I'd love to see what you came up with.

User avatar
Applegate
Miko-Class Veteran
Posts: 807
Joined: Sat May 01, 2010 12:43 pm
Contact:

Re: Essential features for EVEN: a new visual novel engine

#14 Post by Applegate »

2dt wrote:Very interesting. A few questions for you (and to others interested in a GUI editor):
  1. What is it about text scripting that's difficult for many users to grasp? Is it the overly precise nature of software programming? The arcane use of math coordinates? The inability to visualize something from plain text? Please explain in as much detail as you can (if of course you can be bothered to lol)
  2. What do users who can't program do if they want to create something? I just assume they try and team up with someone who can.
  3. What would the "ideal" GUI editor look like? My current vision is something like PowerPoint, but I'm all ears.
I ask because I want to understand the fundamental nature of this problem/request before adjusting or making any plans. Maybe the solution can be engineered in a more clever way. I figured since everyone seems to be fine with Ren'py, that a simple human readable scripting language like I mentioned above would suffice. But if two people are asking for it, I imagine A LOT of people would ask for it if they replied to this thread.
  1. I think one of the issues here is that for some people, the moment they hear "program", they think of arcane magic skills that can only be mastered by these with a wellspring of power and innate insights and talent. I've tried to explain to some friends how to use Ren'Py, but "show character at left" was deemed complex and "remembering all the commands is a hassle, can't you program for me?"

    No matter how simple you make it, I think there'll always be a "barrier of entry" the moment people hear "programming required". That's at least one thing that makes text scripting difficult to grasp─it's too ingrained that scripting is incredibly difficult. And some parts are! But a simple Ren'Py game is easy.
  2. They look for What You See Is What You Get editors, or editors that simplify the process enough. For example, RPGMaker allows you to make RPGs. To edit a monster's stats, you open the monster tab, navigate to the statblock, and just adjust values in the designated boxes. That's super simple. Gamemaker, on the other hand, requires more code diving and is considered harder to do, even though it's still the process of finding the right location and adjusting that value.

    What they also tend to do is for "ready made" scripts where they can just adjust one or two values with a GUI.
  3. Nooo idea

User avatar
2dt
Regular
Posts: 110
Joined: Wed Jan 08, 2014 12:43 am
Contact:

Re: Essential features for EVEN: a new visual novel engine

#15 Post by 2dt »

Applegate wrote:
2dt wrote:Very interesting. A few questions for you (and to others interested in a GUI editor):
  1. What is it about text scripting that's difficult for many users to grasp? Is it the overly precise nature of software programming? The arcane use of math coordinates? The inability to visualize something from plain text? Please explain in as much detail as you can (if of course you can be bothered to lol)
  2. What do users who can't program do if they want to create something? I just assume they try and team up with someone who can.
  3. What would the "ideal" GUI editor look like? My current vision is something like PowerPoint, but I'm all ears.
I ask because I want to understand the fundamental nature of this problem/request before adjusting or making any plans. Maybe the solution can be engineered in a more clever way. I figured since everyone seems to be fine with Ren'py, that a simple human readable scripting language like I mentioned above would suffice. But if two people are asking for it, I imagine A LOT of people would ask for it if they replied to this thread.
  1. I think one of the issues here is that for some people, the moment they hear "program", they think of arcane magic skills that can only be mastered by these with a wellspring of power and innate insights and talent. I've tried to explain to some friends how to use Ren'Py, but "show character at left" was deemed complex and "remembering all the commands is a hassle, can't you program for me?"

    No matter how simple you make it, I think there'll always be a "barrier of entry" the moment people hear "programming required". That's at least one thing that makes text scripting difficult to grasp─it's too ingrained that scripting is incredibly difficult. And some parts are! But a simple Ren'Py game is easy.
  2. They look for What You See Is What You Get editors, or editors that simplify the process enough. For example, RPGMaker allows you to make RPGs. To edit a monster's stats, you open the monster tab, navigate to the statblock, and just adjust values in the designated boxes. That's super simple. Gamemaker, on the other hand, requires more code diving and is considered harder to do, even though it's still the process of finding the right location and adjusting that value.

    What they also tend to do is for "ready made" scripts where they can just adjust one or two values with a GUI.
  3. Nooo idea
Thanks for your input. It sounds to me based on your info that text scripting is much more a psychological barrier than technical one. So my question to you is how do you think your friends would react, hypothetically speaking of course, if we called it something other than programming? Like screenwriting? Poetic game tailoring (LOL)? What if we showed them a real-time demo of how easy it would be to "program" a visual novel?

Post Reply

Who is online

Users browsing this forum: No registered users