NaNoReno Weeks 2 and 3

I’ve now finished the first draft of the game (which now has a name!), including all art, sound and UI and am now in the process of proofreading and redrafting the script, fixing bugs and if I have time polishing art and audio.


Progress and Cutting Features

In order to get here I significantly cut what I wanted to do with the second act.

Originally, it was going to have a deductive reasoning section where you figured out the riddle in multiple stages, alongside an emotional conversation about the origin and nature of the dreams to potentially open up the second ending. I cut the deductive reasoning section as it involved the most design work and potentially more artwork and kept the emotional section.

While detective kind of puzzles are totally my jam, it seemed the most logical thing to cut as it only fed into a potential death ending. If I somehow have more time at the end of the jam I might resurrect it.



I did most of the last two week work on the Saturdays, as we’ve been really busy with the house. The situation right now has meant we had to try and get everything up and running in our new house as fast as possible, since we’re stuck here. The general anxiety surrounding corona has really not helped my productivity.

This did help me figure out that when all assets have been sourced it takes me about an hour to write a single scene. With each act having around five scenes, it means I’m not too bad for time if I can find a a free weekend afternoon or manage an hour before work each weekday.


Asset Naming Conventions

One thing I noticed that would help speed up/clarify the writing process is better naming conventions for character sprites. I used descriptive names in a common format like I would at work, but I realised that what I needed was not a description of the character and their expression, but for the name to be the exact emotion the character is displaying, so I can easily drop it in while writing. “Elieen_Sad” is actually much more useful than “Character_Elieen_1024_NormalEyes_PoutMouth”. The second name is a bit of an exaggeration, but its not far off names in most places I’ve worked, where we have so many assets that we need to be that precise.

I seem to be throwing all conventions out the window with this project!


Character Sprites

On the topic of sprites and expressions, i seem to have settled on an expression change every two lines being about the correct amount for making things feel alive, while not being too distracting.


UI Changes

While I’ve not done anything major with the UI, I thought it was worth noting some of the lines to change for text, as most of the documentation is outdated and styles are split between options, gui and screens .rpy, making them not always easy to find.

Main Menu

Main Menu Overlay Image = line 392 in Screens.rpy

Main Menu Background Image = line 88 in gui.rpy

Main Menu Font Color = line 29 in gui.rpy

Main Menu Hover Color = line 36 in guy,rpy

Main Menu Music = line 63 in options.rpy

Choices and Dialog

Choice Menu Text Color = line 212 in gui.rpy

Dialog Text Color = line 51 in gui.rpy



NaNoReno Week 1

I’m taking part in NaNoReno, a visual novel game jam running through March, inspired by national novel writing month. The aim is to make a complete vn in a month.

The game I’m working on is, for now, called ‘Dream Boy’. A rumour is going around town that many people are having the same dream – one where you have to answer a riddle which will reveal the location where you’ll meet your soulmate. Unfortunately, our protagonist finds that these dream riddles are far more sinister, and must solve them, or face a devastating future.

Art by Konett and RuneRacoon

I wanted to talk a bit about my production methodology for this project – this is, basically none at all – as I’ve been incredibly motivated and got far further with this in a week than I have with other full game projects in much longer time frames.

‘Pantsing’ aka ‘I Am Banned From Trello ‘

I’ve approached this project very different to others, in that I’ve effectively planned nothing. I am by nature a planner and am always thinking about two steps ahead of where I’m at, which is great for my day job as a tech artist, but isn’t helpful for doing small solo projects.

Seeing how much needs to be done is completely paralysing and demoralising. For this project, instead of focusing on what needs done, I’m focusing on the deadline, and getting what I can done before then.

I did a tiny half an hour of planning on day one, where I decided on the general theme and scope. Here I decided that the game would be about riddles in dreams and that my minimum working hours for the month was 16, so I had to stick to something small, with no mechanics that aren’t built into ren’py and that doesn’t require any new art or sound – it all had to be bought or downloaded.

Art by Konett and RuneRacoon

So far I’ve worked completely linearly, where I normally jump about and work on whatever I feel like that day. This has kept me motivated, as there’s parts I want to get to, but also got rid of time spent deciding what to work on, and doesn’t leave anything half-done, which is another demotivator.

I’m also avoiding writing down any random ideas I have for sections I’m not currently working on. If its a good idea, it will come back to me. This is very against my nature but working so far!

Once I’d naturally hit my first branching choice, I did a very small diagram for the story branching. It was incredibly simple, and added deaths and two different true endings. Using death as an ending kept scope small, and the different true endings, while based on a variable that is changed based on main branch choices, doesn’t branch itself until very near the end. I don’t intend to do any further planning.

Using Premade Assets

Art is one of the most time consuming and contentious part of development. Because my background is art based, I tend to be a lot more precious over this part of the game which slows my pace.

I also hate seeing placeholder art, because I get frustrated at it not looking good. Having full art in has made me excited to see my game everyday, which is so great!

To make this simple, I chose three artists with a wide library of assets for sale or download, and every time I need something I grab it from one of them. The second I see something I like, I just grab it, and don’t look through everything and deliberate. Usually I’d be totally against this, but treating this as a prototype and not being worried about getting things totally right has really sped things along.

I’ve done the same thing with audio, finding one site that has collections of music and using the first thing I find on there that fits.

I’ve made some edits to art and audio, but nothing that takes more than an hour.

Edited art by Konett and RuneRacoon

No Complex Code

As mentioned in planning, I’m not using any gameplay that doesn’t come built into ren’py, so don’t need to allocate time for code. On previous projects I’ve tried copying and altering systems from games I like, which while very interesting, tends to push the scope of the project closer to those games, which I obviously can’t do alone.

Not adding functionality also means less debugging, so I can focus on just getting the game done.

Simple Puzzles

I’ve also not spent too long on my puzzle design. They’re very simple, and could be worked out without any assistance from the game. This is probably something I’d completely re-do if taking the game beyond the jam, as if the puzzles aren’t fun I don’t have a game.

Art by Konett and RuneRacoon

Do Something Every Day

Another of the major motivators here is that I’ve worked on it everyday. I’ve been getting up a little earlier and getting in around an hour’s work each morning, so even if things get unexpectedly busy in the evening I’ve still made progress.

The do something everyday rule is often talked about, but can be hard with projects where you have tools or levels that take a long time to load up. Thankfully, the time to start on ren’py is very low, just fire up atom and go. There’s no loading time for testing the game either, which is one of my pet hates!