Even though I felt pretty confident in my last post I’m really not sure where to begin. I have an idea of what I want to do and I have an idea of what I’ll need to learn. But, it’s likely I’m going to have to build this thing from scratch. I just don’t know where to start, so it’s time to educate myself. I feel like another tutorial project will do me some good. So after a bit more searching I’ve found Ruby’s Adventure!
As with most beginner tutorials (it seems) this one starts out pretty easy. The tutorial guides you through initial project setup and importing assets. It gives some in depth ifo about the UI, interface, keybindings, and controls. Most of it was a refresher from the previous tutorial but it can’t hurt to go over all of it again.
The next step of the tutorial goes over importing sprites, creating the main character, and creating the first script. It seems that using assets from outside the Unity store is as easy as dragging them into the interface. That’s a relief, as I was worried doing all the custom stuff I wanted to do would be a lot harder.
The first script is a simple one, just three lines of code that makes the character move autonomously. Even though I have no experience with C# it seems very similar to other languages I’ve dabbled in. This tutorial is filling me with even more confidence! I’ll be making a real game in no time.
The next step in the tutorial is all scripting. It goes over a bunch of stuff related to movement of the character. Very useful information in many ways. Shows you how to set your FPS, adjust vSync, and unlock movement from FPS. I can already see how I would use a lot of this stuff in my own game.
Another topic I have worried about. This one goes in depth into importing and slicing sprites to use for your tilemap. There was some slight inconsistencies between the different parts of the lesson that gave me some issues, so I ended up redoing the whole thing. That actually helped reinforce the lesson though. Going back through and recreating my first tile and the whole tile palette was quick.
Next up is adding new stuff to the scene. It delves into layering and making perspective work. Mind you, my game will likely not be isometric, more of a side view. But it does go into prefabs, which is good because that’s a huge thing. It’s just as simple as taking something from the hierarchy and dragging it into your prefab folder. Of course, it seems that the whole folder structure doesn’t matter too much, but the tutorial won’t tell you that!
Whew, lots going into my brain, but really useful information. Now we’re all about collisions. Again, it’s definitely something I need to know, can’t make a game without it. I have a feeling I’ll forget about some of this stuff and have to look up an answer to some stupid question, but it’s all in there. I like how Unity makes adding components to game objects so easy.
The next section gets code heavy again. It’s about scripting collectible items and allowing them to modify properties set on other items. Again, really useful information. The way it was written was a little confusing to me, but in the end it clicked. I’m pretty sure I’ll be referencing this whole tutorial a lot when I begin working on my game, at least at first.
Oh my, this section has been the worst of it so far. There are some inconsistencies between the code from previous sections that had me scratching my head. In the end I was able to get it all working as it should. It’s possible part of the problem was me, jumping ahead, around, guessing, skimming. . . My usual stuff. I did get a lot of out this and troubleshooting the code helped me a bit too.
Serious inconsistencies in this one. Tell you to name an animation one thing, then call it another everywhere else. Luckily it isn’t a huge issue and can easily be worked through. In the end though, with all the code it got a bit confusing. At this point in the tutorial they’re not giving all the code they’re explaining so it took me a bit of time to understand what it wanted me to do. After re-reading a section a few times it finally clicked and I was able to get things working the way they should.
Taking a Break
That last section was all I could take for the day so I called it quits. I did make it more than halfway through (9 of 16) the tutorial though. I must say, I’ve got a better handle on this whole thing now than I did after that first tutorial. I feel like this progression of learning has worked pretty good so far, and once I’m done with this I’ll be ready to begin actually building a game. I know I’ll need to look at more tutorials to make the game I want though.
Picking back up where I left off on the following day it was time to delve into projectiles! For the most part it was straightforward, it talks about layers and goes into more scripting. There was a section at the end about animations that refers back to the previous lesson though. Very confusing because it addresses concepts the previous lesson didn’t talk about and doesn’t give explicit instructions on how to do something. A little bit of guesswork later and I was able to get it going properly though.
The next lesson is all about the camera. Cinemachine specifically. Pretty short lesson, but definitely useful. I know I’ll be needing this for my game and this lesson went over some concerns I had with camera control. Unity really does make game development easy.
It seems the farther in this tutorial I get the more messed up it is. First there’s an image showing something described multiple paragraphs below instead of what you’d expect. After that I ran into issues with my particles not even showing up for some reason, turned out the Z axis was way off. A bit of googling and I was able to get that all worked out though. In the end I was able to complete the lesson successfully.
The next section covers adding the user interface. So many weird typos, grammar issues, missing words, and repetitive instructions. I did confuse myself greatly in this section at the end because I skimmed over a bit and missed a couple of important instructions. Even then it wasn’t exactly clear what needed to be done. Part of the problem is I’m still not fully familiar with how this whole things work, but in the end I got it functioning!
Raycasting and Dialog
So, after a hiatus of more than a week I’m back at it. And I feel it. This next lesson was tough because I had to wrack my brain and even backtrack a bit to get things right. As this tutorial progresses, it really stops holding your hand and expects you to remember even the smallest details from earlier lessons. Luckily, this was a short and quick one and I was able to get through it!
This lesson starts off really easy with some background music. After that is playing one shot audio. The lesson was a little confusing because it didn’t specify to add an Audio Source component to the prefab and I accidentally added an Audio Source GameObject, my bad!
After that was an exercise in adding more one shot sounds for other actions. Took me a while to get it right because I was trying to add them to the wrong scripts. After rereading the instructions I got it working though. It seems there’s a bunch of other sounds that could be added that were included in the assets supplied, but the tutorial doesn’t actually suggest adding them. Since I’m just learning, I don’t care much to do the extra work at this time.
And of course the final tutorial is all about taking something you’ve made and turning it into a proper game to distribute. Unfortunately, for some reason the actual built game won’t run. It loads, but I end up with nothing more than a blue screen. After a bit of playing around I was able to figure it out. Seems the project comes with a sample scene, which was automatically included in the build and that blank scene was what was loading!
Overall, this was a really good tutorial that has taught me so much about making a game. There were a few points where I got turned around or confused but that was likely due to my own issues. In the end I was able to successfully make a video game!