Which game engine should I learn with? It seems that the main ones are Unity, Unreal, and Godot...

Which game engine should I learn with? It seems that the main ones are Unity, Unreal, and Godot. I would like one that will ensure that I actually learn programming at the same time, rather than only using the game engine as a crutch. Pygame is apparently good too for Python, but I don't know if it is useful beyond a very beginner level. The programming language used by the engine is a huge consideration, as I want what I am learning to be useful in more aspects than just using the engine.

Attached: game_engines.png (1600x829, 285K)

Unity if you're doing 2D dev, Unreal for 3D. Both involve you learning actual languages although unity uses c# (unreal uses c++). Godot is actually pretty interesting too and with 3.0 it's not too shabby. It also uses c#. All of these engines have their own scripting languages as well but they're extended to support what I've mentioned.

...

Godot is FAKE NEWS
Unreal is LAST CENTURY
The way forward is UNITY

Unity and Unreal are the main ones for 3D and Gamemaker is ok for 2D. Godot is a meme and you've been memed. Python is also bad for game development

1) python is a shit language to learn as a first language. it'll set you back for a very long time when you try to understand more advanced concepts (i've seen it on this board all too many times)

2) c++ is a good first language, but it can get really frustrating if you're not in a guided environment

I think that Unity and C# are a good middle ground for you IMO. you won't get frustrated as easily as with c++, and it's got a decently large community.

Godot is the FUTURE

>python is a shit language to learn as a first language. it'll set you back for a very long time when you try to understand more advanced concepts
no language will "set you back"
you're retarded

I wasn't gonna say that python is generally a shit language but do you really wanna go there?

do ya punk?

python classes are shit
python lambdas are shit
functional shit with python is absolutely nigh fucking impossible
pythoneers think writing a program involves mainly just stringing a bunch of functions together one after another in a script, and they'll be completely fucking lost when they start to grow out of it, but don't know where to go from where they are.

python is an apt name, because just like the old snake game, while the player grows, they'll be limited to that fucking box and suffocate themselves.

and then they bring those contortions with them when they finally meet other languages, producing absolute pythonic shite.

so yes, starting with python will set you back. because you'll learn a tool, and think that you can solve all your problems with that tool. which isn't wrong, just like saying that you can't move a mountain with a hammer and a chisel is wrong. you'll use that tool and teach yourself a bunch of antipatterns which you will then try to apply to everything else in the future, because you simply don't know that there are much easier ways.

so no.

you're retarded.

I would recommend Unity. Unreal is great too, but there are far more assets on the Unity store than on the Unreal store. So it's easier to find premade scripts, models and tools, which are invaluable for a beginner, as well as for solo devs.

You're assuming I'm putting up a defense for Python, I'm not, I'm merely saying that learning no language will set you back, only foward, the idea that a language teaches you bad practises which you can't get rid of is false

Godot. Don't use Unity or Unreal.

Godot is actually shit, sorry.
I know its foss and thats why I want to support it, but its much worse than Unity.
But at least it runs on Linux, so thats good.
If you really want to learn, build you own engine.

not op, you're absolutely retarded. Programming is a few basic blocks: data, variables, functions (abstraction), and looping (or recursion). Once you understand these basic concepts you can branch out into more specialised concepts that might apply to you (e.g. memory management, drawing, concurrency, etc). Python is a great first language.

Unity runs on linux. Has for awhile

It runs like shit on linux and frequently crashes.
It doesn't matter, because I use my own engine.

I'm sure all 50 linux gamers will appreciate your decsion

I would say that yes, if you want to learn, build your own engine.
But if you want to make a game and sell it, go with one of the engines that are developed by massive corporations. They are designed to make it as fast and easy as possible, and they're developed with the latest/greatest tech.
Yeah, you have to pay up, but it's worth the massive time/energy saved.

I don't mean the games crash, the Unity editor part crashes all the time.
I just can't use it on Linux.

>But if you want to make a game and sell it, go with one of the engines
I don't agree.
If you make the engine for yourself, a lot of things will become more specialized and making the game will be much easier.
All the tools, such as a level-editor, can be made to exactly fit to your game, giving you a huge boost of productivity in specific phases of development.
You will also never have licensing issues, or any other problems, since you own the code.
And its not terribly difficult to make an engine for a game you want to create.
OK it is pretty difficult, but one just has to deal with that. Just keep things simple, and it is manageable at least.

Making an engine for yourself literally adds years onto your project, as a beginner

Yes, but at the end of it you will be a professional.
A beginner won't make a good game anyway, so might as well learn things in a deep way to get good understanding of how everything works.
A beginner should learn programming first anyway.

It can be re used for multiple games after it's done and benefit you in the long run.

i'm not saying you can't, i'm saying it'll either take legitimate training or serious luck to expunge them.

my dear negro, go back to fizzbuzzing.

>Yes, but at the end of it you will be a professional.
no you won't.

because it's literally the opposite of what a professional does.

back fizz fizz buzz

Ah, yes you are right. In 2018 no professional knows how things really work.
They just pile up more layers.

my word, you're retarded. missing the point at every step of the way.

>i'm not saying you can't, i'm saying it'll either take legitimate training or serious luck to expunge them.
false
I learnt to program in BASIC, do you think I have an uncontrollable urge to number every line and use GOTO statements? A good programmer is always learning and changing themselves for a better, you arent some brainlet blue collar worker who trains himself on one task and carries it out mindlessly until retirement

If you want to be a programmer then that might be a good idea
If you want to be a game developer, if you want to get a game out there under your own steam it's a really bad idea

>A beginner won't make a good game anyway, so might as well learn things in a deep way to get good understanding of how everything works.
Not true at all. For instance, there's the case of Onward VR, which was built by an 18 year old college dropout with no experience. The game sold $2 million.
There's no way in fuck that guy would've been able to build that game without a prebuilt engine.

no formal experience doesn't neccessarily mean no experience
You need at least 5 years experience to produce anything of value, most of the time

I would agree that knowing programming in general is a good thing, but the point is it's probably a waste of time and effort to spend 5 years building a fucking game engine.
Simply being able to code general software is enough.

ignore the spergs, OP.
go with Unity
C# is the happy medium
you'll learn OOP and Entity-Component paradigms lots free tools and assets
also an active community

Why would you need to spend 5 years on an engine?
You are not building another Unity, you are programming something for a purpose.

Unity did not take a mere 5 years to make. All the big engines, even the ones that claimed overhauls rely on a ton of legacy components. Probably several hundreds of thousands of manhours. Like a solid decade for a dedicated team to completely rebuild it.

For 2D, Lua with Love is perfect

I'm going with Godot for my 3D game. My reasons being:
>it's FOSS
>node based system is actually godly to work with
>the editor is awesome
>GDScript is basically python, but you have the ability to use VisualScript or custom C++ modules should you want or require it
>awesome community
>you can open issues on Github or fix problems in the engine yourself
>you're not going to get jewed out of your money if your game becomes really successful. though I would donate to the project if I make a lot of money off my game.
>their work on the engine is pretty rapid, constantly improving

The difference in a professional and amateur NI-
The difference between an amateur and a professional is that you write your own game engine. Okay?

I have a 20,000 line divine intellect game engine that operates just in time and ahead of time. You seem to be in denial. Why don't you fucking download my 2 meg - You can download my 2 meg distribution that has all the assets on it and you can run it with my fucking engine. YOU'RE A NIGGER, YOU'RE A FUCKING NIGGER

Attached: terryphonecall.png (232x173, 48K)

haha le schizo programming man my favourite meme

Write your own engine. Using a pre-built one is like pressing a "Make a game" button. There's no talent or skill required.

>Unity
good for fast prototypes and simple games as its easy to understand and has good documentation but it lacks support for basic stuff like bsp and optimizing is done manually meaning its a lot of hard work
>Unreal
Modern, Good Documentation. supports allegorythmic files nativly. BSP support
optimization is calculated but can be done manual for more complex scenes
>Gamebryo
Old piece of shit thats a Hassle to work with.
>Source
Great Engine limited by the poor rendering engine. Almost Fully BSP based. Optimization is done by an alghorithm that can be controlled with BSP, works great but may be a tad unintuative.
Documentation is hit and miss and it almost entirely uses proprietary filetypes

all others are literally not worth even considering

Are you literally retarded

Insightfull
please elaborate

Haxe + Kha

BSP maps haven't been relevant for 15 years and " allegorythmic files" is something you just made up and there's hundreds of commerical game engines you just picked a few at random and said the others aren't worth considereing

allegorithmic as in the company that designs software to make assets which in unreal can be manipulated directly
BSP is still widely being used and engines heavily relying on it can be seen as both positive and negative
yes as someone who is trying to learn programming i think these are the best altough im unfamiliar with godot it might be good aswell

These days BSP culling is much slower than any alternative, including just drawing the whole scene. It's a CPU bound technique that doesn't leverage the power of the GPU. Using it now is only a negative, there's no reason for anyone to support it as a map format apart from to retain compatibility

>fast level prototyping
>no need placeholder assets
>good optimization
>its CPU bound instead of GPU
>Cheap to render
its very usefull for testing your code as you can quickly build a fully working level that has atleast some complexity
which is something you might want to do for testing code like ai or movement mechanics
modern games mostly use it for helper brushes and perimeter walls in inside or underground areas

Modern games don't use it at all. Being CPU bound instead of GPU bound is a bad thing. You're seriously confused. Features of a map editor are not features of BSP culling or the file format

thanks for completely ignoring my point
OPs question was about learning to programm and BSP is a neat feature for prototyping something you might want while testing code
regardless it being cpu bound instead of gpu bound is only a issue if large portions of a complex scene are bsp.
you can literally make bsp levels in a text editor or write a script to generate them something thats not as easy to do whitout.
thanks for wrting "are you literally retarded" when you know so little about game development you havent even heard of allegorithmic

Why the fuck would I buy premade artwork?
BSP isn't a neat feature for prototyping, it's a culling algorithm that's been made redundant

>Why the fuck would I buy premade artwork?
further proving that you have no idea what you are talking about
>BSP is a culling algorithm that's been made
obsolete
if you dont want then pick a engine that doesnt rely on it which id consider a negative aswell

I've never heard of allegorithmic
No modern engines use BSP, the closest you'll find is legacy shit in Source

I recommend love and godot