A Massively Comprehensive Guide to Unity and C# Programming
Ben Tristem is back with an all-new Unity course that seeks to improve on the highly successful Learn To Code Making Games – Complete C# Unity Developer. As a recent graduate of that course, I sought out the new version 2.0 to see what’s changed. Here are my thoughts.
About the Author
Ben Tristem has authored several hugely successful courses in Unity, Unreal, C#, and more. With his expertise in game development and physics, he has amassed more than three hundred seventy thousand students. Tristem was kind enough to give me access to his course. Rick Davidson joins in this time as Ben’s right-hand man. The duo make a strong combo, keeping the course fresh by switching instructors to vary the content. Davidson has authored five total courses on Udemy, including the popular RPG Core Combat Creator for Unity 2017.
Who is the Course For?
The course is targeted at beginners and intermediate developers. Topics range from the fundamentals of Unity, to more advanced concepts such as design patterns, path-finding, and co-routines. The original course flow worked in a similar manner, but there is a noticeably aggressive increase in pacing. As someone who finished version 1.0, I was surprised at how adequately challenged I felt with the middle and terminal sections of the course. With its numerous, varied, and fast-paced workshops, I found my effort level increased exponentially.
What Has Changed Since Version 1.0?
The new 2.0 version has seen a major overhaul with changes including:
- A switch from Unity 5.x to Unity 2017
- Tilemapping (*new Unity feature)
- Timeline (*another new feature)
- More C# coverage
Among my issues with the old course was its inadequate version control coverage. Tristem now goes all the way from version control at a high-level, to teaching things such as branching, stashing, and more. The course goes into a fair bit more detail on game design as well. Where the previous course just threw a game at you to create, this course meticulously draws out every detail on paper. Outlining the core features and expanding on them. This process follows a lot of vital game design principles, which stay consistent with each new workshop.
All subtitles have been professionally transcribed in English, Portuguese, Italian, Japanese, and Spanish. This is so refreshing after watching so many YouTube videos where the subs didn’t come remotely close. When subtitles work well, you don’t really notice them; however, when they are terrible, this can translate into a frustrating experience. What was that word the instructor mumbled? If the subs don’t work, you might never find out.
The process of iteration that is a core programming skill is displayed perfectly. Tristem explains his thought process while coding live. Prototyping is also done live from file creation, to iteration, all the way to the end. Co-author Davidson also lends a hand in showing iteration through level design. The varied coverage of coding to level design helps keep the material fresh.
There’s a real sense of empowerment as you venture through each chapter, creating the core of different game genres that pair with the concepts taught, which allow room for further experimentation and even publishing for those inspired enough.
“There’s a real sense of empowerment as you venture through each chapter…”
The course currently sits at twenty-five hours of video. About half of its predecessor, but new content is constantly being added. Right now a 2D platformer, “Tilevania” is in the works, which uses the all-new Tilemapping feature that comes with Unity 2017.
Other sections include creating a hacking ASCII game, “Terminal Hacker”, which is a fairly C# focused workshop. The middle part of the course will show you how to create a spaceship platformer, “Project Boost”, which covers topics such as: physics, input, audio, attributes, scene management, particles, and a precursor to co-routines. This is where the course really starts picking up the pace, and I think most intermediate developers will feel more engaged.
“This is where the course really starts picking up the pace, and I think most intermediate developers will feel more engaged.”
Then the course covers a 3D rail shooter, “Argon Assault” (think Starfox 64), which covers Timeline, terrains, cross-platform design, collision, importing packages, design patterns, encapsulation, backpedalling with version control (stash, branch & reset, and reset). As you can see, each section gets larger and more advanced. Next comes “Realm Rush”, a tower defence game, which includes: path-finding, co-routines, data structures, manual testing, manipulating lists, optimising algorithms, circular buffers, and more.
Last comes the very promising “Tilevania”, a 2D platformer using Unity 2017’s new Tilemap feature. This section is still under development, but you can get access to the first 7 parts before anything more is added.
The author also runs a Trello page where users can see the full curriculum as well as request new lessons. If you’re interested, you can see the full plans for the curriculum here.
Overall, the course has seen such a drastic improvement since version 1.0 ended. The editing of the original course was mostly good, but occasionally things were all over the place. This time around things are handled much better. I always felt like I was being kept up-to-date on Tristem’s thought process. He touches momentarily on a concept called the Spiral Learning Theory. It refers to the idea that it’s OK to not fully understand a concept before moving on because that concept will be revisited again and again (just as a spiral repeatedly comes full circle). One method of revisiting is by refactoring old code. This has two major benefits: you’re reviewing concepts you just learned, and you’re also learning the vital skill of refactoring (i.e., improving code). While refactoring, Tristem talks about firstly, what the code (in its current state) does, how it can be improved, and once updated, what the effect will be. In doing all of that, Tristem expresses everything that goes into the process of writing intelligent code. I have seen many tutorial creators who skip this, but it’s really vital for a beginner to understand the process so they can form proper coding habits.
While Tristem’s use of this teaching strategy is overall strong, it can occasionally be frustrating. For instance, I wanted to explore the version control sections all at once; however, they are split into different parts of the course. Where a beginner might benefit from only doing a bit of something advanced at a time, as a more intermediate user, I found it frustrating scrubbing the content to find exactly the parts I wanted to learn. This is doubly true when reviewing a concept; however, when learning for the first time, this teaching strategy helps keep the course moving forward without getting hung up on anything. If this is your first time working with Unity or C# then you will likely find this unorthodox teaching style beneficial, as it will have you working hands-on quickly and learning many vital development skills in a short span of time.
What area of Unity do you want to see covered most?
— riskofTayne (@riskofTayne) April 2, 2018
Learn to Code Making Games – Complete C# Unity Developer 2.0 is a vastly improved and superior version to 1.0. The authors looked at all of its flaws and fixed them. Took all of its strengths, and made them stronger. What they have done here is turn what was a great course, recreated it from the ground up, and made it into something special. Finishing this course will get you very comfortable with Unity and have you writing better code.
I will continue covering the course as it grows. Right now things are heading in a solid direction with the promising 2D platformer Tilevania, which uses Unity 2017’s new Tilemap feature.
- Up-to-date (Unity 2017)
- Mac and PC coverage
- More aggressive pacing
- Vast improvement over the old course in many aspects
- Superb coverage of Unity and C#
- Showcases Unity 2017’s new Timeline and 2D Tilemapping features expertly
- Spiral curriculum can frustrate
Get the course – https://www.udemy.com/unitycourse2/
More from the author – https://www.udemy.com/user/gamedevtv/