8 Answers
8

At my school we have some masters students studying AI, and they do so using the Unreal engine. They pair up with an art student who makes some 3D models (they certainly don't have to be fancy) and then they work their AI magic in UnrealScript and the Unreal editor, and end up with something functional which can be studied and played with. This is the end goal of AI, after all: an actual game or prototype which demonstrates the AI concepts. Because anything less is just a concept, not a demonstration.

I would imagine you could substitute any engine for Unreal; Unity of course is very popular, and Valve's Source engine is also doing some great AI things. I think the end result is that you need to use all the middleware you can, so that you can get past the foundation and quickly get to actually testing AI concepts.

Many of your questions are very much case-by-case basis. You may want multiple examples of one AI concept each, or you may want one big AI sandbox world with all sorts of AIs running around interacting. It really depends on what exactly you're doing or showing.

Also as a portfolio piece ideally there would be an executable, and videos which should show off whatever is trying to be shown off within only a few minutes.

This isn't a question, so: yes! Also I'd recommend getting a personal website so that you can hopefully direct them to it, or even show it to them in an interview if there is a computer in the room. Make sure the website is as standard as possible; use HTML5 video and Flash (whichever one the browser is compatible with), and have screenshots in case the computer is so locked down that none of these are available. Also if you have a portable video-playing device (iPod, phone, etc.) load up videos of your portfolio and bring that! There might be nothing more impressive in an interview without a computer, than pulling out your insert device here and actually showing the interviewer your work.

Also, one final note: there is a big difference between pretty and polished. It doesn't have to have stellar graphics; but the graphics that are there should at least look finished, not placeholders, no glitches or bugs, etc. Just because it doesn't need to be fine art, doesn't mean it shouldn't look like a finished prototype ready to present.

Graphics are totally unimportant. So long as people understand the difference between say actors and static world objects you'll be fine. The demo's will be critiqued by the programming team and they know what is important from an AI programmer.

Multi-featured vs single focussed is a tough one, see my general rules below

Fundamental skills - These are a must. Don't go to advanced and forget to show off your basic understanding of core AI behaviours. Unfortunately, for many companies AI is still low on their priority list. At least initially they will be looking for someone with core knowledge that can get the AI to a basic level

Definitely have multiple AI entities/actors.

Executable is preferable as it shows the behaviours as well as the fact you can do it in a real-time environment. Videos are good for showcasing specific AI behaviours and adding annotations to explicitly state what is happening.

Some general rules:

My biggest suggestion is visualisation. While pretty graphics are not important, visualisations of the actors is crucial. Turn on every piece of debugging you can and leave it on for your demos. What you want to do is show all the behaviours/decisions/data the AI is using to the viewer. This can be simple things like showing the current state next to each actor (eg idle), the "field of view cone", current path, etc. Without this, the viewer may have no idea how advanced you AI is.

As for exactly what to show, this depends entirely on what company you want to work for. My suggestion is to pick your favourite company (or top 3) and look at the AI in their games currently. Tailor your examples to fit with the style of these games (eg FPS vs RTS). Also, look at the technology they are using. If you're applying at a company that uses unreal, you're in a much better position if you use unreal to show off your demo. It shows you have both knowledge of AI and implementing it in their current tech.

"Graphics are totally unimportant." In theory they are, but if you are presenting your AI, and your AI is slightly weaker than another persons, but visual presentation is a lot better, who do you think is going to get the job?
–
AttackingHoboOct 25 '10 at 0:06

Ya I agree with most of what you have to say, but graphics totally matter, although you can get away with graphics that are not quite top notch if there is a style to them (ex. think polygonal art or minecraft)
–
LatencyMay 26 at 21:58

As a 16 year veteran in the industry, in my opinion you shouldn't need to make it look pretty in order to demonstrate good AI skills. On the other hand I think you should it make pretty because:

Presentation is very important in the game industry, and it is a way to make it clear that you "made an effort", even if you spent many more hours on the underlying technology.

Your demo may get seen by a hiring manager, HR person or programmer that doesn't know anything about AI

If you get someone else to make it look pretty for you all the better, because it shows that you care about making a good impression, but also that you can find people to help you, and co-operate with people. Very important skills on the job.

Regarding using an API like Unreal or Kynapse; I think it's much more valuable to show that you can build an AI engine up from nothing. Demonstrating enthusiasm and problem solving. Once you're on the job you can spend a few days reading an API and documentation, but a deeper understanding of what lies beneath the API is a far more valuable asset.

As much as I love to say that graphics don't matter, it's just not true. Not matter how amazing your AI is, the presentation is what's consumed by your viewers. As things being equal the prettier presentation will win out.

That's not to say that you have to present an amazingly detailed piece, just one that looks clean and finished.

You'll also want to pay attention to the erratic movement of your graphical models; even if your path target changes 180°, you'll want that change to happen gradually on screen in order to make the movement look natural.

I'd suggest pairing with a good artist, and make sure to represent that fact if asked during your presentation. The artist may also want a video of your demo to show potential employers what their art looks like being used "in-game".

This is another issue with AI and Animation systems. Some implementations allow the AI to override pre-made animations so the AI functions a lot better but with graphical anomalies. On the other hand if you make the animation perfect it severely limits what the AI is able to do. Ah trade offs.
–
David YoungAug 4 '10 at 0:59

I once implemented a system that would blend between groups of animations automatically in order to make the character naturally move around. It worked pretty well, seemed to be a decent way out of that problem. Too bad I didn't have more time to work on it.
–
jessecurryAug 4 '10 at 2:11

almost all companies use HR as a filter to remove non-relevant resume submissions. They make get a few hundred resumes and HR will weed them down to maybe 5 of them that actually will get interviews.
–
David YoungAug 4 '10 at 15:10

Since you're basically showing off agent behaviour and nothing else, the answer is no. If you can, try to use simple textures (perhaps none at all) and simple models consisting of plain joints and limbs.

That depends on your taste, I personally prefer starting off simple and adding new agents to show off more features as the demo progresses, building up complexity and various emergent behaviours.

Not really, most will take that for granted and look for something beyond this, mention it but don't focus on it. The main interest here is your potential optimizations to the already established algorithms and/or novel approaches to those problems.

See 2.

I agree, providing both is a plus. (some people like to experiment with demo executables for themselves, if they feel sufficiently interested)

With the way money is with many companies I'm sure you will get pulled into a number of different things and not just AI - for this reason I would say you should show good overall skills as well.

Consider the scenario where two amazing people demo their work; they both show the same AI, have the same qualifications/experience and are very similar in every way - but one uses triangles for actors and boxes for static and the other shows his demo with models loaded from file. I personally would hire the one who (a) took more effort (b) shows that they can do work outside their comfort zone/speciality.

As someone else mentioned for your speciality you shouldnt need to show good graphics but I dont think it would hurt either.