So its begins, my journey to Unity3d AI and C# advance learning!!!
My current learning progress as gamedev experience:
YES i decided to spent whole July 2021 only on learning how AI can be implemented with help of Unity3D!!!
As company
owner I have many responsibilities and I rarely take vocations and for me
learning AI in 2021 is important!
This days I spent less and less time in coding and more in business formal
negotiations (as it supposed to be)
As CEO of Orlovsky Consulting GbR I can
delegate the actual work to my consultants, still I insist to stay in
the loop and informed about latest updates of clients projects.
We at Orlovsky Consulting GbR value intelligence very much and encourage all to
learn new stuff and actually what motivates us and drive us.
So I have even my side project which is Sword of Earth 2500 a post apocalypses
strategy game of humanity which rediscover and reconquering the planet Earth.
The games should feel like a clone of Sid Meier’s Alpha Centauri game , but it
would have some modern stuff ;)
Will I learn Blender? Maybe
When the first playable version of SOE 2500 will be released? Well the project is pretty big and I don’t want to cut corners, it’s not main project at my company, but I consider , that one time i would be able to ship and sell finished game via different distribution networks!
Now to the fun part!
Books to
read and impressions after reading those books
(notice it would be updated from
time to time) :
Artificial Intelligence with unity by Patrick Felicia :
This book is rather short, but it shows actual “handwork” and give good example how to do it in Unity3D the basic AI with following behavior: follows player character in a 3d world over different type of obstacles. This book describe only one case how to use simple ai implementation (almost no code involved)Game A.I. Made Easy Designing Agents With Examples in C# for Unity3D :
Not typical Unity3d AI book, which you can find on the market. It goes deep into thinking process of design steps for creating very powerful and at the same time flexible AI.This book actually shows some interesting patterns about how to do AI in very approachable way.
Then there interesting topic of how to deal with zones (areas which must be observed by the ai agent object)
Author of this book use understandable language and even goes step by step in show actual example in Unity3D. The presented code for AI examples is interesting, but feels sometimes way to simplistic.
Additionally this books covers topics like programming of bullet and explains how path finding works.
General impression about this book, I think the author have goal for AI of first person shooter and in my case the information from this book only partially helpful.
Honorable mentions machine learning, adaptive AI vs cheating AI recommendations.
Unity 4.x Game AI Programming Learn and implement game AI in Unity3D
Here you would find some practical examples
for FSM, A* based AI.
Authors providing example for finite state machine: a tank game Unity3d project.
Discuss little bit of probability.
In this book you will find example of slot machine an example for probability
implementation.
Very interesting example of AI by creating a flock of birds ;)
Authors explain how to create and “bake” the Navigation Mesh.
In the last chapter a working example: demo of SFM based AI is presented.
AI for game developers: C++ knowledge is
required if you wish to grasp and understand details of this book.
Author describes how to write smart chase algorithm’s.
Reader of this book would find good explanation on vector programming.
This book describes flocking implementation.
You will find lots of code in this book.
This book consist long explanations of physics in games.
Furthermore you will find interesting approach for path finding.
Author discussing the breadcrumb path finding, Finite State Machines too.
The Author speaks of behavior and provides lots of code examples.
This book speak describes fight rules for simulation of game of fight.
You will find a big chapter about very interesting topic which is neural
network.
Summary: This feels like a reference book, you need to use this book on
purpose, because each chapter of this book can be read independently, I missed
the information what type of AI exist for strategy games.
Beginning Game AI with Unity: Authors of this book rely on Unity3D which is
indeed good choice.
Unexpected, but this book includes introduction to vector math.
Example of how to move simple cube in Unity3D is interesting, but kind of boring.
The presented sourcecode feels unstructured.
Discuss bread first search as math approach for finding the shortest path was refreshing and a lot of fun.
Summary: This book provides good example, about how to use Unity3D NavMash and
path finding algos.
AI Techniques for Game Programming by Mat Buckland
Hands on
experience, but based on old tech.
Mentions low level windows programming , like GDI programming.
Authors present genetic Algorithms.
Discuss the genetics and physics (Mass, Force, Velocity, Length).
Explain how neuronal network works.
Overall impressions: this book consist only small bits of useful information
about developing AI and you will find lots of C++ code. Some parts of the book
have very academic nature.
Unity 2018 Artificial Intelligence Cookbook - Second Edition by Jorge Palacios
This book have more straight approach, instead
of speaking about theory, this book provides recipes with C# code include, some
code is hard to read and the give explanations are not complete.
Using small code examples for achieving one particular goal. Really this book
can be used for quick reference for finding a solution to a given problem, but
this book don’t provide consideration of what type of disadvantages you
get if you use old code.
Have breadth first search and deep first
search, well those algo’s most times covered in the university during study for
computer science degree, sure it can be applicable at some cases , but I found
rather less impact in my case.
There longer explanation of finite state machine.
In this book you will find many other topics, but I must say it wasn’t so interesting
and applicable to my case for developing of AI for strategy game.
Fundamentals of Strategy Game Design by Ernest Adams .
Speaks more in general terms, I think it’s
more like catalogue of different types of strategy games.
I think the books just go through different aspects of strategy games, there is
not deep explanation how to make one! The author mentions here and there some
important features of strategy games, but doesn’t go deep enough.
Interesting topic about neural nets , still most times this book don’t deliver
specific solution how to go about design of turn based games.
Seductive Interaction Design Creating Playful, Fun, and Effective User Experiences
Matter by Stephen P. Anderson
Well this has nothing to do with AI, but if you think of behavior of AI in pc game for me it make sense, that knowing about the behavior of player make sense.
I think I find this book interesting from the point of interaction with player, in terms of player expectation this is valuable. This books discuss what someone should think about the UI design. This book discusses the difference of what a free user and pay user gets on enterprise websites. I found interesting the part about user experience during payment process. Author present some example from actual website and give explanation how they do business.
Unity 5.x Game AI Programming Cookbook by Jorge Palacios
I think I already
read similar book. The example of custom mash was indeed interesting, steering simulation
and etc. Book of recipes and quick solutions.
Practical Game AI Programming by Micael DaGraca
This book is
interesting and explanations are actually good.
The author discuss topic of firing a bullet and and the way how this event was
risen.
Provides an example how a female character can be simulated with AI.
This book explains what to consider, when you develop NPC behavior.
Another topic animation behaviors was interesting too.
I found interesting how the challenge with transitions was solved.
The code which you will find in this book is well structured and easy to read.
The author of this book discusses football AI, which by any means pretty
complex and challenging.
One of the topic which I liked
was about collision avoidance.
Artificial intelligence for games Ian Millington John funge
This book have
more academic nature, but it’s well-structured then others.
There lots of interesting diagrams about how to structure the AI model.
I like the way how authors go about discussing of AI in practice.
The presented code is easy to read, the most weight of this book in abstract descriptions.
This book covers topics like steering behavior , projectile physics, path
finding, A*, Dijkstra,
decision making trees, fuzzy logic, Turn-Based Strategy Games logic.
Finally author discuss different type of programming languages , which you can
use for creating the game.
This book discuss strategic AI , which my most valuable topic to me. Overall the book provides in deep
discussion about AI, sure some topics way to bloated, but anyways this is the
best book about AI in games so far. Still if you looking for quick solution
without big discussion , then use previously mentioned books.
Game Programming Patterns by Robert Nystrom
this is has nothing to do with AI, but it
provide a “building parts” for building some parts of AI.
The code presented in this book is C++, which is ok.
The author of the book presents patterns in reference to game development.
Some examples are good and some plain theoretical ones, which is ok.
I found interesting the part how author describe game loops usage in reference
to game engine.
Book has very difficult part of assembly programming, which is hard to
understand.
Speaks of scripting languages, do or don’t decision, in my opinion if it can
improve the workflow sure do it, otherwise don’t.
The design patterns in this book sometimes feels blown out of proportion, I think
because author implementations are in C++.
What I dislike sometimes author tries to generalize things claiming that most
cases you can use array, I say if you care about order of data you need
to use some sort of collection.
Programming in C++ it’s like working with precision laser, the author of this
book give clear explanation why sometime optimization of code would not help,
because this would potential will cause slow execution which can have something
with the cache architecture of the cpu where your game is running.
Memory allocation problems and speak about managing particles.
Overall it feels kind of rushed book:
I expected to see more diagrams , the
code sure is interesting , but in my opinion it was optional. Sometime I was
lost the train of thought of the book author.
Final conclusion: this is a reference book for quick ideas about some challenges
in gamedev, probably it make sense to use it, if you plan to write own game
engine.
Programming game AI by Example
Book author presents math and physics
equations which is works as base for further explanation of AI implementations,
I find it useful and great.
The presented in the book simple FSM example is interesting and give your idea
about that how FSM works.
The majority of this book is C++ code, for me it’s not enough and for such case
you will find some of the diagrams in this book.
Author writes about steering behaviors in reference to a simulation of soccer
game.
You will find interesting thinking about how to simulate a soccer game.
I hope, that this book was used by the developers of EA FIFA game ;)
This book have a whole chapter about graphs and theirs relation to AI.
All code examples presented in this book were written in C++ language.
Wow Dijkstra algo, I didn’t seeing this algo long time ago and find the
presented example in this book kind of over the board example.
Then this book covers scripting language LUA and tries to introduce it, but at
that point my interest to read further was kind of low so I didn’t go far deep
into it.
Overall not bad book, but still in regards of AI for strategy games its not
helping, still I pick one or two tricks from this book which is good.
Clean Code in C Refactor your legacy C code base and improve application performance by applying best practices by Jason Alls
Indeed
this is a very interesting book, you will see lots of code and experience the thinking process of
the author regarding design patterns and threads, functional programming and
etc.
I find in particular interesting the usage of LINQ and API design, and the
introduction into well-defined software boundaries.
The mentioning of abbreviations was great too an I like DRY, YAGNI, KISS,
SOLID.
Then you will find in this book some debug and refactoring techniques.
Author mentions for me very important topic like the cross-cutting concerns.
Finally I find useful the stuff about code metrics and code smells.
Finally I 100% agree that all programmers most times working in legacy projects,
the Greenfield projects only small amount (need example? World of Warcraft),
today we have software almost for any possible problem of human society and
programmers responsibility for what they are doing is much higher than it was
in the past before.
I highly recommend this book to any C# developer, read it and try out the
experience alone worth it!
Unity 5 writing cleaner code:
Good principles and common sense, I liked the parts: Delegate,
Eventsystem and be reasonable and don’t over engineer the code.
Conclusion after reading so many books on Unity3D AI: A*, Finite Machine, Decision trees this what most times I notice in all those books which I have read. C# is very similar to Java, but it has own quirks and specialties , but find it as good choice for game programming, because then you wouldn’t deal with low level programming, some people would disagree and say that C++ way efficient than all other game programming languages and maybe they right, but in terms of time I rather spent my time on working on game logic and creating actual game , rather taking the hard and very difficult road of creating of own engine. Another interesting observation during reading of those books, some of them were very abstract in nature I kind of wonder how its really helpful to actual game developer, because it isn’t. So this is it a complete list of Unity3D AI books , some of the knowledge must be rejuvenated, but know you know what to look for in those books!
Keine Kommentare:
Kommentar veröffentlichen
All comments are pre moderated be polite and respectful!