CS/IMGD 4100 (B 16)
Homework Assignment #11
AI Middleware
Due by Web Turn-In: 11:59pm, Wednesday, December 7
(See general homework instructions for turn-in details.)
Presentations in class on Thursday/Friday, December 8/9
The purpose of this assignment is to give you a chance to test your own broad understanding of game AI techniques and also to give you some practice presenting these ideas to a technical audience. Imagine that you are the lead
AI programmer in a game company and you have been asked to consider using the AI middleware system in question for your next big project.
Six AI middleware systems have been selected to research and evaluate in depth, based on the availability of a free evaluation download. Each review team will consist of five or six students. The team will:
- Download and install the evaluation copy of the software.
- Use the software to build your best approximation (in the time available)
to three AIs, with the behavior of:
- the miner from WestWorld,
- the goalie from Simple Soccer (teams of six only), and
- a Raven bot.
- Prepare and present a six minute recorded demo of the use of the middleware.
- Prepare and present a six minute overview slide presentation.
Each group will have 15 minutes for presentation, so there will be a few minutes for questions from the class on each system.
I would like to thank the following for providing their AI middleware free of charge:
AngryAnt
The TinMan AI
Development Platform from TinMan Systems, lets you visually build,
simulate, test and integrate intelligent systems into your host
applications for deployment across various devices and
environments. With TinMan's flagship software application, AI Builder at
its core, and TinMan RealTime
to interface with microcontroller platforms, IoT devices, computers
and or robotics devices, the foundation of applications provides the
developer or scientist with the framework and services necessary to
get at, visualize and process live sensor data while at the same time
building and interacting with the actual intelligent engine which is
simultaneously controlling the system.
For Help or Support with AI Builder or TinMan RealTime, please go to: TinMan Online Help System.
Everyone on the team should download and install the software as soon as it assigned. The team should also meet with each other early to decide on a plan for how to get all of these elements completed on time.
A suggested way to organize your team might be to assign each member of the team
primary responsibility for one of these tasks:
- Read documentation, do tutorials (be resource for everyone)
- Implement miner
- Implement goalie (teams of six only)
- Implement bot
- Prepare video (needs to work closely with 2, 3, 4)
- Prepare slides
Overview Slide Presentation (6 min)
Your slides will be turned in ahead of time and already be loaded onto the classroom podium machine. Watch your time! The instructor will warn you when you have 2 minutes, 1 minute and 30 secs. left in your presentation time. All students in the group should participate in some way in the presentation.
Please prepare a maximum of six slides not including the title slide, which includes the following information:
- Your names
- Name and logo (if available) of the middleware system
- Name and location of company that makes the system
- URL for system/company
Your remaining six slides should answer the following questions:
- What does the system do?
- What AI technique(s) does it use?
- What is the most impressive thing it does?
- What does the system not do? (AI things, not wash windows :-)
- Which games genres or types is it best suited for, if any?
- What other systems/tools does it interface with (e.g., other tools in a suite, tools by other vendors or open-source)?
- How does it compare to the other systems being reviewed (visit the home pages of all six systems and look over the basic introductory information)
- How does it compare to just writing your own C code, as in Buckland?
- What platforms does it run on?
- What programming language(s) does it use or require?
- The following information may not be available for all systems:
- System cost
- Size and activity of user community
- Games it has been used for
NB: Don't just parrot back the advertising hype you find on the company web sites. Put things in your own words and try to relate it to the concepts we studied in the course.
Technical Evaluation Video (6 min)
Since this complete development tasks for the three characters will likely take more
than six minutes, for your class presentation record some of the most
interesting aspects of your experience, e.g., something that was
particularly hard or particularly easy to do.
If you want to spend one of the six minutes showing some other features of the
editor that you did not use in this task, that is also fine.
Screen videos can be easily created using any one of a number of free tools. (This is a good skill to learn, if you don't already know how to do so, for making game trailers, etc.) The
video can be narrated or you can provide the narration live.
Make sure ahead of time that your video is playable on a public WPI machine (such as in the library), which have the same software configuration as the classroom podium machine.
To show the video in class, either bring the video on a thumb drive or make it accessible through a browser (or both!).
What to Turn In
- Zip file containing your overview presentation slides in either PowerPoint or PDF format.
- NB: Late submissions will not be given presentation time.
Grading
- 8 points - Content (completeness, clarity, evidence of research and thought)
- 2 point - Presentation (legible, error-free slides, clear explanations, professional communication style, etc.)
All members of each team will receive the same grade, unless a special circumstance is reported to the instructor.
Please post any questions to the myWPI forum for the course.