New game engine

Polip1339

Newbie
Jul 30, 2017
44
30
Hi,
Not sure if im posting in the right thread but here goes :
Im thinking about writing a game engine similar to qsp. My maid problem with qsp is that is difficult to write in for non programmers and difficult to write mods.

I was thinking about creating an engine with Java FX and content loaded through xml.
e.g.
<location>
<description>
<dialog option1>
<dialog option2>
...
</location>
etc.
Characters could be added in the same way. Stat changes as a html field.
This way anyone could write mods using HTML, which should be easy enough even for non programmers.

The engine would give basic funcionality : scene description, picture, dialog options, character stats.

This is a raw idea i had while on my way to work today, wanted to brainstorm it a little before i started any work. Is there anything similar im not aware of? Do you see any glaring problems i skipped?
 

Papa Ernie

Squirrel!?
Uploader
Donor
Dec 4, 2016
12,327
47,121
Hi,
Not sure if im posting in the right thread but here goes :
Im thinking about writing a game engine similar to qsp. My maid problem with qsp is that is difficult to write in for non programmers and difficult to write mods.

I was thinking about creating an engine with Java FX and content loaded through xml.
e.g.
<location>
<description>
<dialog option1>
<dialog option2>
...
</location>
etc.
Characters could be added in the same way. Stat changes as a html field.
This way anyone could write mods using HTML, which should be easy enough even for non programmers.

The engine would give basic funcionality : scene description, picture, dialog options, character stats.

This is a raw idea i had while on my way to work today, wanted to brainstorm it a little before i started any work. Is there anything similar im not aware of? Do you see any glaring problems i skipped?
I think you will more likely find help if you post this in the Development --> Programming & Development forum.
 

Cyan

Member
Jul 25, 2017
126
551
Hi,
Not sure if im posting in the right thread but here goes :
Im thinking about writing a game engine similar to qsp. My maid problem with qsp is that is difficult to write in for non programmers and difficult to write mods.

I was thinking about creating an engine with Java FX and content loaded through xml.
e.g.
<location>
<description>
<dialog option1>
<dialog option2>
...
</location>
etc.
Characters could be added in the same way. Stat changes as a html field.
This way anyone could write mods using HTML, which should be easy enough even for non programmers.

The engine would give basic funcionality : scene description, picture, dialog options, character stats.

This is a raw idea i had while on my way to work today, wanted to brainstorm it a little before i started any work. Is there anything similar im not aware of? Do you see any glaring problems i skipped?
Honestly, I can't really imagine why you or anyone else would want to use QSP.

I suppose if you're only fluent in Russian (since the vast majority of the documentation is in Russian) then it would be less of an issue. Especially since many documented programming languages aren't translated well. Even aside from the language barriers, QSP is an awful engine in my opinion - and I'm well versed with over a dozen different programming languages.

Java/JavaFX gets a lot of unwarranted hate in my opinion - especially when it comes to making things as simple as a VN. Whether or not you use xml, html or simple plaintext to read values/variables won't really matter to most languages, especially Java.

So I suppose that begs a few questions.

What are you trying to create - a simple VN? Something more complicated?
What are your issues with other VNs engines, if so?
What type of 'compatibilities' are you looking for? (A browser game vs a standalone program, windows/mac/linux, etc)
Are the 'mods' you mentioned a determining factor in your problems with current engines?

You mentioned you're not terribly versed in programming skills - is there a reason you wouldn't want to use Ren'py, for example?
 

Polip1339

Newbie
Jul 30, 2017
44
30
Ok seems i need to provide some background.
I played a lot of Girl Life ( think life/dating/simulator) and the engines shortcomings become apparent when i started being active in the community.
Even though the community works hard new content has to go through the same people on the forum to be accepted and implemented since qsp's code is too hard and in this case complex for just anyone to edit. It just takes a lot of time and you have just one version of the game.

When i said i want something similar to QSP i meant functionality not the code itself. I agree that qsp is a mess and im not fluent in russian :D.

By mods i mean ill provide the base framework of a game, and then anyone in the community could provide an XML file that would add/edit locations and characters etc. . I was thinking XML since it seems to be a good compromise between structure and ease of implementation for non-programmers :)

What are you trying to create - a simple VN? Something more complicated?
On the functionality level i was thinking something similar to qsp so a bit more than a VN. Not only text and choices but an open world and quest chains etc.
What are your issues with other VNs engines, if so?
Dont really know any that could implement mods in the form i described above. This is one of the reasons i created this topic. There might be something already there and i might just not be aware of it.
What type of 'compatibilities' are you looking for? (A browser game vs a standalone program, windows/mac/linux, etc)
Standalone, windows but with a JVM you should be able to run it on mac and linux.
Are the 'mods' you mentioned a determining factor in your problems with current engines?
Well yes, my goal was to make adding to the game as easy as possible.

You mentioned you're not terribly versed in programming skills - is there a reason you wouldn't want to use Ren'py, for example?
Never mentioned anything of the sort :D I work as a Java dev, i just said that XML would be easy for the community to use. It seemed to me that Ren'py is mostly for VN's
 

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Respected User
Donor
Jun 10, 2017
10,105
14,757
Do you see any glaring problems i skipped?
Yes, I see a major one: What you describe is not a game engine but a game template.
Not that it mater, it's not a bad things, just that it's not the same thing. I don't try to discourage you, if you want to do it, do it. But understand that the result will not be what you said you want to do.

Later, you say that, for you, Ren'py is mostly for VN's, so what your game engine will be for ?
With Ren'py you have a whole script language to describe your game, what it do, how, when and why it must do it. Plus you have the support of Python, so a whole script language independent from the engine itself, which let you tweak and extend the engine. You can also have dynamic real time control over the rendering. Hey, you even have full access to the engine source code to help you understand how to tweak/extend it.

This while what you plan rely on XML files, so description and not actions. Whatever how far you'll go with your engine/template, creators will always be limited by what you planed.
He want to apply a trapezoidal transform on the picture ? Sorry, there's no tag for this. Honestly I don't know if Ren'py have a statement for this, but there's picture manipulation modules in Python, so you can load the picture and apply the transform. And like you can directly access the rendering engine, you can also display your now transformed picture. It will be hard works for nothing, but it can be done.
He want to add something to the player inventory ? Oops, you haven't yet wrote the tags which will handle the inventory. He will also be stuck with a very heavy format. How do you plan to make him create something like :
Code:
if retVal == "sleep":
  display first part sleep animation
  for i in allPossibleEvents:
    if i.triggeredRightNow:
      play i event
      break
  display second part sleep animation
elif retVal == ...
[...]
PossibleEvent:
   triggeredRightNow:
      if date == x day after the player did this
        and 3 < character Y.timeDoneThis <= 10
        and dayOfWeek == monday
        and character Z.jealousy < 10:
        return True
     return False
It's possible with your full XML path, but seriously, thing about how heavy the XML files will be for a full game, the amount of crossed references you'll need and how many tags the creator will need to know.


By mods i mean ill provide the base framework of a game, and then anyone in the community could provide an XML file that would add/edit locations and characters etc. [...]

What are your issues with other VNs engines, if so?
Dont really know any that could implement mods in the form i described above.
Er... With Ren'py you have full access to every single lines of the source code. You can take the game and change every single line of it ; you can even do it on the fly, there's (hidden) script edition features on the engine. As far as I know, it's also possible with RPGMaker, Flash, KiriKiri, Unity and games using nw.js, not limited to this list. Its possible because for all these game engines there's a way to access the source code, and directly change it or recompile a altered version of it. It's not necessarily easy, but it's possible.

After, it's up to the creator to make his game easily moddable in the way you mean it, so by anyone without real knowledge. Both Ren'py, Unity and Unreal, then Flash and nw.js, (once again not limited to this list) make it possible to use XML file to describe every single character, location and object. So, if the creator want it, he can make his game easily moddable by just adding a new XML file. But, at least for Ren'py, why do his when few knowledge is enough to directly add the character/location/object inside the source code ?

In the end, perhaps that, instead of thinking about creating a new game engine, you should think about how extend the existing ones to achieve what you want.
 

Cyan

Member
Jul 25, 2017
126
551
You mentioned you're not terribly versed in programming skills - is there a reason you wouldn't want to use Ren'py, for example?
Never mentioned anything of the sort :D I work as a Java dev, i just said that XML would be easy for the community to use. It seemed to me that Ren'py is mostly for VN's
I apologize, I misread that.

Why don't you create a custom program for creating mods, in that case? (even if all it does it is spit out an xml file)

Even messing around with xml files is going to put the average non-programming literate person off.

Er... With Ren'py you have full access to every single lines of the source code. You can take the game and change every single line of it ; you can even do it on the fly, there's (hidden) script edition features on the engine. As far as I know, it's also possible with RPGMaker, Flash, KiriKiri, Unity and games using nw.js, not limited to this list. Its possible because for all these game engines there's a way to access the source code, and directly change it or recompile a altered version of it. It's not necessarily easy, but it's possible.
+1

I will say, that I would personally exclude kirikiri from that list. KiriKiri and Nscripter seem to have a similar problem to QSP, in that all of their major documentation isn't in english (again, not a problem if you speak the native language).
 
Aug 6, 2016
202
305
Lol, I too am creating a game engine using javaFX, but I am using JSON with the help of the GSON library to store all the serialized information to create the game world, no need for silly parsers that way, unless you are using JAXB pr something similar to serialize the class files into XML. I plan on creating a GUI to make those JSON files that would be eventually interpeted by the engine. So what I plan to do is make two sets of programs, the engine and the software used to create the game. I would love to collaborate with someone on this if anyone's interested. I aim to create something akin to renpy that can be used to create visual novels but I plan to use it more for rpg type games similar to games that use renpy in that sense, much like "Something Unlimited" or the blade runner parody that was unfortunately put on hold a while back.
 
Last edited: