Making a Visual Novel in Game Maker

My first three games (Serafina’s Saga, Quantum Conscience, and Serafina’s Crown) were all made with Ren’Py. Ren’Py is fantastic software that is free, easy to use, and reasonably versatile. When I first started making Serafina’s Saga, I knew very little coding outside of HTML, and I was very grateful for a program that required no programming knowledge to get started. After going through the typical tutorials and regularly checking the forums for help, I was well on my way to completing my project.

With Quantum Conscience, I wanted to make something more unique, and to do that I needed to push beyond the standard VN boundaries into the land of programming. I was lucky enough to get some programming assistance from “CheeryMoya” & FunnyGuts” (, who already had a basic infoscreen system I could use, and they gave me some helpful tips on adding a system for reading thoughts. At this point I still had no idea what I was doing with the code, but I was able to get a system up and working. Gradually, as I began to customize and tweak the code, I learned what each line or function meant and what purpose it served. Eventually I was able to add a little code of my own.

Around the time I finished Quantum Conscience, I knew enough coding to be dangerous, but I still couldn’t program something new on my own; I just knew how to mess with other people’s code. So I decided to take programming seriously. Inspired by a local group of women called Coder Girl, I signed up for Harvard’s free CS50 course online. I made it a little over halfway through the course, and although I never finished, I learned enough about programming to jump-start Serafina’s Crown and add the mini-game debate system completely on my own.

By the time I finished Serafina’s Crown, I felt confident enough to call myself a programmer. I also wanted to keep pushing into new boundaries and add more “gamifying” elements to future visual novels. Specifically, I wanted to add a simple world for the player to roam and explore in between cutscenes. Although I could add these elements to Ren’Py with a lot of programming, I wondered if it was time for me to try a new engine. I considered RPGMaker, but it doesn’t yet have enough graphics or porting options for my tastes. So I turned to Game Maker.

My first few attempts to start a visual novel in Game Maker were extremely difficult and overwhelming. It took a ridiculously long time for me to get the tiniest parts of a text system working correctly. Then I found the Edge VN Engine by ThinkBoxly. It was well worth the price to get some solid code to start building a visual novel in Game Maker.

The Edge VN system was a sleek and solid platform from which to start building. But I still needed to build a lot; I remained a long way from the comfortable environment of Ren’Py to which I’d grown accustomed. I needed to add an in-game choice menu, a character costume layer system, character expression changes, branching dialogue systems, and a basic menu system altogether … all things that come default with Ren’Py. Fortunately, the EdgeVN creator, Luke Chasteen, was very helpful to me in my endeavors, and has since continued to add related features to his Edge VN engine.

Altogether, the transition from Ren’Py to Game Maker has not been an easy one. It has taken me several months to set up a coding environment from which I can comfortably write and expect to run smoothly like Ren’Py. Personally, I wanted to grow as a programmer, so I accepted the challenge along with the time sacrifice required. I continue to code other aspects of the game beyond the visual novel scenes, which in my case involves adding a 2D side-scrolling world with parallax layers, animations, and an inventory system. But now that I finally have a foundation with which to build my next visual novel, I am excited about all the possibilities ahead. The flexibility of Game Maker will allow me to add almost any gaming element to my visual novels that I desire.