Tutorial A Beginner's guide on how to make a game.

Winterfire

Forum Fanatic
Respected User
Game Developer
Sep 27, 2018
4,921
7,219
A year ago I made an april fool thread: Winterfire's talentless guide on how to make a game
While the information in there is true, it was mostly meant as a joke, and as such, highly incomplete for someone truly needing a guide from start to end.
Since then, I've been receiving some requests on making a proper guide, and considering how many people wish to at least try to make a game, I thought I'd try to help by making a tutorial that I can link to.
Please Note: This is by no means the only way to make a game, while some of the things contained in this tutorial are pretty standard, there is always another way.

This guide is aimed for complete beginners: Someone who has never made any game before, but would like to give it a shot.
If that describes you, then I hope that this guide will be useful to you.



STEP I - Brainstorming
The first step is to think about what game you want to make, the idea that sparkled your need to make a game.

At the beginning, it'll be just a bunch of incoherent ideas, always make sure to type or write everything down, don't rely on your memory, everyone has a phone nowdays, if you are not at your PC, type your idea on the notes. Even if you think it's a stupid idea or something you can remember later, always type it down.
Taking notes when you get that sparkle should be the habit of every Game Developer.

It may take days, or weeks, but eventually you will have a messy folder of txt, ideas that do not quite fit with each other, and some crazy rambling that you will cringe at when reading.
Once you have enough of this (Usually this means you have rough ideas of how the game could start and end), you are done with the first step, and it's time to continue onto the second step... Making sense out of all that mess you've just created.



STEP II - Game Design Document
This step is the one in which I went most in-depth in my "April Fools" guide, all the information in there is all legit, so rather than copy/pasting the same stuff, just go read it here:
https://f95zone.to/threads/winterfires-talentless-guide-on-how-to-make-a-game.154572/
That should give you an idea of what is a Game Design Document, why you need it, and what should contain.

If you do not want to go through Google and wonder which Template is good, let me spare you the time:
This is a pretty solid Game Design Document template, but even as the template itself says, it's just that... A template. You are free to add or remove voices, if something is not applicable, remove it.
If something is required, add it. It's your Game Design Document, the overview of the project you need, so it has to make sense and look good only to you.
Don't be afraid if your Game Design Document only ends up being a page or two long, there's no right way of making one. The same goes if it ends up having hundreds of pages.

It'll take some time, but with some patience and effort, you will be able to turn all those crazy ideas into a coherent and solid PDF document that you can access and follow throughout the development of the game.
It should go without saying but rarely if ever change anything in your Game Design Document once the development starts. Stick to your vision as much as possible because if you change a core concept, the rest comes crumbling down, and your Game Design Document will become useless as if you had never done it. That's why it is OK to spend as much time as needed writing one, it'll be the bible of your game.

Once the whole game (Pretty much) fits in your PDF and you have a complete overview of your project, it'll be time to move onto the next step, the development.



STEP III - Pick the right Engine
Nowdays there are countless game engines that you can choose from. With so many choices, you should pick the one that fits your project the most, in order to lower your workload.
For eample, there's hardly any point in creating a Visual Novel Engine when Ren'Py exists; The time it would take to reinvent the wheel could be the time you spend in adding content.
So, how do you choose the right Game Engine from the various options after you have your Game Design Document ready?

If you have a very engaging story with different choices and outcomes, a visual novel, Ren'Py is the most obvious choice. Easy to use, hard to screw up.
If you have a lot of exploring, RPG mechanics, and other such gameplay elements, then RPG Maker would fit your project the best.
If you have an idea that doesn't quite fit with any of the engines you have in mind, maybe even involving 3D, then a general purpose game engine like Unity or Godot would be best, although they're harder to learn.
If you want to mostly learn and want to unite your studies with Game Development for fun, Ogre3D or Irrlicht are pretty solid options.

The great majority of games have a story, so it means that even yours could fit in a Visual Novel format, but does this Genre take anything away from it?
If you are an overpowered Overlord or superhero who, in terms of combat, can pretty much win any fight, then RPG mechanics and other form of gameplay would become meaningless as he'd probably struggle with politics and other challenges that can be easily conveyed through narrative.
However, if your story format is something like "A hero's journey" or "From Zero to Hero", where growth is a big part of the story, then a RPG format would fit best as you actively play alongside the plot.
Having RPG mechanics doesn't necessarily mean you have to give up on Ren'Py: You can still code or download a combat system, and learn some Python to create classes. Less easy, but it could be worth the rest of the functionalities that Ren'Py has over RPG Maker. You could even use screens to create maps that you can click, sparing the player the time to actually walk around with a sprite.
So, when is RPG Maker a better choice, then?

RPG Maker is a better choice when you have more gameplay than story: If your game starts in a burning room where you have to hunt for an exit, get through some challenges and puzzles only to reach the outdoors, this would be much easier to convey through a Top Down perspective. If you continue to have parts where you need to interact with the environment, and speak to NPCs to progress, then it becomes the most obvious choice.

It's normal to end up having different options to choose from, even when you have taken into account all the stuff said above.
You can pretty much make the same game in Unity, Godot, Irrlicht and Ogre3D, not to mention all the endless unmentioned options... If you find yourself in this scenario, my suggestion is to do extra research in each option, including sparing some time to personally try them.
For example you could make a 2D Game in Unity, Godot and Unreal... However, you'd have a much easier time in Godot.

So, ultimately, just create a list of pros and cons after researching every option, then try a few yourself and see how you feel about it.
There'll always be more than a good option, so it's up to you to see which one you enjoy working with the most.



STEP IV - Tools & Skillset
Once you have decided on one or more potential Game Engines that fit your project like a glove (hopefully), it's time to consider your current skills, tools, and what you're willing to learn to iron out the various options and finally decide on the Game Engine to use, and begin the actual development.

The main skill you will need is the programming language, you'll probably want to use a game engine which uses the programming language you already know.
If you do not know any, then it's a matter of thinking long term... How far do you want to take game development?
Do you only want to make your porn story and call it a day? Pick the easiest option, and learn just enough to get by.
If you want to make more complex games in future, pick a promising Game Engine like Godot, and learn C# which is widely used in Game Development.
Should you totally despise programming, many offer visual options (such as RPG Maker) which is essentially just logic you need to apply.

Programming isn't the only thing, if you are going to make a Visual Novel you will need to be proficient at writing, and be able to create a wide set of images for the "Visual" part of your novel.
If you are making a RPG, you need to learn about tilesets/charsets to create your overworld, and mapping.
You cannot just make a random map, it takes planning and learning, otherwise you'll end up having a walking simulator that no one enjoys to play (Which is how RPG Maker got a bad reputation to begin with).
This tutorial is a good starting point for mapping, but not everything you should learn:
TLDR: Make your maps as small as possible, cut any empty space, keep it essential but interesting. Avoid sharp edges or "squares", especially outdoors. Some squared indoors are fine... But boring.
Research further into this topic, but ultimately you'll need a lot of practice to have decent maps.

However, both of those examples will ultimately require images (unless you are making a text based game), what happens if you don't have an artist and you can't draw yourself?
You rely on 3D software, which requires a whole different skillset.
Lighting and Post Processing are essential, no matter which software you use. Some softwares will call lights differently (Example: "Directional Light" in Unity, "Sun" in Blender)
but the way they work and are applied is essentially the same. You'll need to learn both of these. As for the rest, you have different options:
Daz3D (Works best with Nvidia, requires a beefy PC with good cooling and a GPU with a decent amount of VRAM), Blender (Lower entry point, cheaper, but requires more work. You can bridge between DAZ and Blender, but last time I checked it's not fully automatic and will still require some work.), Vroid Studio (Anime look, but you pretty much need to make everything on your own, including nudity), or Virt-A-Mate.
There are other options too, such as Reallusion's CC, but due to pricing or lack of features, they're almost never used.
There's also a promising tool that, at the point of writing this guide, is still in development but it's worth keeping an eye on:

All of the options above allow you to create characters, import/buy assets, and pose them in a scene editor so that you can render them into images that you can use in your game (CGs, Sprites, Backgrounds, ...).
You can even export the geometry and use them in real time games (3D), although the licensing in some of them is different and may have higher costs, such as DAZ3D.
If none of them quite fits your taste, take into consideration that both Unreal and Unity are also Scene Editors with render options, and both have Character Creators (Metahuman for Unreal, and UMA2 for Unity) but adapting them into a NSFW context would require some effort.

If you do not have a good enough computer for any rendering, and Vroid Studio is too complex or you can't be bothered to make everything, you can start with some games that offer a studio software to create your own "renders".
You won't be able to sell those, but they're a good learning experience. Some of the most common options are: Honey Select 2 or Koikatu.
Even with a low end machine you will be able to create a scene, and they work roughly the same way since they're by the same company, this is a good tutorial to start with:

Being able to create your own music and sound effects would be neat, but if you cannot do that, there are various bundles offered quite often with a lot of music that you can purchase from and even .
NSFW sounds are particularly hard to find, but luckily Itch.io has you covered:
If you cannot afford purchasing assets yet, there are also some free alternatives such as for royalty free music, for sound effects and Smutbase:

Last but not least: Animations.
There are games that do without animations (My games, for instance), so do not feel too bad if you cannot or do not want to have animations.
Animations are part of the "Learning process" of Daz and Blender, but they can be purchased too.
They're much easier to do in Honey Select 2 and Koikatu, in the April Fool guide linked above I explained how to export and use them within Ren'Py, but the export settings work pretty much anywhere else.
However, at some point you'll find the need to either create your own animations or set them up in a way that fit your characters, when that time comes, you will need to learn about Timeline.
This is a good tutorial that covers it:

Learning all the tools and the engine can be quite overwhelming and time consuming, but don't be scared to make mistakes and suck. No matter what, you will always suck at the beginning.
Even if your first renders look really good, they will suck compared to what you'll be able to do years from now if you keep it up.
You'll never stop progressing, and that's great, just accept this fact and avoid falling in the loop of reworking your old stuff... By the time you'll have reworked it, your skills will have evolved even further.
Move forward, and make new games/chapters instead.



STEP V - Release... When and how?
Knowing when to release is hard even if you are not a beginner, but ultimately the right answer is never a set amount of content, but how you present said content.
You want to introduce the player to your game and give them a clear idea of what it is about, quality matters more than quantity... I believe this is always true, but it's even more important at the beginning since players uninstalling or giving up before the release is complete will hardly if ever come back to give your game another shot.
Rather than setting your release to be 1 hour long, compress it down to 30 fulfilling minutes instead.
You should also avoid ending the release with an unclear or abrupt ending, rather it should end with the classic cliffhanger so the player will be left wanting more.
Despite saying that quantity doesn't matter, your first release shouldn't be TOO short either. In my years of being here I literally saw a game with only the main menu working, and even a v0.0.0 (No, I am not joking:
https://f95zone.to/threads/unreal-engine-alchemist-v0-0-0-witch-dev.28122/) and assetflips where you walk around in a big level with nothing in it.
Few minutes of gameplay will rarely be enough to convey what the game is about, and leave the player wanting more rather than feeling frustrated.
I'd say around 20 to 40 minutes is good enough, similar to the length of an episode.

To prepare a release, you should always put yourself in the shoes of a very average player... Never use formats like ".rar" or ".7z", while the majority can figure out how to unzip those, there'll be always be some people who do not. Make sure to always use ".zip".
Support as many platforms as you can, but the most popular ones are: Windows, Android and WebGL.



STEP VI - Hosting & Advertising
Once you have your release ready, you'll need to host it somewhere so that it can be shared on your Patreon, Subscribestar, or even itch.io as an external link.
This is a good list: https://f95zone.to/threads/approved-file-hosts-updated-2024-01-12.3432/ In my experience people will always ask for a MEGA link.
Pixeldrain is a good option, but some countries are banned. GoFile is really good, but inactive files will get deleted, so do not rely solely on these options.

No matter how great your game is, if no one knows about it, it's as if it doesn't exist. So, the last step is advertising and spread the word about your game.
Putting your game here on F95Zone is a no-brainer, not only there's a lot of traffic, but it's one of the very few communities that will actively comment on your game.

I am not a marketing expert, in fact I suck. I don't even use twitter, and I never advertise beyond making a few reddit posts every once in a while because I am a lazy fuck.
However, I have a list of places where you could advertise your game (Which might get updated in future, if anyone wants to share more):
You don't have permission to view the spoiler content. Log in or register now.

You don't have permission to view the spoiler content. Log in or register now.

Make sure to read the rules of each subreddit. Each subreddit has their own rules when it comes to promoting.
For instance, r/vns requires you to be an active member of their community before you can promote there.

You don't have permission to view the spoiler content. Log in or register now.
You don't have permission to view the spoiler content. Log in or register now.
 

aereton

Member
Mar 9, 2018
348
681
I have some game dev experience, but never worked on a VN. I have some ideas I might wanna delve into at some point so I have some questions about workflow experience from AVN devs:

Do you write the (mostly) full script including dialogue before getting to work on your renders? Or do you have your ideas for a scene scribbled down, pose for your renders and simultaneously work on dialogue? Or is it a healthy mix?
I'd be interested to hear a full rundown of how some of you approach the production of a vertical slice / a single scene from the beginning (idea stage) to end (full implementation in RenPy or otherwise).
 

Winterfire

Forum Fanatic
Respected User
Game Developer
Sep 27, 2018
4,921
7,219
Do you write the (mostly) full script including dialogue before getting to work on your renders? Or do you have your ideas for a scene scribbled down, pose for your renders and simultaneously work on dialogue? Or is it a healthy mix?
I've heard and successfully seen all three approaches (the two you described + doing renders before writing).

I've personally always done the full script first, then within the scripts leave comments of what the CG should look like, and what each character does.
This way, once the script for the current release is done, I just open each script and follow the comments to do what I need.

I do it like this because changing text is easy enough... Maybe two scripts later I get a better idea, or a completely different one which would negate the previous CG. Redoing or even editing a CG would be a heavy cost of time, but editing the text is not.
I'd suggest you to three all three methods, and see which one fits you the best.
 
  • Like
Reactions: aereton

aereton

Member
Mar 9, 2018
348
681
I've heard and successfully seen all three approaches (the two you described + doing renders before writing).

I've personally always done the full script first, then within the scripts leave comments of what the CG should look like, and what each character does.
This way, once the script for the current release is done, I just open each script and follow the comments to do what I need.

I do it like this because changing text is easy enough... Maybe two scripts later I get a better idea, or a completely different one which would negate the previous CG. Redoing or even editing a CG would be a heavy cost of time, but editing the text is not.
I'd suggest you to three all three methods, and see which one fits you the best.
Thanks for the reply. The way you described makes perfect sense, haven't even thought about that lol. I guess you could call your comments in-script as a "text storyboard". I want to try that first and see if it works for me.
 

Winterfire

Forum Fanatic
Respected User
Game Developer
Sep 27, 2018
4,921
7,219
But what if your PC cant even handle Koitatu? :unsure:
Stick figures can be hot as fuck right? RIGHT?!
Depends on what you mean by handling Koikatsu.

It doesn't have to run on best settings at 60 fps, you can build a scene with the lowest quality possible in order to get the best performance, save them, then switch to best quality and load each scene and take a screenshot. Even if those scenes will run at few fps it won't matter anymore because you're there only to take screenshots.

IF you can't run Koikatsu even at the lowest settings, then no. Best you can do is a text based game, those can be fairly successful as well, just look at Lilith's Throne... Despite dropping Patreon and moving to Subscribestar, she still retained a large number of supporters. She's not even the only one with a very successful text based game, so everything is possible!