The Engine behind the Moonlight

Written by Kirawat Sahasewiyon

Edited by Edwin McRae

I’m in the middle of making the third prototype visual novel framework this week, to find the fastest and most efficient way to complete things. With the first prototype done a while back, I started making a whole prototype framework from scratch. I find that each time I do that the code is tidier and I find a better way to do things based off the previous prototype.


I decided to use Construct 2 after trying out many of the visual novel engines out there. Ren’py came close. I could actually have the visual novel running in an hour with no prior knowledge on how to use the engine. However, due to my knowledge limitation with Python, it slowed me down when I needed to add extra features on top of the existing engine. With schedule already set for the Moonlight project, I chose to use something I was already familiar with, while still having enough flexibility for me to add whatever I needed to it. That is Construct 2.


As Construct 2 is a general game engine, that means I have to actually build the visual novel framework right from scratch. Even though Construct 2 is advertised as ‘no-coding is required’ to make something out of it, to my point of view it is still coding, just mostly with the mouse rather than typing code using the keyboard. Understanding of basic programming is still recommended to make the most out of this engine.


From the start, I wanted this visual novel to be more than just static image on screen. So what I called ‘Virtual Camera’ is added to create the movement in the scene with pan, zoom, and rotate. With the use of parallax, this really adds depth to the scene, and makes the CG events feel dynamic, which is rather important in The Falconers: Moonlight which has quite a lot of action in the story.


Here is a video footage from the second prototype with placeholder images, showing the camera use in the scene.