The project is called VNBJ, which standsfor ‘Visual Novel Builder – Java’. This project utilizes a structured data hierarchy; it separates the files in folders according to their types, compared to Ren’py which puts all of themin one folder. It certainly adds plus points towards the arrangement of the files.
This project, however, come with several flaws that some other engines, although most basic features of a visual novel are already featured and properly work. The feature that has not been properly implemented is the Animation inclusion. Animation is not implemented due to the fact thatmoving the background images, to create an animation effect, for instance shaking likeanearthquakejustoccurred, even when using Thread sleeps, do not seemto take effect in the screen.The user may add Animation, however, as of now; it is not taking any effects.
Another edge that Ren’Py products haveagainst this product is that there is a transition effect when the background changes. Our project did not implement that, since scenes are separated with opening new windows, making it impossible to link up all the cutscenes, including thebranching, in one huge file.
If we compare it with Ren’Py, we have this comparison of features:
It has also been tested thoroughly thatthe compiling progress is very quick. No matter how big the Visual Novel project is, the programwill be able to compile it. I’ve tried putting as many elements as possible (choices and such), and the program compiles it fast. It doesn’t take a second tocompile a single-scene project, thus even big projects will be compiled in a short time, and in the same time, Ren’Py has been tested for a single scene project and takes more than a second to compile. The programwill run fine, quick, and responsive even when they have that many programs, because loading themdoesn’t even take a very long time.
The drawback, however, is that when theuser‘compiles’theproject,theJAVA files produced fromit is yet to be compiled, thus they havetomanuallycompileit with a Java engine (javac command). Using JDK 1.6.0_05, this programcan be compiled with no problem.
Due to many function similarities, code reusability is heavily used here. Several functions, such as the save and load functions, saving scenes and choices, saving the game, and even the GUI designing do reusethe codes fromseveral existing features. In fact, some of the classes are created fromsmall modification of one certain set of codes, the listing and deletion features. This is very apparent in the Compiler class, which is basically reusing many codes to createaJAVAfilethat produces a JAVA file that can be compiled and ran properly.
There were several features that are not featured here to make things simpler, such as the Template system(for Compiling), orthe Drag and Drop method for the scene building. However, due to time constraints,they are yet to be featured. When the project is to be improved further, these features will be included as well, asI believe that it will make things simpler.