Making a Tutorial To Teach Myself!


Learning Frustrations

I started learning Unity by following tutorials. One of the first things that I learned about was how to move things around the screen by changing the position vector of the Transform component; seemed simple enough...

But as I consumed more tutorials I started to get very confused because it seemed like there were many ways of doing the same thing and I didn't really understand the difference between these different methods or why you'd want to do one over the other. Playing around with the Rigid Body component of an object also allowed it to move around but seemed to have something to do with physics that again was just very vague and fuzzy in my mind.

Despite my confusion, I did manage to build a few games that worked just fine so I assumed I had these basics figured out. 

I had not!

My latest game, Sprite Breaker, is just a little breakout style game and yet even with something that simple, I was getting some very odd behaviour from my ball and I didn't really understand why. I knew it was something to do with the physics system but didn't really know if I was handling the movement code for the ball in the correct way.

I was really frustrated that at this point in my learning journey I was still struggling with something that seemed to be pretty fundamental and I knew I needed to make an effort to really "grok" it.

Rather than just try things out in my current game, I decided to create a new project with the sole purpose of exploring different ways of manipulating objects in a 2D game. 


Deciding to Make a Tutorial

I remembered that quote by Yogi Bhajan that says that if you really want to master something, teach it to somebody else. So I had the idea to not only create a little game to explore these concepts but to take the creation of that game and turn it into a tutorial.

At this stage of my journey, I still consider myself a relative beginner so the idea of trying to teach others is a bit intimidating! Still, I figured that it would force me to really try and understand what I was trying to understand on a deeper level than if I was just playing around with the concepts on my own.

A Tale of Two Games

I came up with a simple game idea for Flood Drop where there would be several types of object that move in the scene; some just simple sprites, and others that would be physics objects, and of the physics objects, some static and others that actually respond to physical forces. 

I decided I'd do a dummy run of the game and just make notes along the way before trying to make a tutorial on it as I was certainly not confident in my ability to even build the game! 

In hindsight this was the correct choice as I stumbled several times and found myself tripping over those same issues that had caught me out in my earlier projects. So I dove deeper into documentation, more specific tutorials and chatGPT to deepen my understanding and finally it all started to make sense!

I had to backtrack a few times on even this tiny little game project but I got there in the end and had copious notes so at this point, I figured I would actually have a shot at making a semi decent tutorial. I considered this game more of a rehearsal for the final one.

The next day I started over with a brand new project, and this time I worked from my notes, step by step, recording videos explaining everything I was doing along the way. Despite all my notes, I still encountered a couple of minor issues and bugs! Learning never ends :-)

It was pretty nerve racking publishing a tutorial when I'm very much a consumer of them, but I figured that my audience is so small that nobody will really notice anyway :-) 

It's been a great learning experience for me and it has achieved the desired result. I am confident that I now understand the subject a lot more deeply than if I had just mucked around with a dummy project for myself without having the intention to teach it. I will certainly do more tutorials like this if I am inspired to do so.

Get Flood Drop (Tutorial)

Leave a comment

Log in with itch.io to leave a comment.