1

This semester in my university we learned C++ but I feel like I am not as good at programming as I should be, and I am also interested in game development so of course it will be helpful for me in future.

So I decided to learn it completely and not like leaving in the middle but I don't know from where should I take a course that can be best for me.... I chose a course from Udemy website (https://bit.ly/2nW4ayE) but I am not sure that I should go with it or should I take another course?

After that my main goal is to learn game development. I have zero knowledge in it. But I think I should go with Unreal Engine. I am solo for game development. I also find a course for learning Unreal Engine from Udemy. So should I do Unreal Engine or another engine?

And should I learn anything other before starting game development solo, while I learn programming I can have enough time for learning anything other that can be helpful for game development. Would you suggest anything?

Please also tell me if is it a good idea to learn C++ and then starting game development.

user985366
  • 125
  • 4
Erad Ali
  • 21
  • 2
  • 3
    Learning programming "completely" is a very ambitious goal. I thought I might manage it in the 1970's, but new ideas, approaches, languages, and frameworks appeared far faster than I could learn. – Patricia Shanahan Sep 27 '19 at 21:32
  • Check out the Handmade Hero series, where a game developer (Casey Muratori) is making a game and game engine from scratch in C++ and streaming the entire process. Also, Jonathan Blow -- the creator of the indie puzzle game masterpieces Braid and The Witness -- streams game development sometimes on Twitch, and this might be interesting to watch. (But, you must first complete Braid and The Witness so that you don't get spoiled. Do not google for those games, the best puzzles will be spoiled. Just play them blind.) – littleO Sep 27 '19 at 23:51

4 Answers4

5

How do you eat an elephant? One bite at a time.

First, learn how to properly code in C++. This can be done by reading "The C++ Programming Language 4th edition" by Bjarne Stroustrup (The creator of C++) and coding at the same time; that is, while you read the book. The key word here is "properly", though. The following is a very accurate quote about C++: "In C++ it's harder to shoot yourself in the foot, but when you do, you blow off your whole leg." Improper use of the "new" keyword in C++ can lead to big problems. This one actually got me, since I had a Java background prior to learning C++.

Second, learn about game development. This will involve learning about how to build physics engines and collision detection systems (using spatial data structures). A little bit of knowledge on vector calculus can go a long way when developing a physics engine. You will also need to learn computer graphics. You can buy a book on OpenGL, which is a graphics library that you can use in C++.

  • Can you explain briefly about what is OpenGL and what i can do with it?And also how it gonna help me in game development? Should i learn to make a game engine before start learning game development and making games? – Erad Ali Sep 30 '19 at 20:15
  • At least a bit of own effort would be great. You find a lot about OpenGL for instance on Wikipedia. In a really short form: it's a platform independent graphics library, as mentioned above. – csabinho Sep 30 '19 at 23:44
1

For a gaming novice I would suggest Unity instead of Unreal. Unity has a lot more learning resources online. Unity uses C# which is Microsoft's version of Java. Unity and Unreal are comparable, each has its pluses and minuses. An excellent place to start with Unity is at learntocreategames.com. You can actually communicate with the author. Prices are very affordable.

Garth Flint
  • 412
  • 2
  • 2
0

I would recommend starting by writing versions of classic games, like space invaders, asteroid or centipede, without using a games engine, just some library like SDL that allows you to get things on the screen relatively easily. That was you will see the parts of the game where good data structures and algorithms and maths (and to a lesser extent coding tricks) that you need to write efficient code. It will teach you a lot more than using games engines written by others. It is also more rewarding as you will have written a larger proportion of the game yourself.

Dikran Marsupial
  • 803
  • 1
  • 3
  • 14
-2

C++ may be a bit difficult for a first exposure of programming. I suggest starting with a java course, which is traditionally used as an entry-level programming language. Additionally, you could sign up for a web dev class that includes HTML, CSS3, and JavaScript. HTML is simple to learn and can help you become familiar with the world of coding.

  • 3
    OP already took a university course in C++, and is considering using the Unreal Engine. Why should OP switch out to web dev? – Ben I. Oct 03 '19 at 18:07