Hi @sampattuzzi and @ben,
I’ve just completed the course, and wanted to give you some feedback on what I thought about the course on the whole.
First of all, thank you so much for creating this course. It must have taken a considerable amount of effort to not only create, but maintain the course content to keep it relevent! I have learnt a tremendous amount throughout, and for the most part, it has been a fun and enjoyable experience.
Before I give my feedback, it’s probably important to give a little background on myself, as well as outlay what my expectations were for the course.
I came into the course with several years of programming experience in web development - this mainly revolved around C# and JavaScript languages - but I had zero experience of C++ or Unreal. I actually completed most of your Unity Game Dev course a couple of years ago (which I thoroughly enjoyed!), and o had some experience of the work flow involved in creating a game. I came into this course hoping to learn C++ through the medium of game making, and by the end I hoped to have a couple of relatively complete games under my belt that I could develop and add features to.
Firstly, I think you both are fantastic people, and made me laugh a lot through all the videoes. I think it’s a real boon to be able to keep things entertaining throughout a potentially dry subject such as computer programming, and it meant that areas of the course that could have been exceptionally dull, were actually interesting. So thanks for that!
So, on to the feedback!
I started this course in January this year, and worked through the course happily until the end of the Bull Cow game. Everything was going great up until this point, although I began to feel uncomfortable with some of the C++ that we were using, so in between the Bull Cow game and Building Escape, I actually worked my way through this book in the interim, which really helped to fill in my knowledge. I felt that this reinforced what you had been teaching, and provided a great companion to your lectures. This isn’t a criticism aimed at the course, as I think trying to introduce more C++ content at this point would have weighed down the course a lot, but I thought it was worth mentioning.
I loved Building Escape. I thought that it was really well paced, and seeing a game come together was really exciting. I felt that by the end of it, I had learnt enough to add features, and really get stuck in with the project if I wanted to. A perfect section!
Battle Tank is where I started to have issues. I thought the pacing was pretty horrible throughout this section. We seemed to spend an age at the beginning tweaking and changing terrain, while the end of the section felt incredibly rushed. I felt that the end result wasn’t really a playable game, but more akin to a technical demo. From a learning point of view, this doesn’t really matter because there were a load of awesome features and functionality that we were taught, but it just pains me a little that if the section had been paced a little better, we could have ended up with a more polished final game. At the end of this section, I didn’t feel proud of what we had accomplished, and didn’t really feel any desire to add to the game, which was a shame.
Finally, Testing Grounds. This section suffered the most from pacing issues. I felt at one point we spent a ridiculous amount of time messing about with the first and third person meshes, before changing how the Firing Component worked, and spending even more time switching everything back! A lot of this section (especially early on) felt extremely ad hoc, and the whole experience suffered for it. There were some parts when I didn’t even know what to title my Git Commit, because we’d been flicking between code without a pre-defined purpose. I think it’s a really valuable learning experience to illustrate how you can “code yourself into a corner”, and how to get out of it, but when you’re dealing with already complex concepts, I feel the whole “Ahah, now this is why we don’t do it this way” element is uneccesary, and confusing. In earlier sections, it’s great, but in the final section, definitely not. I’m struggling to understand things enough the “right” way, without learning the “wrong” way, then having to forget it, then do it the “right” way. To compound the issue further, this just adds uneccessary lecture length.
In short, I feel that there should have been a lot tighter focus in the final project. The GDD should have been laid out with a more complete set of objectives, and while evolving, it should have been constantly referenced to throughout the lectures so we didn’t get bogged down and lost in the details. This would have resulted in shorter, more digestible lessons, less time going backwards and forwards over concepts, and possibly more features being added to the game in the same time frame.
To keep this feedback relatively brief, here are a few more points that I jotted down over the course of Testing Grounds:
- We learned about IK, but it was never actually needed. I never implemented it when I realised that the default animation was more than adaquate, and I felt this could have been cut from the course, or we should have implemented it in a more meaningful way.
- Too much Unreal Crashing / coding errors. I like the “raw coding” style of your videoes, but even so, some of the videoes could have done with more rigorous editing as I don’t need to see Unreal crashing and reopening repeatedly.
- Perhaps a personal thing, but I got to the point where I just couldn’t complete the challenges anymore in this section. I felt a lot of them weren’t clearly defined, or the methods necessary to complete them weren’t outlined beforehand. Again, this could just be me, but it felt like we went from hand holding in Building Escape, to gentle guiding in Battle Tank, to full on Dwarf Fortress mode in this section!
- In other sections, there was a semi regular “Refactor/Tidy” lecture, which I loved. It was a chance to get everything in order, and make sure our code was neat. I found these really important, because when learning a new language, I like to see clean examples of the code. Testing Grounds could have sorely used some of these videos, as we ended up with mismatched spacing, hardly any comments, misnamed categories, and
int
s instead ofint32
s. It would have been great just to take a step back from the code for a lesson, take a breath, and make sure we’re on the right track. - What happened to the level being “locked down” when we were spotted by the guards? Again, this would have been alleviated if we were constantly checking/updating the GDD.
- The gaps between touching C++ were just too large. I did the last couple of sections in relatively quick succession, but I really struggled to get my head “back in the C++ zone” after spending so much time in Blueprint. Yes, I would have loved to see more C++ and less Bluepint, but this course is as much about Unreal (thus Blueprint), as it is about C++, so it’s understandable. But I feel they should have been more mixed in their application. Feasibly, it could be months between coding C++ in Battle Tank, and finally getting to some C++ coding in Testing Grounds. From a learning perspective, this is just too long in my opinion.
- Please make all videoes in 1080p. The text at 720p is just too blurry (although I am old, so take that with a pinch of salt!). The earlier lectures were all in 1080p which was lovely, and parity throughout the course would be greatly appreciated.
All in all, I thought the course was very good, and I don’t want to sound completely negative. The only reason I’m spending so much time citing these issues, is because I believe that you guys genuinely care about the community, and would like genuine feedback. My score for your course fluctuated a lot over its duration, from 3.5, to 5, but overall, I’ve settled on a 4.5, as I think that reflects the stunning amount of work you’ve put in to create quality content, while ackowledging that there’s a smidge of room for improvement, especially when it comes to planning and pacing.
I’ve had a lot of fun on this course, and have no idea what to do next, but one thing’s for sure - I’m a better programmer now than before I began this course, and for that I am eternally grateful to you both!