● The many faces of Mammoth
● Prelude Seminar Series 07-08● Alexandre Denault
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
Why?
■ Provides a “real” context for research.
■ Designed by the students, for the students. Written in Java
Designed for extensibility, not performance
Documented
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
■ 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?
Presenting Mammoth
Demo of Mammoth
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
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
Item Hierarchy
Fruit
Apple Banana
Apple54 Apple55 Banana126
ItemType
Item
World Triangularization
Obstacle Simplification
Interest Management
Hierarchical Path Finding
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
Subgames
Orbius
New Artwork
Mammoth v2
Mammoth v3
Content Editor
WallTool
Persistent World
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
Hierarchical Path Finding v2
Collision Detection
|
Speech
Pick up tomato
Weather / Wind
Noa
Questions
Any questions?
Top Related