Beginning 3D Game Development with Unity

Hi all,

I just wanted to introduce myself and, following in the tradition started by Will and Ryan, start a thread for my new book in case you all have questions, comments or just want to chat.

My name is Sue Blackman and I’ve written this book, Beginning 3D Game Development with Unity (Apress, publishers), especially for artists and designers and those of you who are new to scripting and game development in general. It starts with concepts and terms related to not only 3D, but the differences between realtime and traditional 3D for media.

The book is project based and takes you through the process of creating a classic first person adventure game- a genre that is very forgiving and well suited to beginning scripting. Even if adventure games aren’t your final goal, you will be able to get a handle on the concepts and implementation of game logic, state management, inventory, saving/loading and other in-depth topics useful in many other types of games. The approach is to start small and add functionality a little bit time with plenty of visual feedback for your scripting efforts.

Finally, the book comes with lots of art assets to fill out your environment and develop the functionality that defines the genre. More importantly, you will be able to extend and customize the basic game by making use of any of the extra objects included but not specifically used in the book. This makes it an excellent choice for the classroom where you can break the students into teams and let them use their imaginations to make the book’s project more challenging!

I hope this book will help many of you take the next step toward that ‘dream game’ you’ve always wanted to make!

-Sue

Version change issues:

Changes in Unity 3.4:
You are required to use “internal” rather than “private” when declaring variables that need to be accessed by other scripts but hidden from the Inspector.
This is the cause of the “…is inaccessible due to its protection level.” error.

Changes in Unity 3.5:
#pragma strict” is at the top of all new [javascripts] scripts. You may not use dynamically typed arrays for mobile platforms and that is what #pragma strict checks for. It will report errors where JavaScript arrays (rather than Unity arrays) are used.

There are several scripts that use JavaScript arrays in the book’s project. The project is not designed for mobile platforms so you can safely remove #pragma strict from the top of the scripts.

Changes in Unity 3.52:
someObject.active = true;
someObject.active = false;

has been depreciated and has been replaced with:
someObject.SetActive(true);
someObject.SetActive(false);

These don’t cause errors, but they do generate a warning

Changes in 4.0:
Importing needs to be handled by using the Legacy option- make sure that after you import, you click on the asset in the project view, click Rig > Animation Type > Legacy, and then apply.Unity is switching the animation control over to Mecanim slowly and we’ve lost functionality in the process for mechanical type animation

in the book, forget about the AnimationObjectsFull assets section- just set up AnimationObjects

Use Legacy Store in Root (new) for the Animation Type
Set up the animation clips
Drag the asset into the hierarchy view

It might look something like:
SomeObjects
objectA
objectB
some other objects

The Animation component will be on the root, SomeObjects

So now duplicate it once for each of the objects that animates, let’s say ObjectA and ObjectB

Rename the root object, SomeObjects to match the one you will leave inside it
then delete the extras in each

so now you might have:

SomeObject
some other objects

ObjectA Group
ObjectA

ObjectB Group
ObjectB

This gives you two benefits- the individual groups can be moved around the scene and the objects can now be triggered independently

to call the animation, you will always need to call it from the parent:
theParent : GameObject = gameObject.Find(“ObjectB Group”);
theParent.animation.Play(); // play ObjectB Group’s default animation

Triggering a second object when one is already playing and they are in the same group can cause the first to stop playing or move to some odd place in the timeline. If you were always going to trigger them one at a time and wait until each was finished you could leave then together.

When is the book released?

The book is released and shipping, you can find it on Amazon-

(amazon.co.uk has a nice first review, too )

Do you think you could show a webplayer/picture of what you can make with this book? :smile:

I’ve posted a few images in the Showcase forum, but don’t want to give too much away since that’s half the fun of doing a book project :slight_smile:

I did show a pic of the maze from chapter 15 along with the “Easter egg” - a mini-map overhead view of it (I won’t say how to toggle it off and on)- so far, that’s everyone’s favorite feature… because it resets…

http://forum.unity3d.com/threads/93795-My-Unity-book-project!

Sue

Here’s a picture of the cover … hope this gives you an idea.

hi guys,

I contacted the publisher yesterday and they told me the assets would be up this week (I will keep checking up on them).
besides the art assets, you will also be able to download the unity projects start and finished per chapter, the finished scripts for each chapter, and I’ve also included a bonus version of the finished game with a few new goodies that are explained in the gameNotes
You will also get the post-publish fixes for the bits pieces that sneaked by the edits- keep an eye on this thread where I will update that whenever necessary.

-Sue

“a classic first person adventure game” I assume you mean third-person?

At any rate, sounds exciting. When will the eBook version be ready?

No, First Person is correct. I was originally going to have a chapter devoted to the changes needed to take the first person (Myst/Riven/Zork style) to third person (Tales of Monkey Island, etc), but by then the book was already over 900 pages (with lots of images) and and my publishers wanted me to finish it.

I do discuss some theory and even have some examples in the last chapter, but to introduce serious character animation and control, dialog trees and deal with camera control, I decided it would need a second book to do it justice (not to mention lots of cool new assets!). I believe there’s plans for AI in Unity at some point, and that could make for even more useful things to include with a third person continuation.

The nice thing is that most everything covered in the book will be needed for third person :slight_smile:

I actually think a lot of people will be able to take that step on their own at that point, but am quite happy to help when I can- that’s one of the reasons I started this thread.

No idea when the e-version will be available, at this point I’m concentrating making sure the assets are available ASAP.

-Sue

For anyone who wishes to start working on the book: the first 4 chapters you are not really using any special art assets. After starting the book, here’s my take so far:

Ch. 1 - I really like the explanations on real-time games. For an artist who hasn’t done any programming, there are many things to consider when building a game, not only making the art fit the game. The explanations made me realize that real-time 3D games are soooo different than pre-rendered games, leading to why certain things are done in a certain way.

Ch. 2 - Unity Indie basics. I like the part on unwrapping, lightmaps, and materials in Unity game engine. I didn’t realize that certain things in 3DSMax don’t work in Unity, and has to be done in Unity.

Ch. 3 - Beginning scripting. Using cubes and spheres (which you don’t need art for), you create simple scripts that add interactivity and explained what you are doing and why. Here I really slowed down and worked through the book - the code styling made it difficult to go quickly.

Ch. 4 - Creating your environment. Using Unity’s own terrain generator, creating a test environment to play with. I did mine and it’s OK, not the greatest, but I had fun doing it. I think after this chapter, I will have to download the art assets, so I’m following the book closely.

This is a fantastic book! I’m excited and can’t wait …

Beginning 3D Game Development with Unity is perfect for those who would like to come to grips with programming Unity. You may be an artist who has learned 3D tools such as 3ds Max, Maya, or Cinema 4D, or you may come from 2D tools such as Photoshop and Illustrator. On the other hand, you may just want to familiarize yourself with programming games and the latest ideas in game production.

This book introduces key game production concepts in an artist-friendly way, and rapidly teaches the basic scripting skills you’ll need with Unity. It goes on to show how you, as an independent game artist, can create casual interactive adventure games in the style of Telltale’s Tales of Monkey Island, while also giving you a firm foundation in game logic and design.

  • The first part of the book explains the logic involved in game interaction, and soon has you creating game assets through simple examples that you can build on and gradually expand.
  • In the second part, you yourself will build the foundations of a point-and-click style first-person adventure game—including reusable state management scripts, load/save functionality, a robust inventory system, and a bonus feature: a dynamically configured maze and mini-map.

Just wanted to say thanks Sue for a fantastic book, I live in Australia and received mine yesterday, only briefly looked through it yet but know it’s a mine of information and well put together, I have the other Unity books so I can compare. You did a great job. I’m working on a game like Myst and maybe we’ll see the return of these sorts of games. Rob.

Hi, my name is Gene, and I am interested in your book, but I am concerned about who would benefit from your book. I am not new to programming, I do a bit of JavaScript programming, so I am not too worried about that. However I am not a particularly good artist, I get by with 2d and PaintShopPro, see www.renaissanceplayer.com if you want to see some examples.

I want to marry two genres together in 3d using Unity. I have been an adventure game player since Sierra introduced KQIII and have mostly played HOG in the casual game arena. My goal is to integrate the two into a project I have in mind. I am thinking about doing in in either first or third person and it seems your book may be just what I need.

I have worked through “The Game Maker’s Apprentice” and “Game Makers Companion” and they were extremely helpful in understanding development, bu I really would like to take my project into 3d.

Since I am not an artist will your book be the right fit?

Gene Poschman

Hi Gene,

Welcome to Unity and 3D! I don’t go into asset production in my book- for that, there are lots of good books, websites and forums for 3DS Max, Maya, Blender and others. Having some JavaScript is a great start as you will be familiar with the syntax, but you will be surprised at how much there is that is specific to real-time 3D. As most of the Unity books will tell you, creating even a casual game will take some time. My approach is to solve the functionality and game play a little at a time, building and making it better with each pass.

You don’t have to be an artist or designer to benefit from this book. I have assumed that many readers will have no programming experience, so I will generally take the long way around to script something so it is easier for them to read and understand.

The great thing about Unity is that you don’t need finished art assets to get most of the game working. You can use placeholder textures and 3D proxy meshes while you get the functionality worked out, and then replace, improve, and re-import at will. You may even decide at some point that an idea that looked good on paper just doesn’t work in game. If you had spent days or weeks on creating and possibly animating it first, you would be more likely to leave it in- to the detriment of your game.

That being said I’ve made a lot of extra assets for people to experiment with and will be more than happy to discuss functionality that readers would like to incorporate into the base scene. You will get lots of practice using both imported animations as well as become quite good with Unity’s Animation editor.

As you start to create your own assets in 3D, don’t get discouraged if they don’t look good enough- it just means they need more work! And if you are having trouble deciding just what exactly it is they need (which is usually much tougher than actually making the changes), there are always lots of people willing to give advice.

Anyway, hope that helps a bit,

Sue

Hi Sue,

Thank you for your quick response. I first got interested in Unity 3D from my Granddaughter’s boy friend. He attends a local community college here in the SF Bay Area and they are using the Unity 3D engine in their Game Development Certification program. Apparently Unity 3d has a tremendous appeal to artists. He was excited to discover I had a JavaScript background and was interested in doing Game Development. I have read some reviews of your book and I have pretty much decided I will get the PDF eBook from aPress. I initially purchased both Game Maker books from aPress and found having the book on screen while doing the game projects very helpful.

I have already developed an inventory system and an HOG hint system in the Game Maker scripting language, and I look forward to seeing what you developed in your book. Additionally my game project has a backyard maze (Victorian hedge type with pit falls and appropriate things that go bump in the night) that leads to a graveyard so that is another aspect of your book I am looking forward to.

I’ll update my progress through your book and hopefully I can provide some programming insight when I start working on my own projects.

Gene

Sounds good, Gene! I look forward to lively discussions on alternate implementation and cool ways to extend functionality for new features.

Sue

I got a reply from the publisher- the assets will go up on Thursday.
If there are any more delays, we will go to plan B where I will at least make sure the art assets are available.

Also got my website up - nothing fancy yet, but at least now I ‘exist’ :wink:

Sue

Hi Sue, WEB Site is…

Gene

www.3dadventurous.com

The source code/download tab is now viewable on the Apress website … 3.2GB.