Lets Make a Hack n Slash game with SDL2 and C++

Learn how to make a nice little hack n slash using SDL2 and C++ like a boss!

3.75 (136 reviews)
Udemy
platform
English
language
Game Development
category
instructor
Lets Make a Hack n Slash game with SDL2 and C++
1,255
students
14.5 hours
content
Nov 2022
last update
$74.99
regular price

What you will learn

Make small games with SDL2 and C++

Learn game development fundamentals and beginner principles

See how it feels to be an Indie Dev :D

Why take this course?

In this course I'll take your intermediate C++ skills, buff them up a little and use them to make a Hack n Slash game using SDL2. You'll be taken through the entire process of making this game and given source code of the project at various checkpoints if you get lost along the way.

We are going to learn basic game dev elements, such as game loop, animations, collisions, player input and AI. I'm also going to boost your skills with Inheritance and Polymorphism to simplify a complex game structure down into a few short bits of game logic.

At the end of the course you'll walk out with game dev experience and a little game you can expand on and even build up to a marketable game.

Let's make a game!

Screenshots

Lets Make a Hack n Slash game with SDL2 and C++ - Screenshot_01Lets Make a Hack n Slash game with SDL2 and C++ - Screenshot_02Lets Make a Hack n Slash game with SDL2 and C++ - Screenshot_03Lets Make a Hack n Slash game with SDL2 and C++ - Screenshot_04

Reviews

Brian
March 31, 2023
The pacing of the course is VERY slow. The instructor seems quite disorganized at times. Certain things are glossed over or entirely unexplained (or worse, explained as what everbody else does), meanwhile things that should be basic/intermediate C++ knowledge are dragged on and on. So far I'm extremely disappointed with this course but I'm attempting to stick it out since I paid for it.
Douglas
October 31, 2022
It was great to follow along and see how much work it would take to make a 2d hack n slash game. This was great for me. Not so good at actually teaching concepts but he does a good explanation of why he does what he does. If you ever wanted to demystify game development this is the course for you. I do not recommend for beginners though. Great for intermediate and advanced users who can reverse engineer and learn it on their own after they practice writing the code for the game.
Dan
January 3, 2019
Finished the entire course. I am happy with the presentation, every line of code written in the project is explained and the course is full of useful information about game development. The only thing I noticed, is that there is a lot of dead time that makes the videos unnecessary longer and it can easily be avoided with a little preparation before recording the lectures. Overall, if you are in to game programming, this is a course for you.
Bill
March 8, 2018
Going into this course I would say I'm an intermediate C++ programmer. I wanted to see SDL in action and learn a bit more about game creation outside of books, and I was not let down. I really enjoyed the pace of the course, and I would have liked to seen more exercises in each section. I was hoping to see some more UI actions with mouse clicks and buttons, would allow for expanding into multiple game types. Overall, it was simple to follow along, the instructor Matt was excellent, easy to understand. Well worth the cost!
Markus
February 15, 2018
Instructor reading code from one screen and writing it to another. Long stretches of writing code without being able run it. Doesn't go into details of SDL2. Generally bad programming practices, and doesn't use modern C++ features.
Dan
February 9, 2018
There is a lot of content in this course and it can be enjoyable to go through. You will definitely learn a lot. The most unique/interesting aspects in terms of content are the animation and collision sections. However, I had two main issues with this course: 1. There is a very long part of several hours of video that you go through with just typing in code and having no runnable app/game at the end for that section to test the new features you have added. This made me fight to continue past that part. It would be much better if after each section, the game could be tested (e.g: just showing a character, character with walls, character with attacks and no movement, character with movement...something of the sort). This is especially useful for those that don't want to blindly download the instructor's source files and who may have added their own mistakes in the code. 2. The "coding style" is all over the place...and some decisions just make the code uglier due to "not spending too much" time. This is a learning experience after all, and some students of this course may be learning to do things the wrong way in C++.... I have a lot of gripes including: - member variables that should be private with accessors are public - there is consistent use of non pass by const-reference, particular for std::strings; it is more efficient and good practice to have function parameters as "const std::string&" if you don't need to modify the string - including other header files should NEVER be done in an .h file, EXCEPT if the symbols you need are to be used in that .h file; otherwise, the .h file you want to import should always be added to the .cpp file; this will reduce compilation times and dependencies in a larger project - a rather dubious way of relying on floating point accuracy for collisions, or otherwise we get an infinite loop (the fix didn't work for me 100% of the time) - if you compile the code in this course, you will get a TON of errors, particularly conversion errors; this is definitely not clean code; and if you do force some divisions properly with 2.0f and things of the sort, and do casts, you will most likely make the collision section fail (see above), if you don't add additional "fixes" - the instructor is missing an EntityManager, that should have all the functions for adding/removing entities, EntityCompare etc...since we do have a SoundManager, I did not get why the instructor did not choose this option, it makes things cleaner. Furthermore, managers should general be singletons rather than straight global vars, for keeping code clean and maintainable. - the instructor's classes are WAAAY to big...and some code doesn't even make sense to be there...all the math stuff with collisions and angles can more appropriately be moved from Entity to Globals or some other global/static file like MathUtils or something - you should use std::find_if when searching for things in a container, based on an attribute and the instructor never used the range for with auto, ...e.g: (for const auto& entity: entities).... - much shorter and less error prone than alternatives, no iterators needed - many more..but I think this is enough to get an idea
Acs
January 18, 2018
Antiquated c++. Code is much more verbose than needs to be Usage of plain text files to store data that would be better in JSON or XML. After a viewing a few more videos I realized that there are numerous bugs (displayed while the instructor is playing). Also no usage of proper algorithms.
Xavier
December 16, 2017
Extreamly well paces resources for each section are easy to use and logical and gives us the work from the end of the previous video incase we cant trouble shoot it our self. Best teaching tutorial I have ever used / watched.
Jitesh
October 5, 2017
Hey Matt! Its been a great experience learning from you. This is the course that every person who is keen to learn game development should start from! Everything is explained to the point and well versed. I had learnt Polymorphism in C++ but this is the first time i have applied it in some application! Moreover, You have been patiently answering all my doubts, so thankyou for that, haha. I would rate this course a perfect 5-STAR. Improvements: 1.) You could have explained how actually GROUPS CODE work. 2.) I would suggest to make 2 or 3 videos on how to use FrameBoy. 3.) You can add some bonus video on how to add Camera to the game (when the game map is larger than the screensize). Overall, this is one of the best courses on Udemy. Cheers Mate! (y)
Alex
September 25, 2017
I'm a C++ programmer with 6 years of experience and I'd a lot of fun doing this one. Absolutely love it.
Marc
September 21, 2017
Amazing course for beginner/intermediate C++ programmers who'd like to do a little practice by programming a game. Matt cleared few things for me that I didn't understand in C++ and we finish with a cool 2D project !
Damir
August 13, 2017
You will learn how to start thinking like a game developer. Overall good course. I would recommend it to someone who want's to start doing games in SDL2.
CW
August 3, 2017
Matt gives details explanation about why certain things are done for each class. This is very helpful.
Dgill
March 23, 2017
Good tutorial and good explanations, but it is dated. There were a few times that I had to go figure out a problem on my own in order to get the project to work. If I had not had experience with both visual studio and c++, then I would have likely not found the solution.
Samuel
February 15, 2017
It´s a nice approach about what is doing a game from the scratch in C++. I´m really interested in keep going and see how far is it. I knew most of the things that Matt explained in this course so for me it was more about remember and consolidate them althought for people who want to start writting their own engine is something really nice. Just for complain a bit, presentation of these clases weren't that nice. I mean. It looks like Matt capturing his window and just writting. Sometimes it needs some edits, some zooming...some nice presentation. And also don't take this course as a perfect example about how to program/how to build a good c++ base. For me it's a super nice example about how to start building your own engine but some of the naming conventions, way of code, ..., etc are not correct, according to most of the C++/programming conventions. Anyway. I really like this course and I'll take your example to start to build my own with the things that I know. Matt: for the next one, I recommend you to make this: - Maybe some LUA integration to expose variables/classes outside. - Maybe how to create a decent GUI. - Maybe how to create your own tools for editting the frame animations, sounds, etc. - Maybe translate this course to differents languages? I'm Spanish but I can understand perfectly English but for some people it could be super useful to at least have some subtitles. GG Man!

Charts

Price

Lets Make a Hack n Slash game with SDL2 and C++ - Price chart

Rating

Lets Make a Hack n Slash game with SDL2 and C++ - Ratings chart

Enrollment distribution

Lets Make a Hack n Slash game with SDL2 and C++ - Distribution chart
803400
udemy ID
3/25/2016
course created date
9/28/2020
course indexed date
Bot
course submited by