MAMMOTH
Development
Partners



|
People
Professors
Jörg Kienzle
Professor Kienzle's current research interest include dependable software development (software development teachniques for coping with hardware and
software faults, transactions, exception handling), software engineering
(model-driven software engineering, software development methodologies) and aspect-orientation (aspect-oriented modeling, aspect-oriented programming).
For inquiries regarding Mammoth, the research framework or the available projects, please
contact Jörg Kienzle by email at joerg.kienzle@mcgill.ca.
Bettina Kemme
Professor Kemme's general research interests lie in the design and
development of distributed information systems with a special emphasis
on data consistency. Some of Prof. Kemme's research projects look at
adaptability issues in multi-tier architectures. Gaming is one
application domain that often deploys such an architecture. She is
also interested in data management issues in peer-to-peer
environments.
Clark Verbrugge
Professor Verbrugge is a member of the Sable Research Group for compiler and computer
language work, and GR@M for computer games research. Main research areas include
compiler (and runtime) optimization, concurrency, modern computer games.
Hans Vangheluwe
Professor Vangheluwe is interested in the modelling, simulation and design of
complex systems. The Modelling, Simulation and Design Lab (MSDL) studies the
theory of multi-paradigm modelling and build tools to support the design and
the implementation of complex (software) systems.
Doina Precup
Professor Precup's research interests include: artificial intelligence,
machine learning, reinforcement learning, Markov Decision Processes, planning
and scheduling, reasoning under uncertainty and applications of machine learning
and artificial intelligence.
Students
Christopher Dragert (PhD)
Christopher Dragert is a McGill CS Ph.D. student studying artifical intelligence in computer games. He has been with the team since 2008, and has overhauled the NPC Engine using a Statechart-based system. In the future he hopes to streamline the engine, allowing it to handle highly complex and interactive AIs. Tool support will allow reuse and modification of existing AIs, and will form an important part of the content creation pipeline.
César A. Cañas (PhD)
César A. Cañ joined the Mammoth team in 2011. His work focuses on creating variations of the load balancing and interest management algorithms that are used in Mammoth, and running real-world experiments with hundreds of machines to test and compare them. In the future, he plans to build a load simulator into Mammoth that will make it possible to evaluate new algorithms quickly.
Hammad Ullah Khan (Masters)
Hammad Ullah Khan is a McGill CS Masters student working on Mammoth as part of his research thesis which is based on distributed systems, and information filtering. He is developing a touch-based distributed monitoring system for the game, which will allow the game developers and level designers to observe the game as it is being played. Such a tool can be useful for detecting problems and possible improvements in the implementation of the game as well as in level designs.
Marc Shakour (Masters)
Marc Shakour is a master student at UQAM. For his master thesis he works in the context of Mammoth, co-supervised by Prof. Jörg Kienzle from McGill University. He is working on improving, evaluating and comparing path finding techniques for games using Mammoth. He is implementing specific algorithms in Mammoth, in particular ones that take advantage of the triangular partitioning of the world.
James Ji (Masters)
James Xiang Ji is a McGill CS master student. He is doing a project on integrating cinematic camera planning techniques into Mammoth, in order to enhance the user experience to the virtual world. The work includes several interesting viewing angles and visual effects. He also optimized the performance of graphics.
Alumni
Alexandre Denault (PhD)
Alexandre Denault is a McGill CS PhD student that helped create the Mammoth
project while finishing his Master's. He then continued his studies at McGill
at the Ph.D. level, developing Journey, the distribution middleware that
Mammoth is based on that provides flexible load balancing, fault tolerance
and cheat detection capabilities.
In addition to managing the project on a daily basis, Alexandre
developed the graphic engine for the game and participated in creating the
flexible development architecture of several other modules,
including the world engine and the network engine.
Kaiwen Zhang (Masters)
Kaiwen Zhang is a McGill CS master student that started working on
Mammoth during a summer undergraduate project. Kaiwen's contribution is the
development of the persistance layer, which allows a server to restart to
a previously saved state. His implementation include a study of various
recording scheme.
Yanwar Asrigo (Masters)
Yanwar Asrigo is a McGill CS master student that is working on Mammoth
as part of his thesis work. Yanwar's work focuses on the extension of
Mammoth services, such as chat, authentification and player distribution.
Michael A. Hawker (Masters)
Michael A. Hawker was a McGill CS Master student that started working on Mammoth
as part of an undergraduate project course. Michael has done extensive work on
both the user and item interface, implementing object hierachies and numerous
UI enhancements. His Master's research focuses on the architecture for
sub-games within a master game and their repercution.
Jean-Sebastien Boulanger (Masters)
Jean-Sebastien Boulanger was a McGill CS Master student that contributed
to Mammoth as part of his Master's thesis. In addition to developping multiple
interest management schemes, he wrote the initial version of the replication
engine that currently powers the Mammoth backend.
Nicholas Rudzicz (Masters)
Nicholas Rudzicz is a McGill CS Master student who is contributing
to Mammoth as part of his Master's thesis, which focuses on
automated/procedural content generation for video games. In particular,
he is working on a data framework and toolset for procedural content
generation that will allow for rapid generation of Mammoth game maps.
Tom Chen (Masters)
Tom Chen is a McGill CS master student that is working on Mammoth
as part of his thesis work. Tom's work focuses on distributed physics,
particuarly what happens to movement in a high latency environment.
Riry Pheng (Masters)
Riry Pheng is a McGill CS master student that is working on Mammoth
as part of her thesis work. Riry's contribution to Mammoth is the development
of a P2P Network Engine based on the PSense research.
Josh Goodman (Masters)
Josh Goodman was a McGill CS Master student that contributed
to Mammoth as part of his Master's thesis. Josh's work include the
development of various anti-cheating scheme, some of which are to be tested
and integrated into Mammoth.
Adrian Ghizaru (Masters)
Adrian Ghizaru was a McGill CS Master student that contributed
to Mammoth as part of his Master's thesis. Adrian's work include the
development of AI's for characters.
Dominik Zindel (Masters)
Dominik Zindel was an exchange student from the Université de Fribourg that
worked on Mammoth as a requirement for his Master's degree. His
main contribution includes the refactoring/clean up of Mammoth's network layer
and the create of Postina, a distributed pub/sub layer for Mammoth. Marc Lanctot (Masters)
Marc Lanctot was a McGill CS Master student that contributed
to Mammoth as part of his research. In addition to contributing to Nic's
research in path finding, he lead the development of Orbius, Mammoth's first
subgame. Currently at University of Alberta, Marc plans to continue his research by
studying the formalisms needed model NPC AI behavior.
Nicolas NgManSun (Masters)
Nicolas NgManSun was a McGill CS Master student that contributed
to Mammoth as part of his master's thesis. Nicolas implemented the path-finding
algorithm currently implemented in Mammoth.
Nadeem Khan (Masters)
Nadeem Khan was a McGill CS Master student that contributed
to Mammoth as part of his master's thesis. Nadeem implemented a distributed
network engine for Mammoth, allowing the game to be run on multiple servers.
Althought his research was never fully integrated into the main branch, it
did inspire futur research on distributed engines for Mammoth.
Jonathan Li On Wing (Masters)
Jonathan Li On Wing was a McGill CS Master student that contributed
to Mammoth as part of his Master's thesis. Jonathan's work includes the
development of AI's for characters.
Etienne Pérot and Louis-Philippe Thibodeau-Bellemare (Ugrad)
Etienne and Louis-Philippe worked on Mammoth during Summer 2011 to upgrade the client's graphics to a modern, shader-based 3D graphics engine as part of an NSERC Undergraduate Summer Research Award. Thanks to their work, Mammoth now has 3D models for human characters, trees, walls, furniture and other game items. The 3D models now support animation and normal maps. Lighting and shadows were added to the game, and various environmental effects were implemented such as snow, rain, sky types and a day/night cycle. The ability to reflect real-time lighting and real-time weather by querying the current weather conditions in Montreal was also implemented. Terrain generation was completely overhauled by adding the ability of having varying levels of detail depending on camera distance. Terrain texturing was also upgraded, allowing much higher resolution texture without a huge memory penalty. Various postprocessing effects are now also supported (bloom, depth of field, realistic water) thanks to the shader-based pipeline. Finally, the user interface was completely rewritten, and environmental sound and music were added to the game.
Robert Aboukhalil (Ugrad)
Robert Aboukhalil is a McGill Computer Engineering undergraduate student.
His work consisted in redesigning and recoding the website for Mammoth.
Tristan Ratchford (UGrad)
Tristan Ratchford is a McGill undergraduate student that started
working during the summer. He is our legal eagle, and is currently working
on issues related to Mammoth licensing.
Jonathan Pullano (Ugrad)
Jonathan Pullano is a McGill undergraduate student that started
working on Mammoth as part of a class project. His contribution is the
creation of a triangle-tile-based pathfinding, inspired by the triangle a*
algorithms developped at the University of Alberta.
Robert Rolnick, George Ciobanu and Scott Mcmurray (UGrad)
Robert, George and Scott are McGill undergraduate students that started
working on Mammoth as part of a class project. Their contribution is the
addition of height maps in Mammoth to an otherwise flat world. This
integration required modifiction both on the client and the editor.
Ashton Anderson and Amy Goldenberg (Ugrad)
Ashton Anderson and Amy Goldenberg were McGill undergraduate students that started
working on Mammoth as part of a class project. Their contribution is the development
of a voice control interface for Mammoth, allowing a player to control a character
by speaking to it. This project had two important components : integration of a
voice interpreter and a text command interpreter.
Wisam Alabed and Yifan Li (UGrad)
Wisam Alabed and Yifan Li were McGill CS Master students that worked on Mammoth as part
of a class project. Their contribution is the development of a remote interface for
Mammoth, allowing embedded devices to communicate with a Mammoth server. The
ultimate goal of this project is to allow GPS control of a player.
Joachim Despland (UGrad)
Joachim Despland was a McGill CS undergraduate student that started working on
Mammoth during the summer. Joachim's contribution was the development of new
pathfinding algorithms and the extensive testing of the new pathfinding
infrastructure.
Mathieu Couturier (Ugrad)
Mathieu Couturier was a McGill CS undergraduate student that started working on
Mammoth during the summer. Mathieu's contributions was some extensive research
into existing Publish/Subcriber systems that could be used in Mammoth.
Jeremy Claude (UGrad)
Jeremy Claude was a McGill CS undergraduate student that started working on
Mammoth as part of a project course. Jeremy's contribution was
the development of a new content editor, focusing mostly on the toolbar
interface.
Jessica Guo (UGrad)
Jessica Guo was a McGill CS undergraduate student that started working on
Mammoth during the summer. Jessica's continuing contribution was
the development of a new content editor, focusing mostly on the
item creation tool.
Yannick Thiel (UGrad)
Yannick Thiel was a McGill CS undergraduate student that started working on
Mammoth during the summer. Yannick's continuing contribution was
the development of a new content editor, focusing mostly on the
world creation tool and the wall editing tool.
Juan Lema (UGrad)
Juan Lema, previously a McGill CS undergraduate student, defected to Concordia.
In addition to helping us with any 3D rendering problems we might have, Juan
drops in occasionally on Mammoth meetings to give his advice on graphic related
issues.
Ting Sun (UGrad)
Ting Sun is a McGill CS undergraduate student that contributes
to Mammoth in his spare time. Ting create the graphic scheme currently used
by Mammoth, included all the icons and windows seen in both the login screen
and the game.
Russell Spence (UGrad)
Russell Spence was a McGill Physics undergraduate student that contributed to
Mammoth as part of a Phys-489 special project. Russell developed the current
physic engine, elaborating a quick and efficient technique to do collision
detection in our 2D world.
Loc Bui (UGrad)
Loc Bui was a McGill Science undergraduate student that contributed over the
summer of the first version of Mammoth. He developed the first content editor,
allowing us to easily create complexe maps and content for the game.
Alfred Leung (UGrad)
Alfred Leung was a McGill CS undergraduate student that
contributed over the summer of the first version of Mammoth. His challenge was
to create an efficient network library that utilized Java's NIO optimized
library.
Pierre Marieu (UGrad)
Pierre Marieu was a french exchange student that contributed over the summer on
the first version of Mammoth. Pierre developed the initial core of Mammoth, the
World Engine.
Alexandre Quesnel (UGrad)
Alexandre Quesnel was a McGill CS undergraduate student that
contributed over the summer of the first version of Mammoth. Alexandre was in
charge of researching new technologies that could improve Mammoth. He developed
the infrastructure needed to start Mammoth over WebStart and developed sound
libraries for Mammoth.
Teodora Dan (UGrad)
Teodora Dan was an intern in McGill CS Game Lab for 7 months.
She worked on upgrading Mammoth from JMonkey Engine Version 1 to JMonkey Engine Version 2.
She also worked on the non playable characters AI.
Arianne Perpignani, Edouard Lanctot-Benoit, Valérie Ngo and Vincent Brillant-Marquis (CEGEP)
Arianne, Edouard, Vincent and Valérie are four Cegep Art students that joined the Mammoth
program as part of a summer intership program. Arianne and Valérie heavily
contributed to the 2D artwork used in Mammoth and the interface design, while
Edouard and Vincent created many 3D models of objects commonly found on the McGill campus.
Tommy Sheng Liang (CEGEP)
Tommy was a CEGEP student from Marianopolis College who worked on Mammoth as a
programmer during his summer vacation. During this time, he worked on the
3-D map editor.
Other Contributions and Acknowledgments
Quazal
We would like to thank Quazal, our main research partners for the Mammoth project.
Their support and expertise have been invaluable in the continuation of this
project.
Electronic Arts Montreal
We owe a big thanks to the graphic artists at EA Montreal for their help in
modeling the McGill campus in 3D. Without their help, the we would not have a
3D Client prototype.
ej-Technologies
We would like to thank ej-Technologies for providing us with their profiling
tools, which have greatly contributed to the development and debugging of Mammoth.
Charas Project
The Charas Project provides the art of all of the characters in the 2D client. A big thanks goes out to them and their useful character generation tool.
|
Login
Requirements
To play MAMMOTH, you need Java 1.5 to be installed.
Need help? Click here!
|