From Zero to Game Dev, Part 1: Building a Visual Novel

From Zero to Game Dev, Part 1: Building a Visual Novel

Author : HAYAO(PG) HAYAO(PG)

 Hello, my name is HAYAO, and I’m in charge of programming at HazeDenki Inc.

Besides building and running this website, I’m also working on programming our very first title as HazeDenki—a visual novel!

 I’ve also set up an X (Twitter) account for sharing updates, so please give me a follow…!


 The truth is, this is actually my first time programming a game in Unity.


 Compared to my long years of experience in server operations and website development, game programming is a completely different world—and I’m struggling a lot. But I also think that, precisely because I’m a beginner in Unity, I might be able to leave behind useful notes for others who want to start making games. So, I’ve decided to keep this development diary.

 I’m still at the stage where, honestly, if I can’t get the game into shape soon, it’ll be a disaster. That’s the kind of beginner I am. If updates suddenly stop… well, just assume I’m busy and I’d appreciate your understanding.


 Planned Topics for the Next Few Posts

  • Building the foundation for a visual novel game — where to start?
  • Choosing a visual novel engine: features of Utage and NaniNovel
  • Setting up the development environment
  • Customizing a visual novel engine’s source code together with AI
  • Several articles explaining NaniNovel’s features

 For this first entry, I’ll be writing about:

 “Building the foundation for a visual novel game — where to start?”

 This article assumes you’re using Unity, so if you’re planning to use something else, it might not be very helpful.


Where Do You Start When Making a Visual Novel?

 Once you decide to make a visual novel in Unity, what’s the very first step?

In my opinion, the answer is simple: actually build the bare minimum system yourself.

In programming, nothing is more important than this.


 Unless you define what “bare minimum” means to you, you can’t figure out what makes your project unique, or what you still need to turn it into a real product.


So, the first step was to look for good tutorials.


 When it comes to programming, online resources tend to be better than books—easier to copy-paste from, easier to download sample files. Books (or ebooks) are more useful when you want to dive into advanced topics that only that book covers.

 At the beginner level, your goal should simply be to get something working. Reading while typing everything out by hand just raises the chances of giving up.


 Finding a trustworthy tutorial or book in an unfamiliar field is always tricky. In my case, I already knew that libraries like UniTask and DOTween are widely used and essential in the industry, so I decided any course that didn’t use them probably wasn’t very practical. That narrowed down my search.


The course I chose was:Unity入門の森


 This tutorial covers building a visual novel system, useful for things like 2D romance sims or text-based horror adventure games, with UniTask in practice.

 After completing it, I felt it was an excellent resource for understanding how a visual novel is structured. It’s not just for people interested in VNs—there’s also plenty of content for complete Unity beginners. By the end, you’ll have a concrete idea of how 2D games in Unity actually work.


 Extra tip: If you want to learn the more general basics of Unity, or touch lightly on 3D, DotInstall is a great place to start. It’s a video-based learning service with three-minute clips, perfect for beginners or self-learners to keep studying without burning out.


 

 The Unity入門の森 tutorial gave me practical knowledge of what data you need to prepare and what processing you need to implement to make a visual novel work in Unity. It even comes with sample files.

 But at the same time, it made me realize just how much effort it would take to build a full VN engine from scratch. Things like implementing read-skip, flag management, or a writer-friendly editor… they’re complex, and it’s hard to know if my ideas for them are even correct. It would take a huge amount of time.


So… what now?


 At that point, I decided to research existing visual novel frameworks for Unity. If something already exists, why not use it?

 As long as it can handle the requirements of the project, there’s no need to reinvent the wheel. Once you’ve got a grasp of Unity basics and how VN systems flow, the next step is to see what VN engines can or can’t do for you.

 These days, we even have AI. If a framework’s source code looks too complicated or unreadable, you can simply feed it into an AI and get explanations. As long as you can articulate “this is what I want to achieve, and here’s the flow I’d like the code to follow,” you can work with AI to read the engine’s source and deepen your understanding.


(I’ll write more about how I’ve been working with AI in coding in a future post.)


 For visual novel engines, I looked into the well-known choices: Utage and NaniNovel. Both are praised for being extensible and user-friendly.


 In the end, I chose NaniNovel.


 I’ll explain the detailed reasons for that choice in the next article.


 This was just an introductory post.

 I’ll keep working hard toward completing our visual novel and bringing it to you all.


 Stay tuned!


Back to Articles

Comments (0)

Leave a comment

0/1000

No comments yet. Be the first to comment!