Reddit Reddit reviews Programming Game AI by Example (Wordware Game Developers Library)

We found 40 Reddit comments about Programming Game AI by Example (Wordware Game Developers Library). Here are the top ones, ranked by their Reddit score.

Computers & Technology
Books
Computer Science
AI & Machine Learning
Artificial Intelligence & Semantics
Programming Game AI by Example (Wordware Game Developers Library)
Jones Bartlett Publishers
Check price on Amazon

40 Reddit comments about Programming Game AI by Example (Wordware Game Developers Library):

u/zombox · 38 pointsr/gamedev

The last couple of weeks in Zombox development:

(tl;dr: brand new zombie AI with lots of bells and whistles, tweaked ammo display and you can no longer hit things through walls)

  • The zombie AI was completely re-written. After I was inspired by examples in the book Programming Game AI By Example, I decided to go with a behavioural hiearchy approach, rather than my old system which relied on a complex FSM in the form of a large if-then tree.
  • In the old zombie AI system, zombies knew the player's position at all times, and their only goal was to find the player and attack him. In the new system, the zombies' behaviour is more realistic -- they have limited knowledge of their surroundings, and react to sensory input to gain new information. Zombies generally idle or wander, and will not attack the player unless they see him. If they hear a noise (like the player firing a gun, or hitting something with a blunt weapon), they will seek the source of the sound, and either continue wandering if they find nothing, or attack the source if they can see it and it's human. This sight/sound based system is nice because it allows you to do things like distract zombies with a sound while you escape in the opposite direction, or sneak up behind zombies to attack.
  • Zombie flocking has been improved. Zombies will no longer randomly walk through walls, or walk through the player, or walk through each other. Also, when attacking they will aim to surround the target, rather than simply attack from one side.
  • If a zombie finds that a door is in the way of its path (ie, if it chases a target into a building and the target closes the door, or it hears a sound inside a building), it will attempt to break the door down to get inside.
  • In non-AI related news, the weapon ammo system has been improved to show the ammo counters for weapons in the active item slots up top, and when a weapon's ammo is depleted, the active item icon for that weapon will blink red.
  • Props and zombies can no longer be hit through walls or other objects.

    Here are some screens showing the debug info I use to help me visualize the new AI system. White lines show new A* paths that are calculated. Green lines point to the next node on a zombie's path when the zombies is following a sound. Magenta/Cyan lines point to a zombie's active target (cyan = close, magenta = far). Red lines show the next node on a zombie's path when the zombie is chasing a target (although zombies are allowed to veer off their path when the target is directly in range). Yellow lines point to a new sound that a zombie has heard.

  • One, Two, Three, Four, Five

    Animations:

  • here's a gif showing some zombies chasing the player into a building, and attempting to break down the door to get inside.
  • here's another gif showing that same thing happening, in a different scenario
  • here's a gif (sped up 200%) showing some of the improved swarming
  • here's a gif showing the active item icon ammo improvements

    As for New Year's resolutions...my short term goal is to implement Jump Point Search into my A* algorithm. My long term goals involve adding human NPCs, the underground subway system, the structure-building system, mini-quests, more zombie types including zombie animals, and releasing the game in May.

    More info: Devblog, Youtube, Twitter
u/MattDPS · 17 pointsr/gamedev

The one I always suggest is Programming Game AI By Example. The amount of valuable info you can pull out of this one book is incredible. It's still something I reference years later.

u/Cryocore · 17 pointsr/gamedev

you could use space partitioning. Split the world into grids of say 10 x 10.
let each agent update which grid cell it is on on each frame. Then its just a matter of testing only the agents in the surrounding grid cells from the current agent (which will most of the time be a small number)

This book explains it really well: Programming Game AI by Example. Also has code samples online

u/The_Dirty_Carl · 17 pointsr/gamedev
u/JoshuaSmyth · 15 pointsr/gamedev

This book Programming Game AI By Example comes highly recommended by me.

It contains all of the above along with an example 2D topdown style deathmatch game with bots to give you a clear understanding of the most common topics in Game AI. It's also one of the more practically focused books, rather than theory focused.

u/[deleted] · 13 pointsr/DotA2

I enjoyed seeing the topic being brought up in a public format as AI becomes more popular to the majority of gamers, but I wasn't a huge fan of the type of discussions going on in the thread. The main commenters were definitely knowledgable, but a lot of important info to really express their points was left out. This book is a really good introduction to game AI for anyone interested in the field:
http://www.amazon.com/Programming-Example-Wordware-Developers-Library/dp/1556220782

You can easily find a pdf of the book by searching for it on google.

edit: It goes into specifics for coding purposes, but I wouldn't say it's difficult to read without any programming experience. It's definitely intermediate concepts described for beginners.

u/argvnaut · 7 pointsr/gamedev

Check out Programming Game AI by Example and Artificial Intelligence for Games. They are both decent game AI books, the former actually develops an AI for a soccer simulation in chapter four. There's also [Behavioral Mathematics for Game AI] (http://www.amazon.com/Behavioral-Mathematics-Game-Dave-Mark/dp/1584506849/), it expands on the concepts of utility and decision making which are only touched upon in the first two books. It's purely theoretical but very interesting.

u/joeswindell · 5 pointsr/gamedev

I'll start off with some titles that might not be so apparent:

Unexpected Fundamentals

These 2 books provide much needed information about making reusable patterns and objects. These are life saving things! They are not language dependent. You need to know how to do these patterns, and it shouldn't be too hard to figure out how to implement them in your chosen language.

u/zrbecker · 5 pointsr/learnprogramming

Depends on what you are interested in.

If you are interested in games, pick a game and do it. Most board games are not that hard to do a command line version. A game with graphics, input, and sound isn't too bad either if you use something like Allegro or SDL. Also XNA if you are on windows. A lot of neat tutorials have been posted about that recently.

If you are more interested in little utilities that do things, you'll want to look at a GUI library, like wxWidgets, Qt and the sort. Both Windows and Mac have their own GUI libraries not sure what Windows' is called, but I think you have to write it with C++/CLI or C#, and Mac is Cocoa which uses Objective-C. So if you want to stick to basic C++ you'll want to stick to the first two.

Sometimes I just pick up a book and start reading to get ideas.

This is a really simple Game AI book that is pretty geared towards beginners. http://www.amazon.com/Programming-Game-Example-Mat-Buckland/dp/1556220782/

I enjoyed this book on AI, but it is much more advanced and might be kind of hard for a beginner. Although, when I was first starting, I liked getting in over my head once in a while. http://www.amazon.com/Artificial-Intelligence-Modern-Approach-2nd/dp/0137903952/

Interesting topics to look up.

Data Structures

Algorithms

Artificial Intelligence

Computer Vision

Computer Graphics

If you look at even simple books in these subjects, you will usually find tons of small manageable programs that are fun to write.

EDIT: Almost forgot, I think a lot of these are Java based, but you can usually find a way to do it in C++. http://nifty.stanford.edu/ I think I write Breakout whenever I am playing with a new language. heh

u/RoguelikeDevDude · 4 pointsr/gamedev

Book suggestions? Now that's my jam.

Out of all the books i've read, here are my recommendations regarding game programming:

Eric Lengyel's Books (only one out so far). This is aimed at game engine development, but if the 2nd onward are as indepth as the first, they will be amazing fundamental knowledge. Also, they're not thick, and jam packed with information.

Game Programming Patterns. The only book that comes more recommended than this is the one right below it by Jesse Schell. This book is fantastic, but you should write one or two small games to really get the most out of this book. You can also read it online on his website free, but then you don't get a pic of him and his dog on the back cover.

Book of Lenses. This is your intro/intermediate dive into game design. There are a lot of game design books, if you only read one, it should be this one.

Gane AI By Example. This book is a hodgepodge of fantastic techniques and patterns by those in AAA. There are other books on the series (like Game AI Pro) which are similar, but in my opinion (at least when I read AI PRO 3), they're not as good. But more knowledge is never bad.

Truthfully, as I sit here looking over all my books, those are the only ones i'd consider mandatory for any seasoned developer. Of course plenty of developers get by without reading these books, but they likely pick up all the principles listed herein elsewhere, in bits and pieces, and would likely have benefited having read them early on.

Here are a few others that I do recommend but do NOT consider mandatory. Sorry, no links.

Unity in Action. Personally, I recommend this or a more interactive online course version (udemy.com/unitycourse) if you want to learn unity while having a resource hold your hand. Having read the book, taken the course, AND taken Unity's own tutorials on the matter, i'd order them in order from Course being best, book second, videos from unity third. But none of them are bad.

Game Engine Architecture. This is the king for those who want a very broad introduction to making a game engine. It comes highly recommended from nearly anyone who reads it, just so long as you understand it's from a AAA point of view. Game Code Complete is out of print and unlikely to be revisited, but it is similar. These are behemoths of books.

Realtime rendering. This is one I haven't read, but it comes very highly recommended. It is not an intro book, and is also over 1000 pages, so you want this along side a more introductory book like Fundamentals of computer graphics. Truth be told, both books are used in courses in university at the third and fourth year levels, so keep that in mind before diving in.

Clean code. Yeah yeah it has a java expectation, but I love it. It's small. Read it if you understand Java, and want to listen to one of the biggest preachers on how not to write spaghetti code.

Rimworld guy, Tynaan sylvester I believe, wrote a book called Designing Games. I enjoyed it, but IMO it doesn't hold a candle to Jesse Schell's book. Either way, the guy did write that book after working in AAA for many years, then went on to create one of the most successful sim games in years. But yeah, I enjoyed it.

Last but not least, here are some almost ENTIRELY USELESS but interesting diagrams of what some people think you should read or learn in our field:

https://github.com/miloyip/game-programmer

https://github.com/utilForever/game-developer-roadmap

https://github.com/P1xt/p1xt-guides/blob/master/game-programming.md

u/marekkpie · 4 pointsr/gamedev

Programming Game AI by Example is another great resource.

u/grahamboree · 4 pointsr/gamedev

The Starcraft Broodwar API has source code for a bunch of bots from the annual competition at AIIDE. You can find them here. They use a variety of techniques that will help you set you in the right direction.

I'd recommend this book too if you're interested in AI. It's the most comprehensive survey of the most common techniques used in the industry today.

Good luck!

u/SgtBursk · 3 pointsr/gamedev

Do the enemies ever hit the player? Perhaps you can try scaling the player's health to how often enemies land attacks. (For instance, instead of Zelda's 6+ half-heart system, use old school Mario's 'one hit you die unless powered up' system. Or Super Meat Boy's one-hit KO.)

>the player could just roll out of the way and beat the shit out of them while the enemy's attack was missing.

Sounds like fun to me! But I take it you're going for a different feel?

I'm currently reading Programming Game AI by Example. It goes from basic AI moving to pathfinding to goal hierarchies. The majority of the book might be a little too introductory for you though, at least until you get to the goals section.

u/Orthak · 3 pointsr/mylittleandysonic1

Unity is the bee's knees.
I've been messing with it casually for several years, and got serious in the last 2-ish years. I like it because I get to use C#, and that's the language I know best. Only problem in it's using some weird limbo version of .NET 2, that's not actually 2.0 but is also 3.0 is some places? I think it's because it's using Mono 2.0, which is some subset of .NET. It's weird. They're moving to 4.5 soon anyways so I'm hype for that. I'ts been a lot of fun regardless, I get to apply a different knowledge and tool set from my day job. Not to mention it feels great when you actually get something to build and actually work.

So anyways here's a list of resources I've found over the years to be super helpful:

Things on Reddit

u/Nuclear-Cheese · 3 pointsr/unrealengine

Yeah... that's not how you want to do it if you want actual functional AI that behave independently.

Look up Autonomous Agents - Steering Behavior, online.

Here is something to get you started
http://natureofcode.com/book/chapter-6-autonomous-agents/

You would want the ""Follow" and "Arrival" steering behaviors specifically. The arrival behavior is what you described as the AI "slowing down".

If you can get your hands on Programming AI by Example from the library, school, or otherwise it's phenomanal resource that teaches how to program Steering behaviors for beginning AI developers.

u/Jigxor · 3 pointsr/gamedev

If you like books, I've been reading this one lately Programming Game AI by Example:
http://www.amazon.com/Programming-Game-Example-Mat-Buckland/dp/1556220782

I'm really enjoying it and it has a tonne of useful information. Read some of the pages on the Amazon site and see if it sounds interesting for you.

u/venesectrixzero · 2 pointsr/gamedev

Programming game ai, http://www.amazon.com/gp/aw/d/1556220782/ref=redir_mdp_mobile, has great example code for a soccer game including path finding and steering.

u/duckyss · 2 pointsr/gamedev

Look at Programming Game AI by Example. It has a lot of collision detection information and how it is used in various behaviors.

u/workaccountthrowaway · 2 pointsr/gamedev

I've found working my way through this book: Programming Game AI By Example really helped me figure out how to do all you're asking. I would recommend it if you are serious in learning how to make basic to more advanced AI.

u/efofecks · 2 pointsr/gamedev

This book should have everything you need. It's accessible, quite funny at times, but has a good introduction to everything from finite state machines and communication (what boxhacker described), to pathfinding and goal seeking behavior. What's best is that they have sample c++ code on their website you can look through.

u/apieceoffruit · 2 pointsr/learnprogramming

You are looking for a mix of "neural networks" and "fuzzy logic"

Personally I'd suggest Game AI by example great ai book.

u/gamya · 2 pointsr/Unity3D

Very good response.

In the book Programming game AI by example. This is explained very well. In c++ though.

Moreover, you can have more than one state machine. One global, one for the weapon, one for the player... etc. Depending on your game needs.

u/linuxlass · 2 pointsr/learnprogramming

I started by showing my son Scratch when he was 9.5yo and helping him make a couple of arcade games with it. He was never all that interested in Logo, but got really turned on by Scratch. After a couple of months he was frustrated by Scratch's limitations, and so I installed Ubuntu on an old computer, showed him pygame/python and worked through a couple of online tutorials with him, and let him loose.

He learned to use Audacity to edit files from Newgrounds, and Gimp to edit downloaded graphics as well as create his own. He made a walk around, rpg-like adventure game, a 2D platformer, and then decided he wanted to learn pyggel and has been working on a 3D fps since last summer.

Soon, I'm going to get him started on C++ so we can work through a book on game AI (which uses C++ for all its examples). He's 13.5 now, and thinks programming is great and wants to grow up to be a programmer like his mom :)

I highly recommend a simple language like python for a beginner, but Scratch is wonderful for learning all the basic concepts like flow control, variables, objects, events, etc, in a very fun and easy way. The Scratch web site also makes it simple to share or show off because when you upload your program it gets turned into a Java applet, so anyone with a browser can see what you've done.

u/BlindPaintByNumbers · 2 pointsr/unrealengine

Sorry, no, Goal Oriented Action Programming is the name of an AI strategy, like Finite State Machines. There is a wonderful AI book called Programming Game AI by Example if you're interested into delving into all the possible mechanics. There's plenty of free online resources too. Read up on both types of AI and I bet you have an AHA! moment. Other people have thought about these problems for a long time.

u/Greystache · 2 pointsr/gamedev

Steering behaviors are explained in depth (with c++ code) in the book Programming Game AI by Example

It's mentioned in the article, but I think it's worth pointing it out again as it's a very good book on the topic.

u/Kadoba · 2 pointsr/gamedev

I personally love Programming Game AI By Example. It gives lots of very usable examples in an entertaining and understandable way. It's pretty friendly for beginners and even offers a game math primer at the start of the book. However the examples still have a lot of meat to them and thoroughly explains some important AI concepts like state machines and pathfinding.

u/AngryAlt1 · 1 pointr/gamedev

Programming Game AI by Example

Is really helpful for implementating agent AI, which is a big component for those types of games.

u/Elador · 1 pointr/cpp

It sounds to me like you need to read a book on game dev and a bit about general programming. I can recommend

u/HardlineStudios · 1 pointr/gamedev

This book dives nicely into exactly what you want to do and even suggests some ways to combine steering behaviors:
http://www.amazon.com/Programming-Game-Example-Mat-Buckland/dp/1556220782

u/Rybis · 1 pointr/gamedev

You're not going to find a book that is that specific unfortunately.

If you're wanting one for C++, I would recommend 'Programming Game AI By Example'; it'll teach you everything you'd need to know in order to start building an RTS.

u/z4srh · 1 pointr/gamedev

You know, a fantastic book is Programming Game AI By Example. It's fantastic for learning about AI, but the author also put a lot of effort into the code, so you can learn a lot about general game design from it as well. Well worth the price. http://www.amazon.com/Programming-Game-Example-Mat-Buckland/dp/1556220782 . You can download the code samples from the author's website to see what I mean. It is only 2D, so it won't help you with collision detection and some of the more 3D specific topics, but the core of the engine can be applied to anything.

One thing that is really important is to realize that there's no silver bullet. Every design decision has its benefits and its trade offs. It's easy to fall into the trap of overthinking your design, especially for personal projects - it is more beneficial for you to try to write it and have to rewrite it because of a bad design decision than to spend months trying to come up with the perfect architecture. That's not to say that you should ignore design, but rather that once you think you have a good idea, try it out, experiment, see what works and what doesn't. If you focus on having a modular design to your software, you'll find that rewrites get easier and easier.

u/rhiever · 1 pointr/artificial

Programming Game AI by Example has a great, easy-to-understand explanation and walkthrough for learning ANNs: http://www.amazon.com/Programming-Game-Example-Mat-Buckland/dp/1556220782

Once you've learned at least ANNs, you can delve into the popular approaches to GAI:

u/glial · 1 pointr/learnpython

They're not free but you might check out these two books.

u/drjeats · 1 pointr/gamedev

The 2nd edition came out in 2014. It's good for an overview of commonly useful systems and what production teams need from them. It doesn't go into great detail. [EDIT] d'oh I was slow.

Real-time Rendering has a 4th Edition coming out soon with more up-to-date info.

Given your experience, it sounds like your math's probably strong, but if you want review Eric Lengyel has a new book out that I heard is good: https://www.amazon.com/Foundations-Game-Engine-Development-Mathematics/dp/0985811749

For AI:

Game AI By Example is an older one that provides a decent baseline if you're not very familiar with game AI: https://www.amazon.com/Programming-Example-Wordware-Developers-Library/dp/1556220782

And a lot of more recent info and course material is on at http://aigamedev.com/ which I guess has turned into https://nucl.ai/

Also some of the old Game Programming Gems have random chapters on AI techniques.

Also go look at the popular engines, do their AI tutorials, then try to look at the code. The Behave plugin for Unity does behavior trees, and UE4 has a behavior tree system you can read about.

Behavior trees aren't the newest thing though, look at the talk catalogue for the GDC 2018 AI Summit.

u/Bdee · 1 pointr/Unity3D

I had the same problem. I ride the subway every day and have a ton of time to read, so I've been trying to collect similar resources.

Here are some resources I found really helpful:

  1. Beginners book on Unity - http://www.amazon.com/Development-Essentials-Community-Experience-Distilled/dp/1849691444

    This is a VERY basic (think: learn how to code!) introduction to Unity. I personally found it too elementary, having coded in a few different languages, but it might be a good place to start as it explains basic Unity design concepts like Components, Materials, Colliders, etc.

  2. Your first Unity project (helps to have Unity accessible to follow alone) - Building a 2D RPG in Unity: http://pixelnest.io/tutorials/2d-game-unity/

    This is by fast the best 'getting started' tutorial I've found. It walks you through creating a really basic project from scratch using Unity basics and scripts. This is what I based most of my code off of when I first started my project.

  3. REALLY great book on game design/physics and AI - http://www.amazon.com/Programming-Example-Wordware-Developers-Library/dp/1556220782

    This has been the most helpful resource for me. It's not Unity specific but will teach you A TON of great fundamentals for things like how to move a character, common patterns like StateMachines, how to handle AI, etc.... All of these concepts will be relevant and many are already in place in Unity so you'll recognize them right away.

    Advanced: Game Programming Patterns - http://gameprogrammingpatterns.com/

    This is a book (online/pdf/epub) that teaches the more advanced patterns you'll be applying in your code. I'd suggest this once you finish with the above resources and have been working through your game for a bit.
u/FrogBoiling · 1 pointr/AskReddit

I would recommend this book and this book

u/GloryFish · 1 pointr/Unity3D

I highly recommend reading Programing Game AI by Example. It includes a chapter on modeling an AI controlled soccer team. The book itself is a fantastic primer on a variety of workhorse AI techniques that every game dev should be familiar with.

That being said, oftentimes fun gameplay can arise from simple rules + player interaction. So, read the book, but don't be afraid to just throw down some simple triggered behavior and see what's fun.


u/Acidictadpole · 1 pointr/gamedev

I highly suggest this book (Programming Game AI by Example), second chapter goes over the finite state machine with some good examples.