Hey guys, first I know this is a common and largely unanswerable question. I have done a fair amount research before posting. I am just looking for more opinions is all.
So, I am a 3d artist, I’ve made a game for steam with Unity, though my partner did the programming. Personally I like unreal engine a lot more – it’s just more convenient and overall the presentation on all fronts is more professional – and I’d like to make my own game independently, however the conventional wisdom says c++ is harder. I’ve read a bit about how you have to specifically dictate what to do with low-level memory and such, so I imagine its just more stuff you gotta learn right? Have a better understanding of how the hardware operates?
I got full time to learn and although I’m pretty uneducated when it comes to math, I learn real fast. I figure I can devote 1-2 years to learning. Making simple games, completing all the tutorials I can find, etc. Same way I learned art.
Would you say it’s feasible to be able to make some simple sandbox games with a few simple but interwoven systems at play – like a simple strategy game – within a year or two of learning? A publishable game that won’t blow up peoples computers?
I do some more research, but if you got any tutorials or learning resources you highly recommend I appreciate you posting them I’m already familiar with the engine and how games work in general – I think the main things I’d need to dive into is first, basic syntax, then probably understand hardware a bit more, and then just trial and error work on games?
In C++ is really easy to leak memory if you don’t know for sure the logic and process to achieve what you’re trying to accomplish.
I was already comfortable with C# for years and from 2013 to 2015 was a pain to really grasp the syntax and minimal details that might be catastrophic if overlooked; That thing you can do in Unity (change something, compile and see if works) won’t help here, you really need to think about code architecture…
And then there’s the UPROPERTY system and networking, both adding another layer of complexity that is very different from “C++” in general.
These things take a long time to master, you should be ready to commit mistakes and be ready to refactor them when needed. And you will redo things, many times.
I believe when you learn the syntax of C++ and you know enough about Unreal API to a point where you can do whatever you need without ever touching the STD:: namespace then you’re ready to build whatever game you want with Unreal, comfortably.
Anyway, keep in mind that it’s also possible to leak memory and crash the game in Unity C#, so don’t be afraid of C++, just be prepared ^^
Thank you [USER=“434”]BrUnO XaVIeR[/USER] . Given my extremely limited experience with coding, it may be best to just go cautiously and start out with a more forgiving language.
If you really want to learn C++ then you should study assembly too along with the old ANSI C89 standard and then read at least something about C90,C95,C99 extensions. Why? Because understanding and being able to code in assembly really is needed to understand pointers clearly. And the old C89 standard is the core of C on which C++ was built. Then to understand C++ you should at least read a good Object Oriented Programming book too, there are many, get one with C++ examples but you must understand the rules and logic… and on Java it doesn’t work the same as on C++ … you must study and understand why to be able to quickly adapt and to code in any OOP language regardless.
@BIGTIMEMASTER Why not just use Unreal Engine Blueprints? You can program full games with Blueprints and they are a lot easier to learn than C++. In my humble / uneducated opinion, it seems learning Blueprints is a good basic in road to learning Object Oriented Programming - kind of.
Blueprints are really cool - that;s what I use as an artist. They do work!
The range in the replies have quite a span going from learn Assembly to don’t learn C++.
I suggest you stick with Blueprint in the beginning and once you are comfortable with that you start to learn bits and pieces of how things are done in C++.
You could in theory make a game purely by using Blueprint but you may have to resort to complex workarounds at times that could easily been made in C++. Blueprint can do a lot of things but it also have many limitations (limitations that often save you from trouble).
I would expect a non-programmer to take at least two to three years to reach a basic level of competency required to program games, assuming they are learning consistently part time. The absolute basics can be picked up through practice with a few weeks and some repetition, but dealing with large code bases and much more complex programming techniques is something that really takes some learning.
I agreed with DyotoOrion and GarnerP57. It’s not impossible, however just really difficult. So do what you can in Blueprint, and hire someone with C++ experience to fill the gap (like small ones).
3D Environment Artist here, tried C#, bought Udemy tutorial and Visual Scripting for Unity. There is just too many software or things to learn; Blender 2.8, Affinity Photos, Aff Designer, Quixel Mixer, Substance Painter, Subs Designer, Marmoset Toolbag, and about two months ago I just bought Reallusion Character Creator.