Learning C++ (A Guide)

#1
If you're a programmer and want to work with CRYENGINE, it won't take too long until you ask the question "Do I need to learn c++?". The short answer is yes, you should. The longer answer is that C# support is improving and Schematyc is also becoming more capable with release 5.5 (not released at time of posting). I fully expect C# to be a viable path for development in a few release cycles.

So the question on whether to learn c++ or not is all about how far you want to push the engine, and also typically about performance - since c++ is the most performant of all the options.

Let's assume you decide to learn c++; how do you go about doing that? What's the best way to learn? That's going to depend a lot on the type of person you are, how much time you have available, how proficient you wish to become, and your existing skills. There's a plethora of online resources dedicated towards teaching you c++, some paid for, others available for free. It's an old language, it's well establish and prolific, so finding information is as easy as typing "learn c++" into Google.

In the spirit of LMGTFY I'll post a few resources here to help get you started.

ONLINE RESOURCES

Learn CPP seems to have decent content, is free, and doesn't make you sign up to use it. It covers everything including templates. The content was written in 2007, so it won't cover c++11/14/17 but that can be learnt after you have the basics.

The Wednesday Wisdom C++ Tutorials cover a range of subjects, posted by the community.

@Fury22UK has a series of videos he is publishing as he builds an RPG game. They are an unedited view into the process of writing c++ code specific to the RPG genre.

BOOKS

Scott Meyers has several books that are written for people with strong c++ skills, looking to become even more proficient. They come highly recommended.

Effective C++, Effective Modern C++, Effective STL

Bjarne Stroustrup literally invented the language.

His book, The C++ Programming Language, 4th Edition is a complete guide to the entire language. It's an invaluable reference, and good for refreshing your knowledge, but I can't recommend it to beginners at all.

For getting started, a lot of reviews are quite positive for C++ Primer Plus (6th Edition), though I can't personally attest to this, as I haven't read it.

Once you have decent c++ skills, you might want to read some of the books that are specific to CRYENGINE. Although written for an earlier version of the engine, CryENGINE Game Programming with C++, C#, and Lua still has a lot of useful and relevant information.

WORTH MENTIONING

MIT OpenCourseWare has a large number of courses, not just on C++ - as does Stanford.

GAME ENGINE SPECIFIC RESOURCES

While these resources won't teach you C++, they will teach you how to apply your knowledge to the specific domain of game engines.

Game Engine Architecture has long been on my wish list. Although now somewhat dated it is considered a classic.

FINAL THOUGHTS

There's tons of resources I haven't covered. Recommend any worthy additions below and I'll add them to this post.
Last edited by ivanhawkes on Thu Dec 06, 2018 6:19 am, edited 2 times in total.

Re: Learning C++ (A Guide)

#2
You mentioned very helpful sources to learn C++ itself, but after learning standard C++ it's good idea to look into Cryengine specific C++ guides.

So I know this book is old and treats about older Cryengine versions, but it still can be very helpful for the new starters https://www.packtpub.com/game-developme ... -c-and-lua

Also extremely helpful tutorials about C++ for cryengine - viewtopic.php?f=11&t=108

Also for newbies, my youtube channel that can be found down below in my signature.
Cryengine tutorial videos on my Youtube channel! Check it out !
https://www.youtube.com/user/MusicForLifePL20

Who is online

Users browsing this forum: No registered users and 2 guests