Course Feedback

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 ints instead of int32s. 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!

2 Likes

Thank you so much for taking the time to write the really in-depth feedback.

The general pacing issues towards the end of the course we are aware off. Sadly, they are too costly for us to change at this stage. We have definitely taken this learning on board and if you take a look at the new Multiplayer course, I think you will see that we have improved this aspect.

The same goes for issues around too much Blueprint and too many dead ends.

I’m surprise about the 720p. All the videos are recorded at 1080p. So if you know which ones are not, I would love to replace them.

Again, thanks so much for all the feedback and for being our student.

Thanks for the course @sampattuzzi!

I definitely intend to take your multiplayer course too in the near future, and I understand that this was probably as much of a learning experience for you guys as well as for the students!

In regards to the video quality, take this lecture as an example. There is no ability to select 1080p from the quality section, whereas in Ben’s videoes I could always select 1080p. It turns out that the video can play at 1080p through the Auto setting, but you can’t deliverately set it. This is a bit of a issue for me, as sometimes my connection isn’t consistant enough to continuously auto play at 1080, so I usually leave a video buffering at 1080 for a few minutes before viewing it. Without the option to select 1080, this means that the best I can get is 720, or leave it in the laps of the autoplay Gods (which tend to frown on down upon me :frowning: ).

Thanks so much again for the course, and keep up the great work!

Could you report this to Udemy as the source material is all 1080p?

Thanks so much for this feedback. Whereas I’ve left it to Sam to action any required changes, I have taken note and am very grateful.

I have now read all this once again, and wanted to say how grateful I am for you writing so much. Again rest-assured actions have been created to improve this course, and the general spirit has been absorbed for future content.

1 Like

I loved the course and I feel I am much better off because of it. I ended up doing my own challenges at the end with cleaning up all the assets that were left over after the old tiles were deleted. All the containers and boxes were left behind leaving a trail of debris, so I edited the EndPlay function of the tile.cpp to collect all the attached actors and delete them:
TArray<AActor*> TileChildren;
GetAttachedActors(TileChildren);
if (TileChildren.Num() > 0) {
for (AActor* TC : TileChildren)
{
TC->Destroy();
}
}
I depossesed and went back through where the tiles were deleted and found that the guns of the previous enemy were still there as well because they were not attached to the tiles, so I went into the Gun.cpp to the Tick function and ran a check to see if it had a parent:
if (!GetAttachParentActor()) {
Destroy();
}
I’m not sure if this is the best way to do it but it didn’t seem to fit in any other function. I guess I could override EndPlay for the character and delete it from there, but I would have to try that out. Overall, I loved the course and am about to start the VR course from you guys as well. See you in there!
William

That worked:
void AMannequin::EndPlay(const EEndPlayReason::Type EndPlayReason)
{
if (Gun) {
Gun->Destroy();
}
}

Privacy & Terms