ai pr0n

20
AI Pr0n Maximum Exposure of your debug info! By David “Rez” Graham

Upload: duy

Post on 08-Jan-2016

35 views

Category:

Documents


0 download

DESCRIPTION

AI Pr0n. Maximum Exposure of your debug info!. By David “Rez” Graham. Who's this Rez guy, anyway?. Who's this Rez guy, anyway?. Who's this Rez guy, anyway?. Who's this Rez guy, anyway?. Who's this Rez guy, anyway?. Who's this Rez guy, anyway?. Who's this Rez guy, anyway?. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: AI Pr0n

AI Pr0nMaximum Exposure of your debug info!

By David “Rez” Graham

Page 2: AI Pr0n

Who's this Rez guy, anyway?

Page 3: AI Pr0n

Who's this Rez guy, anyway?

Page 4: AI Pr0n

Who's this Rez guy, anyway?

Page 5: AI Pr0n

Who's this Rez guy, anyway?

Page 6: AI Pr0n

Who's this Rez guy, anyway?

Page 7: AI Pr0n

Who's this Rez guy, anyway?

Page 8: AI Pr0n

Who's this Rez guy, anyway?

Page 9: AI Pr0n

What We’re Going to Talk About

• Crash-Course on Sims AI

• Developing the tools of Sims Medieval

• Navigation Tools– Nav Mesh– Path Info– Routing Pane

• Decision Making Tools– Autonomy Window– Decision Making– Attempted Interactions

Page 10: AI Pr0n

Sims AI Crash Course• Meta Autonomy

– Which lot should I be on?– Based on venue desire tuned by

designers– Schedules

• Local Autonomy– What should I do on my current lot?– Based on Utility provided for each

interaction on each object– Utility is based on Commodities, like

hunger, energy, social, etc.

Page 11: AI Pr0n

Developing Tools• Most AI tools were written in C#• Gameplay code was in C#• AI Tools & Gameplay code were fully integrated

– The Good:o Gameplay programmers became tools programmerso Fast turnaround thanks to .NET functionalityo Used the same data structures and calculation code

– The Bad:o Tools broke when hitting a breakpointo Code was spread out

• Exception to C#: Routing– All routing code was in C++– Easier to do specialized rendering for paths, routing mesh, etc.

Page 12: AI Pr0n

Route Debugging

Page 13: AI Pr0n

Nav Mesh & Routing SlotsObjectschangemesh atruntime

NavMesh

Interactionscan alsoeffect mesh

RoutingSlots

Page 14: AI Pr0n

Path Info & Walker States

PathPlans

WalkerState

MoverDestination

Page 15: AI Pr0n

Routing Pane

Start & Goal PositionsFailureReason

Routing pane tool toggles

Requestor Sim History

Page 16: AI Pr0n

Autonomy WindowCommodities

Autonomy Tool TabsHistory

Page 17: AI Pr0n

Decision Making: Scores Tab

The last chosen interaction is colored in greenThe interaction that would have been chosen this turn is bolded

Interactions that fail the Test() function are colored in red

Page 18: AI Pr0n

Attempted Interactions Tab

Page 19: AI Pr0n

Final Thoughts• Tool Integration is a balancing act

• Tools should be easy to extend

• Tools should be interactive– If you can see it, you should be able to change

it

• Color is your friend– Learn from syntax highlighting

• History is important– History is often the key to understanding why

something entered a bad state

Page 20: AI Pr0n

Thank You!

Email: [email protected]