godotengine / godotengine/godot-docs

Noob Friendly Compile Instructions (Windows Only)

Open
#2,969 2 comments 3 reactions 0 assignees View on GitHub
area:engine details discussion enhancement
Dominant language
reStructuredText
Stars
5.7k
Forks
3.8k
Avg merge
1d 20h
Merged PRs (30d)
25

Description

I heavily streamlined the compilation steps on Windows.

Why do this?

When I first read the compilation instructions on the documentation, I honestly gave up, all the information was far too spread out, and the whole thing was too unfocused for me, I needed something, which could get the job done.

The documentation assumed that I knew what I was doing. It also assumed, that I knew how to read it (with knowledge which I didn't have).

I failed horribly, I moved on, and I gave up.
Today though, I said fuck it, so I spent a whole two days, to set this up.

As a new user, I thought it was horribly demoralizing. I have no programming experience and no game development experience, but I really wanted to compile the engine, so I forced myself to figure out all the quirks, and the essential steps users had to go through, in order to get a consistent engine build, and in order to stop them from going through the same pain as I did.

I nearly gave up on Godot, because of the documentation, on how to compile the engine.
But I'm stubborn as fuck, and I brute forced my way through it, and I eventually figured it out.

Everything is setup, the users no longer need to download Godot, Python, Visual Studio and Scons. The latest versions of all of these, are already bundled all togheter.

![immagine](https://user-images.githubusercontent.com/43797325/70369609-e140d300-18c4-11ea-8165-53f2e6d40034.png)

Yes, I need to remake the archive, whenever any of those tools are updated, but that's a minor price to pay for usability. But, they don't need to waste 20 minutes, to hunt down the correct stuff.

It's either that, or they just, plain and simple go, "fuck it", and give up.
Trust me, you have no idea, how much this matters.

When people see this home page, they just run away. Yes, that's actually really scary looking, to most users. They have no idea what to do.
![](https://i.imgur.com/tW8nqb8.png)

This makes the process, sooo much easier. I just gotta tell users, what to install, in what order, and what settings to enable, and boom, their development environment is ready.

I understand that this is not a popular style, but I've setup all the files the user need to download already. Everything that's essential is setup up, and it should be much easier to follow.

I managed to compile the Vulkan repository as a test, with 0 knowledge, and I think these instructions, could help other people in the future.

I honest to god was so scared of the Vulkan branch. I assumed it was impossible to compile at first, but, after setting up all of this up, it actually turned out to be a whole lot easier than I thought, it just took me a while to piece all the correct information togheter.

I'm doing this so that other people, don't need to waste their time. It's easier to now build, on top of my knowledge, if people can get a headstart, way faster. It also makes the whole process, must less stressfull, and more enjoyable to go through.

I think this would make Godot more accessible, if the setup process, was as painless as possible. The more impatient users, might actually give the engine a shot, if the setup process, is this stupid easy.

You click on a bunch of command prompts, and they do the hard work for you. There's no need to type some annoying ass commands by hand, in a command prompt window anymore.

Install Compiler.bat
This automatically sets up Scons for you, just double click on the bat file, and you are done. I know that a lot of people struggle with this system, so I automated it away.
![](https://i.imgur.com/CDQaDCx.png)

Setup Project.bat
This sets up scons for compilation, users only need to set the number of threads they want to compile with, and, that's it really, the project gets compiled, and boom, it's done.
![](https://i.imgur.com/DU9WFQs.png)

To get the number of threads, simply run this other bat file.
![](https://i.imgur.com/3LC1eXu.png)

Just copy that number, edit Setup Project.bat and you are set. Now you can compile any Godot projects, simply drop them into the Engine folder, and it's easy peasy for any new users.

A lot of users miss the "-j" flag, and a ton of people, actually mistakenly believe that scons is slow as hell, but the truth is, that most people, are compiling Godot, with only **ONE THREAD**.

The bat files are commented out in depth, I think that's a good long term strategy. I cannot remember all of this, there's too much information, it can't hurt to write it down.

How could I convert these steps, into the documentation format?
![](https://i.imgur.com/vNJQI6V.png)
![](https://i.imgur.com/fpq4WDT.png)
![](https://i.imgur.com/v4ds4xu.png)
![](https://i.imgur.com/NUt69WF.png)

Yes, I'm aware that Godot is already compiled by Scons the first time, but I wanted the user to build familiarity, with Visual Studio also. It builds confidence in them, if the project has no errors, and if it compiles perfectly fine, from Visual Studio itself.

Otherwise, I wonder if it would be easier, to just have a link to my website on the wiki.

Anyway, I automated a lot of the bullshit away, pre-setup a lot of the commands, which users need to run, and as a whole, the process is far easier to go through for brand new users like me, who have never, compiled a game engine, in their whole life.

Seriously guys, 0 knowledge. No, the wiki documentation, was useless to me.
If I managed to compile the engine with it, I wouldn't have had, to make this giant wall of text.
![vulkan easy compile](https://user-images.githubusercontent.com/43797325/70369705-34675580-18c6-11ea-949b-cbd67aeb99c6.png)

![vulkan](https://user-images.githubusercontent.com/43797325/70369709-3df0bd80-18c6-11ea-81a5-9baefec44632.png)

This was written by a new user, for other new users.
The tiny steps which you guys don't document, are what people trip up on.

Don't underestimate simple and direct documentation, I know that compiling Godot seems like a stupid simple thing to do for most of you guys, but for me? Figuring all of this out, **WAS HELL**.

Again, 0 familarity, 0 knowledge. I cannot use your documentation, you guys have experience and all of that, I have nothing at all. There are a ton of tiny finnicky things which you need to do, and I really hope that you guys can see my point of view, and why I believe that such documentation is critical.

You can keep your long ass docs, I don't care, but I would like to have the option, for more "in your face", "just get it done", type of docs.

Hopefully other users who struggled with this process, can find this helpful, even if this goes nowhere.

I understand if you guys don't like this style, but I mainly wanted to get this out in the wild, to help more people out mostly.

If anyone is wondering, why this is necessary, here's another user, who took **45 MINUTES TO COMPILE, ON A SINGLE THREAD**. ALL OF THAT, BECAUSE THEY DIDN'T KNOW THAT THE "-J" FLAG EXISTED.

https://github.com/godotengine/godot/issues/2095

With my guide? It took me **TWO MINUTES**. This is why it's important, to provide some kind of template to the user. Nobody needs to waste their time setting any of this stuff up, it can be easier.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.