Showing posts with label Unity3D. Show all posts
Showing posts with label Unity3D. Show all posts

Tuesday, 6 January 2015

Unity 4.x Game AI Programming

Just complete the book. Interesting readers can buy it from :

https://www.packtpub.com/game-development/unity-4x-game-ai-programming

While the book is not impressive in Game AI content compared to some of the more specialized Game AI books that i read in the past, it does contain some code snippets which show how the game agent should behavior, as well as useful tips for physics and animation. Moreover the book is rather easy to follow.

Thursday, 1 January 2015

Beginning 3D Game Development with Unity 4

Just completes the book, interesting reader can go to the following link to buy it online:

http://www.apress.com/9781430248996

The books is primarily for point-and-click adventure game and goes in length to describes the various of this game genre's development in Unity game engine. It has lots of instructions about how to perform various tasks of a point-and-click adventure game development in Unity game engine. On the other hand, the book is too long and a bit long-winded for my taste. While the coding and development is not difficult to understand, they are not very concise. To my personal taste, the javascript codes in the book do not provide very well encapsulated OOP. Some parts of the scripts are simply too long-winded and do not need to be explained for me (as they are quite easy to understand with a simple example, but sometimes take 20 or 30 pages), which i feel it is really costly for someone attention span when what one does need is just a quick understanding. The book tries to be comprehensive and squeeze most of stuffs of an adventure game development into its content, but many of the parts are just not necessary to go through and make the book feel more like a manual. Maybe they are good for some readers as reference. The book give me a good opportunity to learn the generic and legacy animation though.

Friday, 12 December 2014

Unity 4.x Cookbook

Totally worth my money to purchase the book, The book is relatively easy to understand and contains a lots of visual clues on the instructions which makes the practice very intuitive as some instructions which can a bit complex for a beginner of Unity game engine. I particularly like the introduction on the animator and the mecanim engine and the camera tutorials. The book serves well for the beginners who want to learn about Unity engine.

https://www.packtpub.com/game-development/unity-4x-cookbook

Tuesday, 2 December 2014

Unity 2D Game Development

Managed to read half of the book, but was too exhausted to have any further interest to continue reading. Not that it is difficult, it is actually quite suitable for beginner. I think the book has too much distractions which are details that i don't really care (such as the logic of the game the authors tried to get the readers to develop, as it is not important for someone who already have experiences developing games) and no enough concise explanations on how various scenarios and technical issues to be handled using Unity 2D as game development tool.

The only good stuffs i got away from reading the book are:

1. the animation (such as Sprite Editor, Dope Sheet, Animator Editor)
2. the game physics part such as Polygon Collider, Collider2D, OnTriggerEnter2D

This book is definitely not something i am looking for (i am looking for a "recipe" type of book i guess), but the book may be good for someone who has the luxury of time to follow through the entire tutorial of developing a 2D game.

https://www.packtpub.com/game-development/unity-2d-game-development

Friday, 21 November 2014

Learning C# by Developing Games with Unity 3D Beginner's Guide

Just completed that book, below is the link for anyone interested to buy the book:

https://www.packtpub.com/game-development/learning-c-developing-games-unity-3d-beginners-guide


The book teaches some simple programming in C#, but does provide in a succinct way how to do C# coding in Unity environment, which is suitable for my case as i know quite a lot about C# but nothing about Unity development. So in a sense the book is also good for programmers who previously know nothing about Unity IDE and wonder how to add codes to a game to modify game behavior (kind of like a teach yourself in 6 hours books on how to start code on Unity).

The first 6 chapters basically a hello-world C# tutorial, with some minor examples of:

1. how to create and attach script to game objects, how to get game object using GameObject.Find("[gameObjectId]"),

2. how to get the MonoBehavior sub-class script object attached to a game object (i.e. the class defined in a script attached in a game object) using thisScriptInstance.GetComponent<classname> (where ClassName refers to the class name of the MonoBehavior sub-class)

3. how to rotate a game object, by calling its transform.Rotate(x, y, z) method

4. How to expose a script object's variable as property in the Unity Inspector panel (by declaring the variable as public)

5. Where to add script behavior during game initialization (i.e. in the Start() method) and game update (i.e. in the Update() method) or for GUI output (i.e. in the OnGUI() method)

Chapter 7 teach about a simple design of a state machine and its implementation (as a script object derived from MonoBehavior)

Chapter 8 delves a bit more into implementation of individual state. Not much interesting stuff except the part where it shows how to use Unity API to interact with Unity engine, such as

1. add codes to pause a game scene (by settings Time.timeScale = 0) and restart again (by settings Time.timeScale=1). The Time.timeScale sets the game speed. Time.realtimeSinceStartup is another interesting property which returns the time in seconds from the start of the game.

2. Some basic Unity properties and method including:

Screen.width: width of the game screen
Screen.Height: height of the game screen.

bool GUI.Button(Rect rect, String text): create a button on the game screen, the return value can be used implement logics run when it return true (i.e. onClick) or false. Note that this method must be called inside the OnGUI() of a MonoBehavior object

bool GUI.Box(Rect rect, String text): a label on the game screen. Note that this method must be called inside the OnGUI() of a MonoBehavior object.

3. How to attach a script object to an empty game object (by selecting GameObject--&gt;Create Empty, then attach a script to it by dragging the script onto the create empty game object in the Unity Hierarchy panel). This is good for, e.g., when building a Unity scene of a GUI panel for game settings and configuration.

4. How to implement logic in the MonoBehavior.Awake() method override to persists an object across multiple scenes (via static member variable and DontDestroyOnload(this.gameObject) and DestroyImmeidate(this.gameObject))

5. How to switch between different scenes using Application.LoadLevel("[sceneName]") (all scenes must be in the "Scenes In Build" accessed via File--&gt;Build Settings)

While the first 8 chapters to most C# programmers is not worth much except for some of the stuffs mentioned above.

By the way, Chapter 9 and Chapter 10 is worth some reading for Unity programming using C#