The many faces of Mammoth - McGill University School of …prelude/Prelude/Calendar of... ·...

27
The many faces of Mammoth Prelude Seminar Series 07-08 Alexandre Denault

Transcript of The many faces of Mammoth - McGill University School of …prelude/Prelude/Calendar of... ·...

Page 1: The many faces of Mammoth - McGill University School of …prelude/Prelude/Calendar of... · 2009-09-20 · Summer 2006: Development of Mammoth 2.0, a massive refactoring of the first

● The many faces of Mammoth

● Prelude Seminar Series 07-08● Alexandre Denault

Page 2: The many faces of Mammoth - McGill University School of …prelude/Prelude/Calendar of... · 2009-09-20 · Summer 2006: Development of Mammoth 2.0, a massive refactoring of the first

What?

■ It's a massively multiplayer game research framework.

■ It provides an environment for experimentation in areas such as distributed systems

fault tolerance

databases

modeling and simulation

artificial intelligence

aspect-orientation

Page 3: The many faces of Mammoth - McGill University School of …prelude/Prelude/Calendar of... · 2009-09-20 · Summer 2006: Development of Mammoth 2.0, a massive refactoring of the first

Why?

■ Provides a “real” context for research.

■ Designed by the students, for the students. Written in Java

Designed for extensibility, not performance

Documented

Page 4: The many faces of Mammoth - McGill University School of …prelude/Prelude/Calendar of... · 2009-09-20 · Summer 2006: Development of Mammoth 2.0, a massive refactoring of the first

Who?

■ 5 faculty professors:Jörg Kienzle, Bettina Kemme, Clark Verbrugge, Hans Vangheluwe and Doina

Precup

■ 1 PhD student:Alexandre Denault

■ Several master students:Marc Lanctot, Jean-Sebastien Boulanger, Michael A. Hawker, Nicolas

NgManSun, Nadeem Khan, Dominik Zindel

■ Multiple undergraduate students:Jeremy Claude, Jessica Guo, Yannick Thiel, Juan Lema, Ting Sun, Jonathan

Li On Wing, Russell Spence, Loc Bui, Alfred Leung, Pierre Marieu, Alexandre Quesnel, Tristan Ratchford, Adam Blahuta, Joachim Despland, Kaiwen Zhang, Mathieu Couturier, Robert Aboukhalil, Alexander Thompson, Wisam Al Abed

■ And a couple of Cegep interns:Valerie Ngo, Arianne Perpignani, Edouard Lanctot-Benoit

Page 5: The many faces of Mammoth - McGill University School of …prelude/Prelude/Calendar of... · 2009-09-20 · Summer 2006: Development of Mammoth 2.0, a massive refactoring of the first

■ Summer 2005:

Beginning of development

■ Fall 2005:

Completion of first prototype

Two graduate students join the team

■ Summer 2006:

Development of Mammoth 2.0, a massive refactoring of the first prototype.

■ Fall 2006:

More graduate students join the team.

First thesis related to Mammoth is published

First Mammoth-related publication

■ January 2007

EA donates 3d atwork of campus

First Mammoth 3d prototype, Noa

■ Summer 2007

Project-oriented improvements on Mammoth

Creation of custom art work for Mammoth

■ Fall 2007

Completion of Mammoth 3.0, with new UI

When?

Page 6: The many faces of Mammoth - McGill University School of …prelude/Prelude/Calendar of... · 2009-09-20 · Summer 2006: Development of Mammoth 2.0, a massive refactoring of the first

Presenting Mammoth

Demo of Mammoth

Page 7: The many faces of Mammoth - McGill University School of …prelude/Prelude/Calendar of... · 2009-09-20 · Summer 2006: Development of Mammoth 2.0, a massive refactoring of the first

The Technology Behind Mammoth

■ Written completely in Java (5.0). Most developers use Eclipse to work on Mammoth.

Build is managed by Ant.

■ Code is store in a SVN repository Automated build validation using CruiseControl

■ Many existing libraries are used to simplify Mammoth development: JMonkeyEngine / FengGUI

Pastry / Scribe (in development)

JTS Topology Suite

JGraphT

Triangles

Log4J

Page 8: The many faces of Mammoth - McGill University School of …prelude/Prelude/Calendar of... · 2009-09-20 · Summer 2006: Development of Mammoth 2.0, a massive refactoring of the first

Mammoth Projects

■ Interest Management

■ A-Star Path Finding

■ Hierarchical Path Finding

■ World Triangularization

■ Obstacle Simplification

■ Persistence of World

■ Item Hierarchy

■ Sub Games

■ Learning NPCs

■ New Artwork

■ JMonkeyEngine / FengGUI integration

■ Content Editor / Wall Tool

Page 9: The many faces of Mammoth - McGill University School of …prelude/Prelude/Calendar of... · 2009-09-20 · Summer 2006: Development of Mammoth 2.0, a massive refactoring of the first

Item Hierarchy

Fruit

Apple Banana

Apple54 Apple55 Banana126

ItemType

Item

Page 10: The many faces of Mammoth - McGill University School of …prelude/Prelude/Calendar of... · 2009-09-20 · Summer 2006: Development of Mammoth 2.0, a massive refactoring of the first

World Triangularization

Page 11: The many faces of Mammoth - McGill University School of …prelude/Prelude/Calendar of... · 2009-09-20 · Summer 2006: Development of Mammoth 2.0, a massive refactoring of the first

Obstacle Simplification

Page 12: The many faces of Mammoth - McGill University School of …prelude/Prelude/Calendar of... · 2009-09-20 · Summer 2006: Development of Mammoth 2.0, a massive refactoring of the first

Interest Management

Page 13: The many faces of Mammoth - McGill University School of …prelude/Prelude/Calendar of... · 2009-09-20 · Summer 2006: Development of Mammoth 2.0, a massive refactoring of the first

Hierarchical Path Finding

Page 14: The many faces of Mammoth - McGill University School of …prelude/Prelude/Calendar of... · 2009-09-20 · Summer 2006: Development of Mammoth 2.0, a massive refactoring of the first

Learning NPCs

Class Action Position Value

Flower Pick up (19.2, 15.3) 1

Flower Pick up (18.1, 16.3) -1

Plate Pick up (18.0, 16.2) 0

Book Pick up (19.0, 15.7) 0

Plate Drop (20.0, 15.7) 0

Flower Drop (21.0, 15.1) 1

Memory

Visual

Inventory

Memory

Classifier

Actor

action,object

Page 15: The many faces of Mammoth - McGill University School of …prelude/Prelude/Calendar of... · 2009-09-20 · Summer 2006: Development of Mammoth 2.0, a massive refactoring of the first

Subgames

Page 16: The many faces of Mammoth - McGill University School of …prelude/Prelude/Calendar of... · 2009-09-20 · Summer 2006: Development of Mammoth 2.0, a massive refactoring of the first

Orbius

Page 17: The many faces of Mammoth - McGill University School of …prelude/Prelude/Calendar of... · 2009-09-20 · Summer 2006: Development of Mammoth 2.0, a massive refactoring of the first

New Artwork

Mammoth v2

Mammoth v3

Page 18: The many faces of Mammoth - McGill University School of …prelude/Prelude/Calendar of... · 2009-09-20 · Summer 2006: Development of Mammoth 2.0, a massive refactoring of the first

Content Editor

Page 19: The many faces of Mammoth - McGill University School of …prelude/Prelude/Calendar of... · 2009-09-20 · Summer 2006: Development of Mammoth 2.0, a massive refactoring of the first

WallTool

Page 20: The many faces of Mammoth - McGill University School of …prelude/Prelude/Calendar of... · 2009-09-20 · Summer 2006: Development of Mammoth 2.0, a massive refactoring of the first

Persistent World

Page 21: The many faces of Mammoth - McGill University School of …prelude/Prelude/Calendar of... · 2009-09-20 · Summer 2006: Development of Mammoth 2.0, a massive refactoring of the first

Open Project

■ Speech Recognition

■ McGill Campus

■ Weather / Wind

■ Improving the Usability of the Content Editor

■ Delauney Triangularization, in Java

■ Item Behavior Scripting

■ Animated Objects

■ Tiled-based Path Finding

■ Character Customization

Page 22: The many faces of Mammoth - McGill University School of …prelude/Prelude/Calendar of... · 2009-09-20 · Summer 2006: Development of Mammoth 2.0, a massive refactoring of the first

Hierarchical Path Finding v2

Page 23: The many faces of Mammoth - McGill University School of …prelude/Prelude/Calendar of... · 2009-09-20 · Summer 2006: Development of Mammoth 2.0, a massive refactoring of the first

Collision Detection

|

Page 24: The many faces of Mammoth - McGill University School of …prelude/Prelude/Calendar of... · 2009-09-20 · Summer 2006: Development of Mammoth 2.0, a massive refactoring of the first

Speech

Pick up tomato

Page 25: The many faces of Mammoth - McGill University School of …prelude/Prelude/Calendar of... · 2009-09-20 · Summer 2006: Development of Mammoth 2.0, a massive refactoring of the first

Weather / Wind

Page 26: The many faces of Mammoth - McGill University School of …prelude/Prelude/Calendar of... · 2009-09-20 · Summer 2006: Development of Mammoth 2.0, a massive refactoring of the first

Noa

Page 27: The many faces of Mammoth - McGill University School of …prelude/Prelude/Calendar of... · 2009-09-20 · Summer 2006: Development of Mammoth 2.0, a massive refactoring of the first

Questions

Any questions?