View the Glossary for the Course
In this course, we’re going to be making a 3D physics-based Eight-ball pool game using Unity. With that said, the ultimate goal of this course is not to show you how to make an eight-ball pool game per se, the ultimate goal is to use it to help you learn the basic principles of game-making in Unity that will enable you to create your own games.
One of the prominent features of our game is a real-life physics simulation.
In other words, in the game that we will be making in this course, the player will be able to make jump shots, that make the ball bounce off the table; and swerve shots, that make the ball move in a curve.
Another distinct feature of our game is a pretty hard-to-beat AI player. What’s important about the AI part is that while working on it, you will learn how to code complex data-driven game logic, which is a pretty valuable experience.
In this course we will not only show you how to just make a game in Unity but we will show you how to make a publishable mobile game. The eight-ball pool game that we will use as an example in this course has been published on both Apple’s App Store and Google’s Play Market and we will be making this game with an ultimate publishing goal in mind so that you can get the full experience.
And finally, since we aim to show you how to make a publishable game, we will also show you how to incorporate basic monetization by integrating ads into our project.
Alright, again, in this course, we’re using eight-ball pool as a learning example, to teach you transferrable skills that you can apply to any other game that you might want to make.
In order to achieve that, we provide what I like to think of as exhaustive explanation, while in reality, for some of you, it might be exhausting explanation. Therefore, the first chapters of this course have two versions of the same lesson, one with detailed explanation, and one with very little explanation.
We call them the Fast Track and the Learning Track lessons. So if you already have some experience with Unity, you might want to go for the Fast Track lessons, and switch to the Learning Track when you feel like you might need additional explanation.
Another feature of this course is based on the idea that learning is never a straight path, meaning quite often when we bump into something new, we cannot fully comprehend it as it requires additional knowledge and practice to become fully palatable.
So, throughout the entire course, we will be guiding you back to the previous lessons and we encourage you to actually do so. To help you navigate through the course, we have Glossary that contains descriptions of important concepts that you need to know to feel more comfortable with Unity. The Glossary also contains a list of references where the concepts are being explained and applied. In addition to Glossary, in some lessons, we also provide links to our YouTube videos that can give you additional information related to the lesson
Now, this course is designed for people with no experience with Unity. Zero
However, if you’re new to programming in general and if you’re not familiar with object-oriented programming, we recommend that you check out our YouTube channel first.
The main reason why we’re not covering programming in general in this course is simply because Unity is not a good choice for that.
However, this doesn’t mean that this course is not a good fit if you’re completely new to programming. Just go over the videos that we have on our YouTube channel, and you will be fine.
Another feature of this course is the prototyping approach. Even though we’ve made and published the game before we started working on this course, we decided to show you a somewhat more natural process of game development where we start simple, with primitive graphics and simple functionality and expand our project throughout the course.
For example, instead of spending a lot of time perfecting the game controls or the UI, we first create a more primitive version and then polish them in smaller increments. And as we do that, we show you how to fix common bugs and address larger issues that arise when you expand your project.
We believe this approach is more beneficial for learning as the experiences you get in the process will enable you to address similar issues in other projects that you might be interested to be involved in in the future.