From 0 programming knowledge to UE4 & C++...HOW?!

Hi guys,pretty much as the title says. I am currently at 0 programming knowledge,and with 0 I mean it - I know nothing. Yet as a end goal I would like to be able to confidently create anything game related that I can think of using c++ & unreal engine,be it my character flying and fighting in the air,or a day&night cicle.

Thing is,since I don’t know nothing I also don’t know where I am supposed to start to reach my goal,be it the answer a thick C++ book or that I have to start with something else and not C++.

So I would like to ask you guys that are already there where I want to be, if you could lay down for me a “path” of study material I should go through in that order to get me where I want to be…help please :rolleyes::stuck_out_tongue:

Hey there,

the first thing you should do is learning how to use Google and maybe the Forum Search (:

This question was discussed and answered SEVERAL times.

If you look into the general discussion forum or just search for specific terms, you will find these
threads and get the answer.

Alright with Unreal 4 you have two options.

  1. Just Learn Blueprints
  2. Learn C++ aswell.

Now then Blueprints is a programming langauge that is simmilar to C++ in how it works… However you design it visually which makes it easier to learn and use for a Noob. Everything you have suggested in your post can be done in Blueprints.
However Blueprints are limitting in some ways and so you can do less then C++.

With C++ the one major feature I see is it allows you to then open up the source code for the engine and add new features into it, or solve bugs… etc.(Rendering isn’t good enough? Just code/modifiy a new one in or add in another one from another programme)

Either way your best bet for either is Youtube and that MASSIVE LEARN BUTTON at the top left of the page. I would recommend the video tutorials to get you started and when you don’t undestand something read the documentation.

For C++ here are some tuts to get you started:
Teaches you the basics: v=jP_dnE4Us94&list=PLA68C1F33757B4A38
Teaches you how C++ coding works in Unreal: v=jP_dnE4Us94&list=PLA68C1F33757B4A38

Bare in mind learning a programming language takes time, like a real one, don’t expect to understand it in a day or be a master in a month… It takes 1000’s of hours to become a pro at it.

Well, first, keep in mind that you’d be learning both C++ and UE4. Even those who know C++ already can be intimidated by UE4, it’s a lot to learn. But don’t let that deter you! You’ve already made the first step.

I would highly recommend you get some basic understanding of C++. Do you have previous programming experience? If so, it should be straightforward to pick up. This should help you get off the ground faster. These two sites look decent if you want to just get off the ground:

If you prefer books, look at this Stack Overflow post with a great list of books:

I would at the very least recommend you get to the point where you can compile your own “Hello, World” (a program that just prints that out in a console), so you get the idea of what’s going on. It would be good to read about classes and inheritance in C++, as UE4 uses these features heavily. Once you understand that, you can start tinkering with UE4 (or you can just go ahead and start tinkering with a game template and figure out how things work too, if you prefer that route).

For getting started with UE4, I recommend you read over the Getting Started Guide (https://docs.unrealengine.com/latest/INT/GettingStarted/index.html) to get acquainted with the engine and editor if you haven’t, and then move on to the programming guide (https://docs.unrealengine.com/latest/INT/Programming/index.html). If you prefer video tutorials, there’s some for C++ as well (A new, community-hosted Unreal Engine Wiki - Announcements - Epic Developer Community Forums).

And if you ever need help, ask here! Best of luck to you!

Sorry eXi,didn’t realized that ^_^’ , though I think that if it is asked so much, it should atleast be pinned :stuck_out_tongue: Or maybe it is and I am in the wrong section lol

Thanks for the replies guys,I didn’t check yet all the link you posted and is the next thing I’ll do,though a reason why I am asking here to you was because I would like something NOT fragmented, meaning that when I learned to used 3ds max,I just picked up a 1080 pages book,and that was it,all the information where there and it was laid down like a path,meaning everything was builted on top of what was explained in the page before.
So I am basically trying to find the same for learning what I need for what I want to achieve,as opposite to have to search online for every single bit of information in a fragmented way,since I don’t believe that study method work well enough with me :\

So my hope is that indeed those links are in that format,and thanks again :slight_smile:

Hi, I don’t know if you can spend some money for a course, but right now there is a C++ Tutorial course on Kickstarter for unreal engine.
I don’t know neither if the course will be good, I just decided to back the project and hope to learn something from it. It starts very basic as far as I know.
I leave here a link to other thread where this course is discussed:

I had actually stumbled upon that kickstarter this morning during my search on google on the subject,but I don’t have the money to make bets right now,so I’ll wait until release date and see your guys opinions/review :slight_smile:

Frankly, you need to start practicing instead of looking for the best way to learn something. Practice and look up everything you don’t understand. The important thing is to have fun in the process. It doesn’t matter where you start. There’s no specific place where you’re “supposed” to start. Just start.

It doesn’t work the same way for everyone I guess,if I practice freely and then stumble upon a wall and then struggle too much in the attempt to get a solution to something I would realize later how simple it was (once I have the solution),maybe ask in the forum and don’t get the answer,just loosing hours upon hours without progress…that accumulate a lot of frustration and kills the fun really really fast,and is the best way to fail hard and give up on something,in my opinion.

Nothing against experimenting if you feel like it,but I don’t right now,and thus I seek guidance or “a path” :slight_smile:

Yeah it’s not pinned. We don’t pin general discussions. Barely pin anything :smiley:

But as you may have figured out: You need to find your own way. If you find and read through all the already existing discussions, you may find a way that suits you.

Did you guys studied C++ at school? I’m not trying to re-invent the wheel nor trying to find any shortcuts, so I was wondering…there is like a book which you would consider the sacred holy bible of C++ and that you could say it was invaluable during your learning? If there was,I would like to buy it as well :slight_smile: (though the lists of tutorials linked so far look awesome and I will follow that as well,maybe during the time that said book takes to reach my house from Amazon :S )

I studied computer science at uni. Can’t say I know any books that can guide you the full path to becoming a (better) programmer. But you need to:

  • Learn to write code that does what you want
  • Learn how to write good, concise, readable, efficient, organized code

Believe it or not, there are many decent sources from which you can learn to write code. If you want a good reference book, there’s Bjorn Stroustrup’s (he developed C++) book The C++ programming language. Note that its a reference book, you could learn to write C++ with this, but its very detailed and there are probably online tutorials that get you started faster. Edit: www.learncpp.com seems decent enough.

Then for the second step, its about practicing, encountering frustrations about your own/other people’s code organisation and then conjuring improvements, developing your own tricks, learning other people’s tricks. You’ll use many books and websites for this. The best resources in this case are not books that guide you, but rather just contain tricks that you can use. “Design patterns” is a term that you can look for, a design pattern is a well defined method of organizing code. Since we’re programming games here, you can have a look at the website gameprogrammingpatterns.com. If you want to get into graphics programming, the book series GPU Gems are great.

Finally listen to what the others said. Get started on your own UE4 project ASAP. Think of a game that you want to make and tackle things once at a time. Don’t wait before you mastered C++ before you start applying it to games. :smiley:

It doesn’t work the same way for everyone I guess,if I practice freely and then stumble upon a wall and then struggle too much in the attempt to get a solution to something I would realize later how simple it was (once I have the solution),maybe ask in the forum and don’t get the answer,just loosing hours upon hours without progress…that accumulate a lot of frustration and kills the fun really really fast,and is the best way to fail hard and give up on something,in my opinion.

Nothing against experimenting if you feel like it,but I don’t right now,and thus I seek guidance or “a path” :slight_smile:
[/QUOTE]

So you just described the daily life of a software developer :smiley:

Nope.

That invaluable book is Bjarne Stroustroup’s “C++ the programming language”. If you decide to buy it, you should grab the latest edition (4th edition), which, I believe, has 1368 pages. It is a very heavy reading, so expect massive headaches in the process. It is written by language creator himself. Incredibly useful as a reference, as well. If you don’t want to waste too much money, see if it is available in libraries or if you can get it used.

Most of the stuff is learned by tinkering with something. You get an amazing problem you REALLY want to solve, then you start solving it, and in the process you learn something new. I.e. “learn by doing”, however, you should also have fun in the process and have deep interest in solving the problem. Then it will be the most efficient. “Learn by doing” might not work for everybody.

Thanks for all the feedback and links so far guys,I think I have all I needed to be off on a good start,so now I go to put it on practice :slight_smile:

I am completely self taught with about 5 years of experience, though only a little bit of experience specifically in C++. Programming is a lifetime of learning, so be persistent, and don’t expect to be able to make anything you can imagine in just 6 months.

Persistence is key in programming, I literally once spent over 2 weeks completely ripping apart my code, posting on forums, you name it, for over 8 hours a day (My compiler was throwing errors left & right). One day someone on a forum pointed out that my code had two semicolons in one spot “;;”. I removed the 2nd semicolon, and all was well :smiley:

Just to answer the school question:

I learned (and currently teach) normal C at University.
Before that, i used C#, but only like diving right into with Tutorial on Unity a few years ago,
not really learning it.

While being at University, i also got the chance to learn C++. After knowing C, it took me
2 weeks to learn C++ by reading the Uni Script of the module for 1 week and doing all the
exercises of the module in the other week.

The thing is: IF you know 1 programming language, you can learn others pretty fast. Not because they are all the same, but
because you have the knowledge on how to use them.

C for example wasn’t objective orientated. That means you don’t have a Class from which you create/spawn objects (like Class Human and spawning different Human objects
with different values for the variables in Human). So it’s pretty different to C++, although it of course uses similar things.

But i already knew how to program, how to solve a problem with code and that’s the thing you will learn or better: You need to learn with your first programming language.
(You don’t need to learn C or C# before C++, that’s just the way i took).

If you have never programmed, i would assume, it takes you 3-4 months to learn C++ to the point where you can use it easily. Not master it, but use it.
But these “3-4 months” can also be 1-2 or 5-6. It depends on how fast you can learn and how much time you have to put into it.

I learned C++ via a combination of cpp-institute.org (free courses!) and looking at ShooterGame and other C++ examples. It’s taken me about 16-18 months to be as competent as I am now, but loved it all the way through.

Also when you’re starting out, prototype in Blueprint, then try to convert over to C++ one step at a time. You’ll get the hang of it.

I see :smiley:
@Jamendxman3:not afraid of the challenge or the time it would take,in the past I came up with the (maybe dumb) resolution of “what if I learn Japanese just to play games not released outside japan?!” That was maybe 3-4 years ago. Now I can read 2300 words and finished 3 japanese titles only in the last year,so it took quite a while before I could even put it to good use xD Also I noticed that the more you know of something,the easier it gets to pick it up,now I can easily learn 10 new words every day,so I would expect the same with C++,I’ll just stick with it the time it takes me.

@eXi:as with the japanese,for me C++ is more like an hobby,I figured out I was giving way too much time to dota 2,so I could cut a lot from it and just learn something that I can maybe put to use in the future,so pretty sure as with the japanese I will be in the slow end of the learning, probably that 5-6 months with me will be 8? xD Though never know,maybe I’ll find out that this is the thing that better suits me and I end up putting more time on it than expected,totally worth trying :slight_smile:

@TheJamsh: I like that idea,I’ll probably try after I’m done with all the basics tutorials :slight_smile:

Guys 2 questions:

This is for the moderator, is ok if I just put my noob questions about c++ like the one below in this same topic,or I should go to another section/topic or possibly a programming forum?

Second question is,I was messing around with japanese characters as the image below but appears as a “?” in the console,so there is a way to make them display properly in the console?