SlideShare a Scribd company logo
1 of 48
Dynamic State Based AI Decision Framework Presenter: Kuanhung Chen, MS in Software Engineering Committee Members: Dr. Junhua Ding, Dr. Masao Kishore, Dr. Ronnie Smith East Carolina University Fall 2011 Master’s Presentation
The Need for Better AI ,[object Object]
The Need for Better AI
Problem Statement ,[object Object],[object Object]
Project Functionalities
Dynamic AI Algorithm
Dynamic AI Algorithm
Data Layer – Class Diagram
Presentation Layer – Simplified Class Diagram (Semi-Manual Engine)
Presentation Layer – Character State
AI Layer – Action Engine
Data Link – Character Association
Graphical Layer - Stock Character
Scaffolding System Testing
Project Site – Log-In
Project Site – Stub Upload
Project Site – Stub Download
Project Site – Project Management
Character Selection
AI Stub Selection
Rounds Selection
Battle
Result Display
Question and Answer Presenter: Kuanhung Chen, MS in Software Engineering Committee Members: Dr. Junhua Ding, Dr. Masao Kishore, Dr. Ronnie Smith East Carolina University Fall 2011 Master’s Presentation
Appendix Index ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Simplified User Project Interface
Test Plan
Simplified Class Diagram (Manual Engine)
Class Diagram – Elaborated
Action Diagram
Animation Engine
Animation Engine – Elaboration
Simplified Character State Diagram
Interface Design
Camera Control – Design
Camera Control – Camera Movement
Camera Control – User Interface
Audio Manager Implementation
AI Stub Verification ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
C# Reflection Invoke ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
C# Reflection Invoke Differences ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
AI Stub Injection
AI Stub Injection Interface
AI Algorithm Utility ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
AI Design Strategies ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Data Link – Action Driver
AI Stub Implementation – Template
Dynamic State Based AI Decision Framework The End

More Related Content

Similar to Presentation 20110918 after effect

UI2code : A Neural Machine Translator to Bootstrap Mobile GUI Implementation
UI2code : A Neural Machine Translator to Bootstrap Mobile GUI ImplementationUI2code : A Neural Machine Translator to Bootstrap Mobile GUI Implementation
UI2code : A Neural Machine Translator to Bootstrap Mobile GUI ImplementationChunyang Chen
 
Core image presentation
Core image presentationCore image presentation
Core image presentationKyle Stewart
 
Build, Train, and Deploy ML Models at Scale
Build, Train, and Deploy ML Models at ScaleBuild, Train, and Deploy ML Models at Scale
Build, Train, and Deploy ML Models at ScaleAmazon Web Services
 
Refactoring for Software Design Smells - Tech Talk
Refactoring for Software Design Smells - Tech TalkRefactoring for Software Design Smells - Tech Talk
Refactoring for Software Design Smells - Tech TalkGanesh Samarthyam
 
Xuedong Huang - Deep Learning and Intelligent Applications
Xuedong Huang - Deep Learning and Intelligent ApplicationsXuedong Huang - Deep Learning and Intelligent Applications
Xuedong Huang - Deep Learning and Intelligent ApplicationsMachine Learning Prague
 
IBM Rational AppScan Technical Overview
IBM Rational AppScan Technical OverviewIBM Rational AppScan Technical Overview
IBM Rational AppScan Technical OverviewAshish Patel
 
Letswift18 워크숍#1 스위프트 클린코드와 코드리뷰
Letswift18 워크숍#1 스위프트 클린코드와 코드리뷰Letswift18 워크숍#1 스위프트 클린코드와 코드리뷰
Letswift18 워크숍#1 스위프트 클린코드와 코드리뷰Jung Kim
 
Anime Generation with AI
Anime Generation with AIAnime Generation with AI
Anime Generation with AIKoichi Hamada
 
YVision: A General Purpose Software Composition Framework
YVision: A General Purpose Software Composition FrameworkYVision: A General Purpose Software Composition Framework
YVision: A General Purpose Software Composition FrameworkAntão Almada
 
Python_for_Visual_Effects_and_Animation_Pipelines
Python_for_Visual_Effects_and_Animation_PipelinesPython_for_Visual_Effects_and_Animation_Pipelines
Python_for_Visual_Effects_and_Animation_PipelinesRussell Darling
 
Y1 gd engine_terminology
Y1 gd engine_terminologyY1 gd engine_terminology
Y1 gd engine_terminologyJordanianmc
 
Applying AI in Games (GDC2019)
Applying AI in Games (GDC2019)Applying AI in Games (GDC2019)
Applying AI in Games (GDC2019)Jun Okumura
 
LJC-Unconference-2023-Keynote.pdf
LJC-Unconference-2023-Keynote.pdfLJC-Unconference-2023-Keynote.pdf
LJC-Unconference-2023-Keynote.pdfEmilyJiang23
 
YuZhangResume
YuZhangResumeYuZhangResume
YuZhangResumeyu zhang
 
Whidbey old
Whidbey old Whidbey old
Whidbey old grenaud
 
Major Project Presentation (7th Sem) - Code Detection.pptx
Major Project Presentation (7th Sem) - Code Detection.pptxMajor Project Presentation (7th Sem) - Code Detection.pptx
Major Project Presentation (7th Sem) - Code Detection.pptxsohanmahanta1
 
Introduction To Mobile-Automation
Introduction To Mobile-AutomationIntroduction To Mobile-Automation
Introduction To Mobile-AutomationMindfire Solutions
 

Similar to Presentation 20110918 after effect (20)

UI2code : A Neural Machine Translator to Bootstrap Mobile GUI Implementation
UI2code : A Neural Machine Translator to Bootstrap Mobile GUI ImplementationUI2code : A Neural Machine Translator to Bootstrap Mobile GUI Implementation
UI2code : A Neural Machine Translator to Bootstrap Mobile GUI Implementation
 
Core image presentation
Core image presentationCore image presentation
Core image presentation
 
Dm cprojects twc_2-06
Dm cprojects twc_2-06Dm cprojects twc_2-06
Dm cprojects twc_2-06
 
Build, Train, and Deploy ML Models at Scale
Build, Train, and Deploy ML Models at ScaleBuild, Train, and Deploy ML Models at Scale
Build, Train, and Deploy ML Models at Scale
 
Refactoring for Software Design Smells - Tech Talk
Refactoring for Software Design Smells - Tech TalkRefactoring for Software Design Smells - Tech Talk
Refactoring for Software Design Smells - Tech Talk
 
Xuedong Huang - Deep Learning and Intelligent Applications
Xuedong Huang - Deep Learning and Intelligent ApplicationsXuedong Huang - Deep Learning and Intelligent Applications
Xuedong Huang - Deep Learning and Intelligent Applications
 
IBM Rational AppScan Technical Overview
IBM Rational AppScan Technical OverviewIBM Rational AppScan Technical Overview
IBM Rational AppScan Technical Overview
 
Letswift18 워크숍#1 스위프트 클린코드와 코드리뷰
Letswift18 워크숍#1 스위프트 클린코드와 코드리뷰Letswift18 워크숍#1 스위프트 클린코드와 코드리뷰
Letswift18 워크숍#1 스위프트 클린코드와 코드리뷰
 
Malevolence_exit_interview
Malevolence_exit_interviewMalevolence_exit_interview
Malevolence_exit_interview
 
Anime Generation with AI
Anime Generation with AIAnime Generation with AI
Anime Generation with AI
 
YVision: A General Purpose Software Composition Framework
YVision: A General Purpose Software Composition FrameworkYVision: A General Purpose Software Composition Framework
YVision: A General Purpose Software Composition Framework
 
Work Portfolio
Work PortfolioWork Portfolio
Work Portfolio
 
Python_for_Visual_Effects_and_Animation_Pipelines
Python_for_Visual_Effects_and_Animation_PipelinesPython_for_Visual_Effects_and_Animation_Pipelines
Python_for_Visual_Effects_and_Animation_Pipelines
 
Y1 gd engine_terminology
Y1 gd engine_terminologyY1 gd engine_terminology
Y1 gd engine_terminology
 
Applying AI in Games (GDC2019)
Applying AI in Games (GDC2019)Applying AI in Games (GDC2019)
Applying AI in Games (GDC2019)
 
LJC-Unconference-2023-Keynote.pdf
LJC-Unconference-2023-Keynote.pdfLJC-Unconference-2023-Keynote.pdf
LJC-Unconference-2023-Keynote.pdf
 
YuZhangResume
YuZhangResumeYuZhangResume
YuZhangResume
 
Whidbey old
Whidbey old Whidbey old
Whidbey old
 
Major Project Presentation (7th Sem) - Code Detection.pptx
Major Project Presentation (7th Sem) - Code Detection.pptxMajor Project Presentation (7th Sem) - Code Detection.pptx
Major Project Presentation (7th Sem) - Code Detection.pptx
 
Introduction To Mobile-Automation
Introduction To Mobile-AutomationIntroduction To Mobile-Automation
Introduction To Mobile-Automation
 

Recently uploaded

Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 

Recently uploaded (20)

Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 

Presentation 20110918 after effect

Editor's Notes

  1. Intro page
  2. The need for better AI: FPS enemy AI fail, enemies may not always choose best possible choice, a lot of time they choose worst possible outcome.
  3. The need for better AI: MMORPG AI fail, escort mission, people you are protecting runs straight toward danger.
  4. Using problem statement instead of abstract to make things short and simple.
  5. System overall functionalities, separated into three user layers: Player, developer, and Admin Player: Download and runs application using AI stubs Developer: Download and use game engine to develop AI stubs to be uploaded Admin: Oversee AI stub submission to ensure safety
  6. Algorithm 1: Dynamic source file Pro: Efficiency, dynamic name change Con: Recompile time, user requires compiler Algorithm 2: Dynamic DLL inclusion Pro: Speed and efficiency Con: No dynamic naming
  7. Algorithm 3: IPC Pro: Dedicated process, location freedom Con: Dump and reconstruct time Algorithm 4: Dynamic DLL Reference Pro: Dynamic inclusion, customizable Con: Efficiency and performance
  8. .NET layer, data holder, stores game state data. Stores who is where and what the character is about.
  9. Unity layer, uses the data layer to manipulate game objects and update game state. Could use physics based action or simple action.
  10. Game is character driven. Character choose what to do and its action affects the game state.
  11. AI prompt cycle. How character object interact with global game state and uses AI adaptor as well as the action manager. AI adaptor sends a copy of game state and caller character to AI stub is the key of this project. Note, each of the three layers can expand without effecting the other. Data layer initialize game state -> Graphical layer controls game engine -> AI stub decision -> Graphical layer performs action -> Update to global state
  12. Character implementation by layers. First, an enumerator can be used to reference to a new character so that data layer and presentation layer can use the same flag. Then a generic singleton character fetching method can be created in game state to fetch a new instance of the character. The abstract singleton character factor look into character implementation to fetch necessary data to describe each character, where new characters can be added. Character reference can then be associated in graphical presentation layer by reference.
  13. Usage of a stock character to dynamically effect how the character looks to reuse available resource. Then the character’s look can be dynamically altered by script to match the needed character’s specification.
  14. Due to layered architecture dependencies, layers cannot be tested until they are all present. Thus scaffolding system testing is needed to test each component. Before the tests can be done, the depended layer has to be assumed to be correct.
  15. Log-in by creating account using existing account or ECU intra account
  16. Upload new stubs
  17. Search/download existing stubs
  18. Update project download packages
  19. Select the characters for both sides. Some algorithm work best with a specific set of characters where as generic algorithm can work with random characters.
  20. Select which AI stub to use from the “/AI Stubs” folder, where all the download needs to go.
  21. Select how many rounds by click on the number bar then press [Up] or [Down] to go up or down, hold [Up] or [Down] to incrementally increase selection range. Same can be done by using mouse scroll. Or [Left] or [Right] key to skip by 10.
  22. Battle until at least one side loses. Repeat if necessary.
  23. Dynamic pie chart display.
  24. The end, time for Q&A.
  25. If necessary, here is a list of indexes to be used to answer things in Q&A section.
  26. Three categories of users using two components, a simplified version of the Project Functionality diagram.
  27. Test for expected output and expected failure.
  28. Simplified class diagram from presentation layer point of view.
  29. The more elaborated character class diagram from design point of view.
  30. Simple example on how the action is carried out.
  31. AnimationEngine flow diagram. How to fetch and get the animation by using an AnimationManager object associated with each character.
  32. An example on how to use AnimationState flag that’s associated with ActionDriver to trigger which animation to play for the character when performing the said action.
  33. Simplified character state diagram, much more simplified than before.
  34. Design the interface in PhotoShop then place the GUI contents. Using guide lines to locate (x, y) location as well as (width, height) dimension of the GUI elements.
  35. Aim the game camera constantly at where the target is.
  36. Since the camera is looking at the target, then as long as the target moves or camera moves the view can be controlled easily.
  37. Mouse control, using click and drag to move the target, scroll up and down to zoom in and out, and right click drag to move the camera up/down rotate left/right.
  38. Audio manager that plays either background music or sound effect clip.
  39. This is how the AI stub file is being recognized. By using this scheme I don’t need a secondary database to associate file with its content.
  40. How to dynamically reference to a class, instantiate an object from the class, and how to reference to the class’ member.
  41. The difference between Visual Studio .NET’s Reflection class library and MonoDevelop’s C# definition. While similar but syntax is different.
  42. Since each component acts independently, there is no reason why a secondary form (manual control) can’t pretend to be an AI stub and inject action selection to an AI adaptor. Scaffolding testing.
  43. Action driver testing, creating a fake game scene with dummy as targets. Display all available actions to visually test the effect of the action drivers before integrating them into the actual scene.
  44. Built-in methods to help algorithm design.
  45. Generic methods on how to design AI stubs using this framework.
  46. Like character reference, there is an action enumerator. Each action has a cost and delay lookup. Action is separated into three types Attack, Projectile, and Defense. Which can be fetch via singleton action factory. Then action object can be associated with action drivers on graphical presentation side.