Tuesday, July 05, 2011

AI Papers, Books, and Conference Publications

I've received some emails from individuals looking for some of my work (specifically my articles and papers on character motion management), so here is a list of some my published works with a brief note and what books/journals/conferences they can be found in - as well as a few extra early game programming works.

The chapters in Game Engine Gems 2, Game Programming Gems 8, and the paper presented at the Artificial Intelligence and Interactive Digital Entertainment Conference 2009 form the three major sources for the some of my work on character movement systems. Together they form a unique approach that combines AI, animation and physics into a unified architecture that provides a description of the background to, principles of, and the development of an approach to implementing a character behavioral system.

For Game Engine Gems 2, I provided a chapter entitled, An Egocentric Motion Management System. The egocentric motion management system (ECMMS) is both a model for agent movement and an application of a behavioral theory. Any game that features agents (e.g., animals, soldiers, or tanks) that move around in a 3D scene has a need for an agent movement solution. A typical movement solution provides mechanisms that allow for an agent to move through a scene, avoiding geometry, all the while executing some sort of behavior. This article discusses not only how focusing on the agent drives the immediate interactions with the environment but also, more importantly, that by gathering some information about the environment during locomotion, we gain the ability to generate spatial semantics for use by the agent’s behavior system. Portions of the ECMMS were used in a cross-platform game entitled World of Zoo (WOZ). WOZ is an animal simulator that requires various zoo animals to move through their environments in an incredibly compelling manner while the  players constantly alter the environment. So the proving ground for this system was in an environment that could be changed around the agents at any particular moment. In addition to detailing ECMMS I also discuss how to build a unified behavioral model that utilizes technology from all three of my character movement articles.

In Game Programming Gems 8, I've written an article detailing the World of Zoo's navigation system's architecture; as well as provided some general thoughts on developing a motion management system. The article is entitled, A Practical Spatial Architecture for Animal and Agent Navigation. This article is a nice bookend to the AIIDE 2009 paper (the Game Gems article provides more concrete insights, while the AIIDE paper is more algorithmic).

Here's a brief introduction to the article: Game literature is inundated with various techniques to facilitate navigation in an environment. However many of them fail to take into account the primary unifying medium that animals and agents use as locomotion in the real world. And that unifying medium, is space [Lefebvre97]. The architectonics of space relative to an animals or agent’s motion in a game environment, is the motivation for this article. Traditional game development focuses on modeling what is physically in the environment, so it may seem counterintuitive to model what is not there, but one of the primary reasons for modeling the empty space of an environment is that it is this spatial vacuum that frames our interactions (be it locomotion or a simple idle animation) within that environment. Space is the associative system between objects in our environments.

This article will discuss this spatial paradigm and the techniques that we used during the development of a multiplatform game, entitled World of Zoo (WOZ). WOZ was not only a challenging project by any standard definition of game development, but also because we desired our animals motion to be credible.


An important aspect of any animal’s believability is that they are not only aware of their surroundings, but that they also move through a dynamic environment (Color Plates 1 and 2 contain examples of WOZ’s environment) in a spatially appropriate and consistent manner. This maxim had to hold true whether the animal was locomoting over land, water or even through air! To help facilitate the representation of our spatial environments we used several old tools in new ways, and in conjunction with a few inventions of our own, we believe we accomplished our goals.




This peer reviewed paper outlines the general philosophy of a unifying paradigm for navigation systems. The paper is entitled, A Unified Spatial Representation for Navigation Systems and was presented at the Artificial Intelligence and Interactive Digital Entertainment Conference 2009 held at Stanford University.


Abstract

The purpose of this paper is to outline the core components of a practical navigation system which uses a novel technique for spatial representation in a commercial entertainment product. This paper is based upon thenavigation system developed for The World of Zoo (WOZ) by Blue Fang Games, LLC and published by THQ. WOZ placed the following requirement on our in game agents
(which are animals, such as tigers and penguins): depending on the animals species they were required to locomote across land, water, exhibit the ability to climb and eventually to fly all in a seamless manner. Animal locomotion in WOZ is driven by accumulating the root motion of multiple blended animations; this required a unique approach to the spatial representation of our environments. The system needed not only to take into account the defacto static environments that were created by
the level designers, but also the dynamic structures that the animals use (depending on the players interactions at that particular moment).


There was also the extra challenge of a system that was as straightforward as possible for level designers to work within. As Anthony J.D' Angelo so succinctly stated, "Don't reinvent the wheel. Just realign it." It is with this sage advice in mind that we reevaluated traditional navigable representations, in conjunction with how our animals should move through their environments. As important as the navigation framework was to the development of WOZ, the way the thought processes developed preceding the implementation is also of interest; as the re-understanding of what navigation is composed of (in virtually any environment) guided our decisions through the design and implementation stages.


In Game Programming Gems 7, I've written an article detailing the architecture of a multi-platform threading engine. The article is entitled, The Design and Implementation of Multi-Platform Threading Engine. One of the most important aspects of designing a multi-threaded program is spending the time upfront to design and plan your game architecture. Some of the high-levelissues that need to be addressed are: task dependencies, data sharing, data synchronization, acknowledgement and flow of data access patterns, decoupling of communication points to allow for reading but not necessarily writing of data, and minimizing event synchronization. This article details the GLRThreading Engine and also provides a lot of practical advice for either using the GLRThreading Engine or writing your own. Other topics include dealing with cache issues, thread pools, execution properties and more.
 
In Game Programming Gems 6, I've written an article about the Quantified Judgement Model (QJM) and it's usage and application to strategic game development. The article is entitled, Using the Quantified Judgement Model for Engagement Analysis. The Quantified Judgment Model (QJM) is both a model and a theory of combat. Originally developed to simulate historical battles and then later upon further refinement, used for modern engagement prediction; it is an ideal system for predicting potential victors in a game. In this gem I describe the base QJM formula. The base QJM formula can then be furthermore expanded upon, by adding models calculating attrition factors, spatial effectiveness of units and casualty effectiveness.

There is also some notes on the difference between the Lanchester equation and the QJM.




In AI Programming Wisdom Volume 2, I've written an article on Multi-Tiered AI Frameworks (MTAIF). This is the new framework used in the current iteration of Master of the Empire. The article is entitled, Designing a Multi-Tiered AI Framework. The MTAIF allows an AI to be broken up into three concrete layers, strategic, operational and a tactical layer. This allows for an AI programmer to have various AIs focus on specific tasks, while at the same time having a consistent overall focus. The MTAIF allows for the strategic layer to be focused exclusively on matters that can affect an empire on a holistic scale, while at the operational level the AI is in tune with reports from the tactical level. A differing factor from many other architectures is that the MTAIF does not allow decisions to be made on a tactical scale that would violate the overall strategic policies. This in turn forces highlevel strategic policies to be enforced in tactical situations, without the AI devolving into a reactionary based AI.


In Game Gems 5 I've written an article entitled, Advanced AI Framework Development with a Parallel Virtual Machine (PVM).
Its forms the fundamental understanding that is needed to start developing a parallel AI system. The article had to fit into 12 pages or so, so that meant a lot of actual implementation details had to be left out, as well as information on potential
design fallacies that may occur.



Early papers.

This is an article I wrote for OS/2 Developer entitled, Advanced Game Design with OS/2. The use of was the editor's idea. The article provided a basic summary of doing fast GPI updates - the technique I used for Master of the Empire. Obviously a super dated article (as it was published in 1997), but nonetheless it provides an interesting cross-section of my background.






Genericized Object Management (GOM). Todays games have huge AIs, being worked on by multiple programmers. Unless a new technique is introduced when the project begins, it becomes difficult to add any new type of methodology to the framework. This comes from the concern of breaking a currently implemented system or the real world fact that the new technique is just too complex. What the Genericized Object Manager (GOM) allows for is a simple way to register multiple objects through a parameterized functor [Alexandrescu02], which can then be easily accessed at runtime through one central core routine. A benefit of GOM is that the implementation can fit into almost any preexisting framework, so your game can have the immediate gains without refitting your framework to a particular solution. The GOM technique allows for setting up a specific AI, such as a particular Field Manager (see Designing a MultiTiered AI Framework), input managers, state machines that need to deal with multiple behaviors, or just a central system that is needed because the programming team is large. GOM also serves as a good technique while refactoring a large codebase.

Sunday, July 03, 2011

Emotions and Goals within Noumena

Emotions and Goals within Noumena
Started working on what in essence can be viewed as the emotional system for Noumena.
Appraisal module defined:
  1. Relevance of event
  2. Implications or consequence of event
  3. Can I cope w/the event?
  4. What is the significance of the event? To me? To allies?
Event defined: An externally observed phenomenon or an internally generated construct. E.g An opponents critter on your island – it's an event because it violates your perceived "ownership" of the island.
Events generated from violated self evident principles, e.g. A sense of ownership is definitely psychological in nature – another attribute for the RI psych profile. Ownership increases the perceived value of an object and this would actually be an excellent attribute of an RI to exhibit, because it not only factors into the immediate decisions but it would also allow for the RI to essentially want to exhibit behaviors such as: protect it's owned areas, retake objects taken by an opponent, and this could play into the more emotional aspects such as revenge, distrust, irritation etc. All emotional characteristics we want the RI to exhibit – naturally, if possible.

Goal Creation
Initially I'll create goals through the use of the concept of ownership – in MOTE this is initially the guide to goal creation.

A sense of ownership is one potentially just one element of an RI's personality.

Through the application of personality filter I could define other "desirable" personality components, e.g. Experimental or curious. These components could influence exhibited behavior – disproportionately.

Ownership questions:
  1. What do I currently own?
  2. What do I need to own?
  3. What should I own next?

As a game progresses from an opening mode, to a mid-game and finally to an endgame mode, the area of focus for these questions moves from an immediate focus to more distal concerns (e.g. Complexes, resources, farther away from the starting area).

Creating and Evaluating Goals With Respect to Ownership
Evaluation of tanks takes into consideration spatial relativity of the goal, with respect to concerns. E.g If a goal is at the bottom of the map – the RI should factor in strategies and tactics using that space, as well as the relational links of the cogents in between the start and destination when determining an appropriate response or series of responses.

Evaluation defined means a potential response or means to achieve that goal (perhaps suggesting that this is a plan) -> I dislike using the word plan as it has too much baggage.
The RI will need multiple methods of evaluating for and generating ownership.
Also need to establish why this region belongs to me, perhaps simple rules such as: my complex is on the island, or I need to expand – basically forms of justification.
Also need to be able to generate a concern for "trespassers" in an owned region. A couple examples should help here: An enemy simpleton on a large island would most likely cause little military concern, however a large group of tanks offloaded onto your island would probably matter! An aspect that would need to be considered is also the size of the land mass as that would influence the immediacy of the response as well as the overall strength of the response.
This is interesting because at a very fundamental level this seems a lot like an influence map – still, the influence map needs to be analyzed and evaluated to determine a response.

Saturday, July 05, 2008

My desktop and a few notes.

Recently I've added support for cognitive entities - these are the internal manifestations of the information/events/objects that are perceived from the environment. This allows for the engine to makes decisions that are not directly tied to the environment, but however can be related to the environment at a later time.


Books that have recently solidified some of the approaches take within the Noumena Cognitive Engine are:
Understanding Understanding by Heinz Von Foerster
Cybernetics of Cybernetics
Cybernetics and Human Knowing
Understanding Systems
Models of Thought by Herbert Simon
An essay, "Human Chess Skill", by Neil Charness. This essay is excellent in that Charness describes the approach that humans take to solving problems (obviously relative to chess) - via an understanding of visual perception, memory and evaluative mechanisms.

Friday, February 15, 2008

Environmental Stabilization


One of the paper's that I've read lately is called: "The Stabilization of Environments" by Hammond, et al. One of the underlying premises is that agents/humans adapt their environments to suit THEIR needs. It's a fascinating paper, covering a lot of the variable bits and pieces that many papers neglect or skirt around. The part that I enjoyed the most is the analysis bit - where there are concrete examples of an agent adapting the environment; as well as an almost how-to of stabilizing behaviors. I found the paper in "Computational theories of Interaction and Agency", edited by Philip Agre.

Work has also been progressing on the Noumena, here is a latest screen capture - I hope to show a capture of the Noumena debugger in short order. It's a bit more entertaining to see how the flow of perceived and generated information as it occurs in the cognitive engine.

Wednesday, January 02, 2008

A Toy Universe for the NoumenaMind Cognitive Engine : Master of the Empire - Express

I'm a huge proponent of doing something, rather than talking about it.

So for the past 2 months I've spent the majority of my leisure time working on two items: First and foremost the Noumena Cognitive Engine and secondly a toy universe (of sorts) that will allow for a demonstrable application of the cognitive engine; and that toy-universe is through the next iteration of MOTE.

The game by design is simple, yet addictive. Each player starts off with a capital and attempts to conquer the randomly generated worlds through the use of Simpletons, Infantry, Panzer Troopers and Tanks. There are no air or water units - that will come in a later version because this first iteration needs to be, not only a fun game, but it also has to serve as a test bed for the initial implementation and integration of the Noumena cognitive engine. There enough moving parts.

Certain terrain features restrict movement of particular unit types, resources are required to build certain units - so there is an artificial economy within this toy universe; one that Noumena must learn to use. Just having an AI engine just "do something" is relatively easy - if you want your solution to be brittle. By brittle I mean a solution that is generally not applicable to other similar contextual situations. The internal foundation and framework of Noumena make use of several weak methods - weak methods are used to solve problems (heuristically) in a context independent manner.

The cognitive engine needs to understand that the reason it moved the Panzer Trooper to counter a Tank inside a mountain pass is because it confined the movement of the Tank, allowed it's units to be concealed, allowed for disproportionate amount of offensive to be administered and at a higher cognitive level to be able to understand that this situation can be used as a cognitive frame for other situations that contain similar associative patterns. (This is not unlike similarities that maybe found within Selfridge's Pandemonium model - you can find the initial paper inside Neurocomputing: Foundations of Research as well as a further exposition inside Computer and Thought - under Pattern Recognition.)

The next steps are to solidify some of the human - toy universe interactions and then continue forth on with the integration of Noumena Cognitive Engine.

Saturday, November 10, 2007

Architectures for Intelligence

Architectures for Intelligence is a compilation of articles from the Carnegie Mellon 22nd symposium on cognition. It is a veritable goldmine of ideas for cognitive engineers.

Touching on a number of systems that embody topics such as rational analysis, systems that target specific AI issues to an excellent discussion of goal reconstruction. The article on goal reconstruction compliments some of the central ideologies of the Noumena Cognitive Engine, by providing discussions on combining situated actions and planned actions. There is now a definitive module inside Noumena that specifically deals/attempts to recognize and reconstruct goals that may have been interrupted or even disassociated.

The overall structure of the book is excellent because either intentionally or inadvertently a lot of the papers feed off of each other.

Other gems include a paper on self-improving systems and my favorite, "The Place of Cognitive Architectures in Rational Analysis", by John Anderson. That article has true gems (both by Anderson and referenced works) - worth the price of admission.

The Research Continues....

So the work continues, ever so methodically and ever continuous. Real life has provided it's fair of distractions but everything moves forward. I've written the basic framework (more like the scaffolding) of the engine in which GLR resides and I'm now coding up the cognitive frames. So, I'm still on track for demonstrating an early version of the GLR engine and the game that uses it next year.

Some of the books that I've been (as of late) working through include:

Artificial Consciousness, Chella
Consciousness: Natural and Artificial, Culbertson
Commonsense Reasoning, Mueller
Daydreaming,Mueller
Cognitive Carpentry, Pollock
How to Build a Person, Pollock
The Connection Machine, Hillis
Causality, Pearl
A Cognitive Theory of Consciousness, Barr
In the Theatre of Consciousness, Barr
The Philosophy of Artifical Life, Boden
Introduction to Artifical Life, Adami
Cybernetic Machines, Nemes
Cognitive Engineering
The Web of Life, Capra
Nomic Probability, Pollock
How Can the Mind Occur in the Physical Universe, Anderson
Rules of the Mind, Anderson
Atomic Components of Thought, Anderson
Exploring Complexity, Nicolis


Some more so than others, for example the Anderson books are great - not only because they've to some degree been implemented but because they provide the broadest spectrum of understanding - from a theoretical exposition to an implementation.

Tuesday, October 02, 2007

The NoumenaMind Cognitive Engine : Theoretical Entities.

NoumenaCE: Introspection, Speculation and What-If Events Through Theoretical Entities

One of the issues that I've been working through as of late has been, how do I internally model hypothetical entities, situations, events, relationships in regards to a designated spatio-temporal assignment?

What this really amounts to is that I want the NoumenaCognitive Engine to think and reason without initiating an action. This is normally not seen in games - but I'm not trying to implement the status-quo here!

What does Noumena need to do?

Noumena needs to contemplate certain actions via it's own internal belief system. What this contemplation allows for is the ability for Noumena to form it's own internal belief structure (which in turn obviously influences it's eventual actions - potentially heavily) which are based upon it's internal model of the world. This world is built from not only Noumena's raw sensory input, but also the impact that the Noumena-CE perceives it's impact has on/in the environment.

The Noumena system is predicated on the concept of an entity. An entity is basically an atomic element in the world. There are properties associated with an entity, such as red, or dead - the properties themselves, depending on it's complexity may also be entities. It just really depends on the properties complexity.

Entities can be associated through different types of links such as a temporal link for an association that occurs in concert between two entities OR a temporal link signifying that two or more entities have never occurred together.

After some digging, I've settled on the concept of a "Theoretical Entity." The first time I actually read about "theoretical" aspects of cognition was in John Pollock's books, How to Build a Person and Cognitive Carpentry. Both are excellent philosophical books with a dose of AI. I'm sure theoretical entities are addressed in a lot of philosophical books.

A theoretical entity is created when the engine wants to internally structure something that is not necessarily grounded. This allows for the NoumenaCE to create a RED-TANK-THAT FLIES, when all it really knows about is that a tank is a grounded entity, that moves around the terrain and munches soldiers. What's great about theoretical entities is that Noumena can build these internally and if they are ever encountered in the world - either through direct contact or inferred, it can perform a structural promotion from the theoretical entity to a grounded entity. The promotional stage not only deals with the theoretical entity but also any potential associations that the entity has through links to other theoretical entities. These associated entities (either theoretical or grounded) may or may not be promoted along, but their links are maintained and as such may either be degraded or reinforced as applicable over time. Which may lead to the eventual promotion or demotion of an associated entity or property.

Saturday, September 08, 2007

A Multi-Platform Threading Engine

I've posted version 0.1 of the GLRThreading Engine. It is currently only suited for Windows and Xbox development or more precisely: any Windows based systems, but once I get to the final 1.0 release you'll have a threading engine, along with a generalized sync mechanism and a dependency graph to manage - well object dependencies!

If you have any feedback on the system please email it to me and if you want read about it in-depth, then buy a copy of Game Programming Gems Volume 7. I have an article detailing it's general architecture as well a bunch of general threading techniques.

The GLRThreading Engine will be used inside the GLR Cognitive Engine, as many of the internal systems require the ability to execute in parallel ( group promotion management, link management, memory migration, etc..).

Mike

Wednesday, September 05, 2007

Currently Reading: Pitfalls of OO Development

I recently picked up a copy of an older book entitled, "Pitfalls of OO Development by Bruce Webster. It covers a lot of down in the trenches type issues such as object oozing (you gotta love that name), conceptual pitfalls, political pitfalls, analysis and design, proper base class creation as well as more higher level architectural issues - everything such as supposedly basic documentation issues, tools and reuse issues.

Is there any one particular part that stands out? Not really, it just coalesces as a nice book on object oriented development.

The managerial side of me really likes part 3, which covers mid project corrections. Some really basic, but nonetheless, down to earth advice.

Since the book came out awhile ago, you can pick it up on the cheap and is highly recommended.


Mike

Wednesday, August 29, 2007

The Foundational Efforts of the NoumenaMind Engine

As with any endeavor that requires a bit of mental fortitude we need to not only have our own inspirations and intellectual glimpses into something special but also the ability to understand other scientists work. To help me accomplish this I have over the last 2 years purchased a large number of books - not only because I was fundamentally unfamiliar with a lot of the issues but there are definitely pieces of work that influenced the direction of the NoumenaMind Cognitive Engine.



Bibliography

The bibliography is one of the most important chapters of any book, to me. Here you will find books that not only shaped and guided my work, but also served as direct (as noted in the book) and indirect inspiration. If you read the “Shaping of GLR” inconjunction with having this chapter open – you can gain great insight into the thought processes and the gedanken experiments that went into the underlying cognitive mechanisms. These books are part of my personal library.


Books


Advances in AGI, Goertzel

AGI,Goertzel

Piagets Theory of Cognitive Development, Wadsworth

Rigid Flexbility, Wang

Piagets Theory of Intellectual Development, Ginsburg

The Mathematics of Games of Strategy, Dresher

The Compleat Strategyst, Williams

Leviathan, Hobbes

Artificial Minds, Franklin

What is Thought, Baum

Lifes Solution, Morris

Synaptic Self, Ledoux

Semantic Cognition, Rogers

Dreams of Reason, Pagels

The Theory of Evolution, Maynard Smith

Evolutionary Computation 3rd, Fogel

Computational Intelligence, Fogel

Applied Evolutionary Algorithms, Hercock

Introduction to Aritificla Intelligence, Jackson

Principles of Aritifical Intelligence, Nilsson

Simple Minds, Lloyd

The Causes of Evolution, Haldane

Mind Design II, Haugeland

Neural Darwinism, Edelman

A Universe of Consciousness, Edelman

The Remembered Present, Edelman,

Darwin, Eldridge

Society of Mind, Minsky

Emotional Machine, Minsky

Mapping the Mind, Carter

The Hidden Pattern, Goertzel

Growing Artificial Societies, Epstein

The Emotional Brain, Ledoux

Evolutionary Computation: The Fossil Record, Fogel

DNA, Watson

On Evolution, Glick

Wider Then the Sky, Edelman

Second Nature, Edelman

Bright Air, Brilliant Fire, Edelman

Mathematica, Wolfram

Adaptation and Natural Selection, Williams

The Engine of Reason and the Seat of the Soul, Churchland

Evolutionary Dynamics, Nowak

How we Think, Dewey

The Concept of the Mind, Ryle

Introduction to Objectivist Epistemology, Rand

BrainChildren, Dennet

The Mystery of Consciousness, Searle

Cellular Automata, Gutowitz

Cellular Automata, Toffoli

Computer Virus, Artificial Life and Evolution, Ludwig

Induction, Holland

Artifical Life, Levy

New Constructions in Cellular Automata, Griffearth

The Minds I, Hofstadler

Complexity, Lewin

The Fractal Geometry of Nature, Mandelbrot

How the Mind Works, Pinker

At Home in the Universe, Kauffman

Investigations, Kauffman

Chaos, Gleick

Creation, Grand

Complexity, Waldrop

The Analogical Mind, Gentner

An Introduction to Generic Algorithms, Mitchell

The Way We Think, Fauconnier

Mappings in Thought and Languages, Fauconnier

Mental Spaces, Fauconnier

Self Organization in Biological Systems, Carmazine

Growing up with Lucy, Grand

Hidden Order, Holland

Self-Organized Criticality, Jensen

The Blue and Brown Book, Wittgenstein

The Origins of Order, Kauffman

Adapation in Natural and Artifical Systems, Holland

The Mechanical Mind, Crane

Evolutionary Computing, Fogel

On Intelligence, Hawkins

Artificial Intelligence, Norvig

Cellular Automata and Complexity, Wolfram

Games of Life, Sigmund

The Garden in the Machine, Emmeche

Signs of Life, Sole

Blondie24, Fogel

Philosophical Investigations, Wittgenstein

Conceptual Spaces,Gardenfors

Tractatus Logico-Philosophicus, Wittgenstein

The Recursive Universe, Poundstone

Neurophilosophy, Churchland

The Armchair Universe, Dewdney

Chaos Theory Tamed, Williams

Gregor Mendel, Mawer

In Search of Memory, Kandel

An Essay Concerning Human Understanding, Locke

The Emperor'sNew Mind, Penrose

The Road to Reality, Penrose

Shadows of the Mind, Penrose

Metamagical Themas, Hofstadter

Godel, Escher, Bach , Hofstadter

Fluid Concepts, Hofstadter

The TinkerToy Computer, Dewdney

A New Kinds of Science,Wolfram

Analogy Making as Perception, Mitchell

Genesis Redux, Rietman

Creating Artifical Life, Rietman

Exploring the Geometry of Nature, Rietman

Topobiology, Edelman

Mind Tools, Rucker

Introduction To Logic, Kant

Critique of Practical Reason, Kant

Critique of Pure Reason, Kant

Critique of Judgement, Kant

Metaphysic of Morals, Kant

Ancestors Tale, Dawkins

The Blind Watchmaker, Dawkins

The Selfish Gene, Dawkins

Darwin's Dangerous Idea, Dennett

Recollections of My Life, Cajal

Perfect Symmetry, Pagel

The Fabric of the Cosmos, Greene

Elegant Universe, Greene

The Cosmic Code, Pagel

Key Philosophical Writings,Descartes

Minds, Brains and Science, Searle

Advice for a Young Investigator, Cajal

The Autobiography of Charles Darwin, Darwin

The Lifebox, the SeaShell and the Soul, Rucker

Nerve Endings, Rapport

Sparse Distributed Memory, Kanerva

Computers and Thought, Feigenbaum

Pattern Classification 2nd ed, Duda

Treatise of Human Nature, Hume

I am a Strange Loop, Hofstadter

Perceptrons, Minsky

The Intentional Stance, Dennett

Brainstorms, Dennett

Freedom Evolves, Dennett

Consciousness Explained, Dennett

Daniel Dennett Essays, Brook

Elbow Room, Dennett

Modularity of Mind, Fodor

Unified Theories of Cognition, Newell

The Genius Engine, Stein

The Evolving Brain, Steen

The Architecture of Cognition, Anderson

NeuroComputing 1, Anderson, et al

NeuroComputing 2, Anderson, et. al

The Design of Brain, Ashby

Introduction to Cybernetics, Ashby

Living Control Systems 1, Powers

Living Control Systems 2, Powers

Behavior: The Control of Perception, Powers

Artificial General Intelligence, Goertzel

The Evolution of Cooperation, Axelrod

The Structure of Evolutionary Theory, Gould

The Essential Gould, Gould

Physiological Psychology, Milner

The Neurological Basis of Motivation, Milner

Cognitive Processes and the Brain: An Enduring Problem in Psychology, Milner

Metaphors We Live By, Lakoff

Women, Fire, and Dangerous Things, Lakoff

The Autonomous Brain: A Neural Theory of Attention and Learning, Milner

The Organization of Behavior: A Neuropsychological Theory, Hebb

Psychology: The Briefer Course, James

The Fourth Dimension, Hilton

Essay on Mind, Hebb

Programming the Universe, Lloyd

The Intelligent Universe, Gardner

A User's Guide to the Brain, Ratey

An Alchemy of Mind, Ackerman

Beyond AI, Hall

The Artilect War, DeGaris

Parallel Distributed Processing, Volume 1, McClelland
Parallel Distributed Processing, Volume 2 , Rumelhart

Monday, August 27, 2007

Sunday, August 14, 2005

Quantified Judgement Model

I've been busily writing an article for Game Gems 6, entitled QJM Engagement Analysis. QJM was invented by T.N. Dupuy and even though the model is fairly simple (mathematically!) it still allows for some insanely interesting simulations. I played around with the Lanchester equations a bit and they seem so contrived; for example forces that engage have to have the same unit composition? What!?? Nonsense. The QJM system allows for different unit compositions, weapon compositions, technical compositions and also includes alot of "variable" behaviors that we need in computer games development.

This system is also plug and play - which means you do NOT have to use all the variables; you just have to be consistent from one force to the next.

Believe it or not - after playing the majority of turn based strategy games and rts's over the last 2 decades, a lot of computer games programmer use a model like this whether they know it or not.

-Mike

Saturday, June 25, 2005

Military Thought, Hex Games and Fun Krieg!

Here's some material that I've been doing research from for my current game. Being a programmer, you maybe suprised that I read something other then technical books. but you can't make fun games if all you read is super advanced 3d quaternion math, so I indulge myself in research that can help me develop of fun foundation for a game.


Books I've just picked up and are using for my current research:
1.) Connection Games.
2.) Hex Strategy.

Books I've been reading lately include:
1.) Numbers, Predictions and War.
2.) Attrition.
3.) Supply War.
4.) Understanding War.
5.) Grenadier.


Recently finished:
1.) On Clausewitz.
2.) Masters of War: Classical Strategic Thought.

I'm a student of military thought and a lot of my games research involves digesting material from books such as : A History of Military Thought (Gat), Anything with Clausewitz in the title (On War, Masters of War, Understanding War, Clausewitz and modern strategy, On Clauswitz is exceptionally good and Clausewitz and the State.)

Friday, November 26, 2004

On Intelligence and the potential relevance on AI programming.

I just picked this one up and before I post my take on this book, as well as suggestions on how I envision its potential usage for AI development, I will say that if you develop software of any types and especially if you program AI for games, then you must buy this book. Its that good. It has me thinking about the structure of an AI system in a fundamentally unconventional way. Not since I read Mark Ludwig's Artificial Life and Evolution have I had this type fundamental shift in thinking.

On Intelligence Link


More to come.

Saturday, October 16, 2004

Men of Valor is completed.

I'm the lead programmer on Men of Valor for Xbox. The game has now been completed and will be on the store shelves, October 19.

The PC version will be on the store shelves the following week.

For information on the game : http://games.teamxbox.com/xbox/540/Men-of-Valor
as well as my employers website: http://www.2015.com

Needless to say I'm happy this one is behind me and I can get back to a normal life.
These are just some old notes, from the MasterEmpire.com site.

I've updated my papers page. I've written a few papers as well as an outline for a pending series on writing parallel AIs.

J.F.C. Fuller : Military Thinker
One of the most interesting biographies on one of the men that pioneered modern tank warfare. The other being Liddell Hart. If you come across this gem of a book, you should pick it up. The book goes through Fullers early years quickly and starts in on the more interesting aspects of his genesis thoughts on armoured warfare, and the roles infantry would play in general warfare. Some of the text is lifted directly from Fullers own memoirs and other hard to find books. One of the best formulations of strategic thought comes out of the statement that, "The object of battle, ...,was not so much the destruction of individual soldiers, but the disintegration of the organization of masses of soldiers." Once this had been achieved, soldiers would become subject to the caprice of their instincts. Basically likening them to a mob of civilians.


AI Wisdom 2 Purchase Link
AI Wisdom 2 has just been released. Alot of good articles (including mine ;-) )but in general some of the articles are not really even game AI related and could serve as a good starting point for more esoteric research projects into thought formulation.
AI Wisdom 2

Sun Tzu and the Art of Modern Warfare
Just finished reading "Sun Tzu and the Art of Modern Warfare" by Mark McNeilly. Simply buy this book. If you want to design and program an AI that has a solid foundation, this book should be on your shelf - after you've read it. Covering topics such as preparing the battlefield, leadership, identify weaknesses in the enemy, direct and indirect forces, and finally achieving an objective without destroying it. I blew through this book in no time and took COPIOUS notes. This book will be one your fundamental building blocks in writing a good turn based AI.

Art of Maneuver
Just finished reading "The Art of Maneuver" by Robert Leonard, a truly superb treatize on maneuver warfare. Copious coverage of the theory of maneuver construction, to a basic analytical overview of the evolution of maneuver based warfare. The most useful aspect of the book is the examples drawn from history on the usage of maneuver in campaigns. Though, this maybe subjected to scrutiny because, you can ALWAYS find an example to corroborate your claims - it still adds an interesting amount of credibility to the book. Worth a read.


Clausewitz.
Picked up two new books today, "The Essential Clausewitz" and "Principles of War." Both are excellent strategic books that describe in detail the basic fundamental aspects of war. Focusing on maneuvering of forces, how to target and attack, the use of terrain and alot more.

The last few months...
Been very busy, moved to Tulsa to take on a new gig at 2015 (http://www.2015.com) to lead up a little game called Men of Valor : Vietnam.

Basic Defensive Tactics in MOTE
A basic tactical defense of a capital. This shows the defense of a pass with artillery; that can effectively decimate an enemy invasion without much danger to themselves. With the reserves milling around, anything that happened to get through, would be easily dealt with.

MOTE stuff
Heres a new pic of MOTE at play. Enjoy. Progress is slow but constant. I'm working on fine tuning the influence maps for the ai and integrating it into the MTAIF.

Strategy books
I've invested alot of time into reading several good books. The first being, "A Study of his Military Thought" by Brian Bond and "The Liddell Hart Memoirs." Both are exceptional books, that cover the evolution of mobile mechanized warfare from the man that provided the seed for its germination in the German military; as well as most of todays armed forces. Very good stuff.

Masters of the Art of Command by Martin Blumenson.
If your wanting to learn about how to design and implement effective AI's grab this book. It gives a bunch of wide ranging essays on military leaders, how they dealt with war, mobilization, doctrine and maneuvering. No programming in this book, just a real-life treatment of tactics. Good stuff.

Master of the Empire.
I integrated some new art assets, and finished up the interface for unit selection So here is a thumbnail of the new screen.

Master of the Empire.

The entire networking layer has been coded, so you can play games over a network. In the WorldFall folder there are a couple screenshots from the early version of the game. At the current rate of progress, I should have a demo by the end of the month, that allows you too play a game against the computerized empires. The game is shaping up to be something fun, with a simple interface, an incredible AI framwork (its really awesome to see decisions made at a strategic (operational) level and then see the enemies carry out the orders in the field. The system allows operational decisions to be made by an AI that is exclusively programmed for that, I don't have units in the field trying to determine if they should attack or not, the operational AI has ALL that critical info, so the Heavy Tank ("Steel Weight") can just do what he does best, blast units and buildings to pieces. So here is a thumbnail of one full screen shots, two fullscreen shots are on the WorldFall page.

Master of the Empire AI REVEALED!
MOTE: WorldFall is still progressing, but I've spent alot of time working on a series of articles for the next AI Programming Wisdom book. Though, I can't give details now, the articles are covering the MOTE architecture and a second article is covering a generic object manager that is usefull for all games. Not just AI programming. In other breaking news, since I am now joining the ranks of the unemployed, I will be spending alot more time working on the MOTE games.


Tuesday, September 07, 2004

Parallel AI Framework

Creating framework for generally available parallel framework.
Initial paper will be published in Game Gems 5 - sometime early 2005.
http://www.masterempire.com/OpenKimono.html