Software developers are notorious for underestimating how much time their projects will take to complete. It’s not borne of ignorance or maliciousness, but rather optimism: one always thinks that everything will go as well as it possibly could. Reality has different ideas.
My initial estimate for completing my first visual novel was an optimistic six months. I’m now thoroughly stuck into development, and my revised estimate is about double that figure, although if I’m in line with estimates made anywhere else by anyone else ever, that figure will probably end up tripling.
Nevertheless, I’m really enjoying the development process. I started (as writers might) with the character outlines and then the script, but I found that keeping track of all the branching paths for the dialog in Scrivener was awkward and looked sort of like pseudocode. So I saved a step and moved into writing the game code itself, in a text editor, using the Ren’Py engine.
As I was essentially writing the game itself at that point, I needed art assets, and I was writing faster than I could create them. So I whipped up some really rough backgrounds and character sketches in Photoshop and used them as placeholders. They look terrible, but they get the job done. At the same time, I started in on some of the 3D assets using Blender, as you can see from this first look at the Furious space carrier, the seat of all the action in the game.
There are eight main characters (not including yourself and the Furious’ Captain) in the game, and six primary locations on the Furious. I’ve outlined the main arc of the plot, and it features eight flight missions with an “intermission” between each one where the player does most of the interaction with the characters. In theory, this should lead to a fairly simple game, but the number of interactions and branching paths can quickly get out of control.
To avoid getting into infinite branches, the primary plot elements are fixed. The main thing the player has control over are dialog options with the various pilots in between missions. Depending on what options the player chooses, pilots will gain or lose points in various internal characteristics, like affection (towards the player), confidence, or skill. These variables will affect the outcomes of future missions.
I’m trying not to make the dialog choices black and white, “you are great/you suck” options. My primary inspiration are the Telltale game series, like Game of Thrones, where you are often presented with two options that both seem bad in different ways. The hard part is making sure that these decisions affect the outcome of the game in a meaningful way. A recent game that does this really well is Dontnod’s Life is Strange, where the player can make significant changes to the plot by paying attention to small details in the environment and dialogue.
For me, writing this game is a huge learning experience, and I’m bound to make some mistakes along the way. Fortunately, my fears about doing a bad job are outweighed by the sheer fun of actually doing it. It’s just about the optimal balance for me of writing, storytelling, programming and artistic design. So stay tuned!