Unity 3D Game Development by Example Review
A while back we made a post of an upcoming review from Packt Publishing. Because of our recent facelift, we had to delay all of our reviews and we're finally catching back up to the plate. So with that said, we're sorry for making you wait!
In all seriousness, game development isn't easy; but luckily, we have some amazing tools to make it easier and also faster to produce some awesome games.
There are free and open source frameworks out there like Cocos2D and then we have the rather popular Unreal Engine. In the middle, we have Unity, an easy to use 3D game framework (but like any 3D framework, you can also create 2D games too). Unity has been gaining in popularity over the past few years and now with new features coming in every release, more developers are wanting to latch on to Unity's powers and incorporate it's strengths in their games.
Because of this, we have one book to start us off on Unity 3D, Unity 3D Game Development by Example. Let's stop with this intro and get on with the full review of Unity 3D Game Development by Example!
My Background in 3D Game Development
Now I hope I don't shock anyone, but I'm no complete genius at game development. I've only released one game to the masses (of course with the help of @egarayblas) and I expect more coming soon.
I've been an application programmer since the day I started programming, but with games, it's an all new world. I got a Mac earlier this year for iOS game development and picked up Objective C extremely quickly. The first month of the development for the first game that I released was actually hitting the books and learning Objective C. About a month later, I was able to get a prototype working.
For 3D game development, I only have the experience of messing around in Unity. I'm by far no expert in 3D design or programming, so my views come from someone who's used to game development, but hardly any 3D work.
Basic Rundown
Unity 3D Game Development by Example is just what the titles says, by example. Throughout the entire book, they give you an example of things one might do in the 3D (or even the 2D) world.
Unity 3D Game Development by Example starts out with giving a general overview of the controls in Unity that you'll be working with a nice list of 3D games you fancy and some others that are actually possible to build with a one or two man team. After that, Unity 3D Game Development by Example describes some more about the 3D world like meshes, lighting, and physics. Everything past that are different projects, both 2D and 3D, to learn about the Unity world and how to make your idea come to reality.
What the Book Covers
I have to give a hand to Unity 3D Game Development by Example for including so much in such a rather short 364 page book. Unity 3D Game Development by Example is not geared to teach you the advanced parts of Unity, but more along the lines to get you familiar with it. If you're looking for an advanced Unity book, I would check out Unity Game Development Essentials, which we will have a full review on soon!
Let's see what Unity 3D Game Development by Example covers, shall we?
- Introduction to Unity 3D
- Installation of Unity 3D
- What can you build using Unity 3D
- Overview of Unity 3D
- Working in the 3D world of Unity
- Learning about different resources Unity 3D can import and read
- Physics engine
- Particle engine
- Sound engine
- Help resources
- Coding in JavaScript for Unity Scripts
- Advanced areas like quaternions, mipmapping, and prefrabs
- Animation
- And more!
As you can see, nothing too advanced; you won't be making your own 3D models in this book or building a game like Crysis.
My Thoughts on the Book
Overall
With all honestly, Unity 3D Game Development by Example is one of the best books you can possibly get to start learning game development with Unity 3D. Not only does the book talk about the basics of Unity 3D, the overall language is quite funny (no seriously, view it for yourself)! The writing style is not boring at all and I'll admit it, I laughed quite a bit at the word choices used throughout the book. It really made it entertaining but also informative at the same time.
One big thing I really have to stress is that the author, Ryan Henson Creighton, did an amazing job at the overall structure of the book. I'm no absolute beginner at game development, but I have to say, this book is perfect for anyone who wants to take on the challenge to become a game developer. He doesn't rush you at all and the book is written in a way where your projects will be expanded upon later in the book.
Speaking about your projects being expanded upon, this is one thing I really enjoyed about the book. Unity 3D Game Development by Example really shows you how to take things from a previous project, manipulate them a bit, and get it working in a completely different project. This is one big thing for programming in general -- if you don't need to recode it, don't do it. It saves time and money in the long run if you use the code that you've written before.
Not only does Unity 3D Game Development by Example show you the basics of Unity 3D, but it also helps you through some situations that happen in the real game development world, like building a countdown timer or a progress bar. When creating a game for the Xbox 360, which Unity 3D supports practically every platform, you need to build those progress bars from scratch. It's a good thing to know how to do and I'm glad that the author guides you through on how to do such a thing.
Explaining the Code
This is one of the biggest stressors when I speak with beginning programmers. For a good chunk of the books on game development out there, they don't tell you why they're writing the code but they instead tell you what it's doing. I know for most beginning level programmers, even myself at times, it's hard to know why exactly that code is there at that point. In Unity 3D Game Development by Example, you don't need to worry about that. The code the author writes is fully commented and he explains why that line of code is there at that point in time.
Finding Help
The biggest obstacle for most programmers, even the advanced ones, is knowing where to look. I've found Unity 3D Game Development by Example mentioning if you want more information on a topic, look at the Unity Script Reference. Quite a few times throughout the book the author recommended for the readers to explore around and tweak random settings with reffering to the Unity Script Reference website. In other words, the book wants you to try to figure things out on your own and I highly encourage that. Change that setting there and see what it does; it's the best way to know how something really works.
The Advanced Topics
The author purposely chooses not to write about the advanced topics like quaternions. For a beginners level book, the explanation of a quaternion would most likely confuse anyone. It's high level math and it doesn't belong in a beginners book. I'm glad that Unity 3D Game Development by Example acknowledged the fact that they're existent and how to use them with Unity, but not explaining on how it really works. That would just confuse anyone who's learning 3D game development and make them feel that they're not cut for the job. I felt that many times during the first month of learning how to create an iPhone game.
Should you buy this book?
If you've ever read any programming books before, you know the times where you're working along with the book and you somewhat understand what you're doing, but not really? This won't happen in Unity 3D Game Development by Example. Because it's more lenient to beginners, it tells you why you're writing that line of code. I even found several things being repeated in the book and I thought to myself, wow, this is great! If the author is using something that was covered earlier, you could still go back and refer to the portion of the book that discusses that one topic. The repetition really helps, even for myself if I'm lost at why that code is there.
Unity 3D Game Development by Example really grasps the concept of you're not going to be creating a high class game and you need to start out small instead. For the big questions you have, those will be answered while reading the book instead of learning how to create the next hit game.
And one last thing before this little section ends, if you like goals and checklists, you'll love this book! The author at the very beginning of each chapter mentions what will be accomplished during that chapter and at the end, he marks off the goals completed and to continue onwards to the next segment. It'll help you know where to start when creating your first 3D game and planning what you'll do until you complete said game. Having a game plan is important in development.
Final Thoughts
Even though I'm no beginner at game development, but a novice at the 3D world, I really enjoyed reading this book. The language that is used throughout the book really keeps you attached to it and wanting to read more. It doesn't go too in depth but at the same time gives you exactly enough information to get the job done and knowing why you did it that way.
If you're looking to start learning 3D game development with Unity, I highly recommend this book. If you're scared of the coding aspect, don't be. I can already see as a programmer myself that Ryan spent a great deal of time writing the book so that it would make sense to people who are just learning programming for the first time. He doesn't assume that you have any knowledge at all and because of that, you'll feel like Unity 3D Game Development by Example was basically made for you.
In the end, I have to give a thumbs up to Unity 3D Game Development by Example. It's easy and rather fun to read, planned out well in a way that guides a beginner programmer though the book, and at the end, you'll have enough knowledge to make your own game!
For more information on Unity 3D Game Development by Example, feel free to check out the Packt Publishing website for the book below:
Stalk me on social media! Any other way would just be creepy…
Follow me: