Jörg KienzleProfessor 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 email@example.com.
Bettina KemmeProfessor 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 VerbruggeProfessor 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 VangheluweProfessor 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 PrecupProfessor 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.
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.
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
QuazalWe 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 MontrealWe 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-TechnologiesWe 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 ProjectThe 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.
Need help? Click here!