Each year Ubisoft Montreal proposes a game competition named the Academia Game Lab Competition invloving student teams to make a 3D game. I've got the privilege to participate to this competition with my team of students coming from the CentreNAD and the UQAC where I used to be.
Our project, Lacerta, is a 3D sidescroller, in a spacestation environment, where the player controls a character who has powerfull and very special powers: she can create small black holes and white holes.
Our project, Lacerta, is a 3D sidescroller, in a spacestation environment, where the player controls a character who has powerfull and very special powers: she can create small black holes and white holes.
General Information
- Game: Lacerta
- Type: 3D Sidescroller
- Environment: Space
- Team: Remi Comtois, Vincent Laforest, Michaël Calixte Papineau, Simon Philippe, Louis-Philippe Laporte, Adam Lacharité, Alexandre Robert, Raphaël Dalpé, Zabdiel Marin, Jean Meyblum
- Project: Academia Game Lab 2013
- Engine: UDK
- Platform: Windows
- Production Time: 3 months
- Awards: 4 nominations, and the Animation award
What I did
Character Energy System
In this game, life and energy of the main character is the same thing. To create white or black holes, the character uses its own vital life. She can't use more than 2/3 of her life to be spend for creating holes. If she try to, she won't die but it will destroy the previous holes she created to create the new one. If she takes damages, before her personal life starts to decrease, it's her holes that will first automaticaly disappear and she will get back energy of the holes. When she's out of combat since a certain period of time, she automatically regain her life.
Character Powers
Her first power is to create black and white holes depending of left or right mouse click.
When she progress in the game she gain more skills:
- Black Hole: It creates a little black hole in her sight of sight that will attract all moveable objects that are in its range, even enemies or the player itself.
- White Hole: The same as black hole but repulse everything around it !
When she progress in the game she gain more skills:
- Shield: clicking with the white hole mouse button on her will create a temporary shield around her that will protect her from everything.
- Bigger Holes: Simply bigger and more powerful white and black holes.
Implementing Animations
As she can create holes even behind her and in every direction, the animation team made lots of different animations of her arm for each direction where she creates a hole. My job here was to look in the direction where the hole was created and then to use and play the correct animation directly from the code.
Also I had to make other animation implementations for specific animation nodes depending on if she is running, crouching or on ladders.
Also I had to make other animation implementations for specific animation nodes depending on if she is running, crouching or on ladders.
Combat System
Our game is not a real action game but more a puzzle game. We wanted our enemies to be both a challenge to deal with but also easy to kill. As easy as a Mario game. That's why, in our game, a simple click on an enemi that we can reach will make our character go automaticaly in a certain distance of the enemie an play a take down combo.
My job here, was to detect if an enemy is reachable, if so, make the player move to it. Then integrate all animations data to play the combo. There were 4 different combos depending on if we used left or right click and if we were far or close to the target.
My job here, was to detect if an enemy is reachable, if so, make the player move to it. Then integrate all animations data to play the combo. There were 4 different combos depending on if we used left or right click and if we were far or close to the target.
What I learned
It was pretty much my first experience using UDK. So this project made me learn a lot of things.
- UnrealScript: pawn, controller, animation, states, and most of the language and common class basics
- Unreal Engine
- Perforce
- Distance working: we were two programers working at Chicoutimi (QC) while the rest of the team was at Montreal
- Team working: taking time to understand artists needs and then to answer them.