top of page
color_box.png

Description of the project

Creation of a 3D shooting and platforming game for PC made in 14 weeks remotely at the Campus ADN​. 

unity_logo.png
C_Sharp_logo.png
perforce_logo_edited_edited.png
Wallpaper_Hive_1920x1080.png

Wallpaper - Aldeir Silva

color_box.png
color_box.png
color_box.png
color_box.png

Production

Hive

Gameplay Programming

Requirements​

  • Fully functional game based on a pitch

  • 3D game for PC made with Unity in C# based on an existing core project

Intentions

  • Bring to life the gameplay mechanics from the pitch and the game design

  • Characters: state machines, animation driven, code driven (jumps only)

  • Make the code as simple as possible

AvatarUI_Lv4_01.PNG

Level 4 - LD: Lucas Comeau-Ponton/LA: Camille Loison

Members

  • My roles: Lead Gameplay Programmer Assistant, Gameplay programming and Game design

  • The gameplay programming team: Gameplay programming and Game design

  • The other department teams: Game design, Level design, Animation, 3D modeling, FX, ...

  • We were about 30-35 students with support from our teachers to work on the game

Production made in 14 weeks remotely as an internship at Campus ADN

In this role, I had to make decisions with my teammates to be sure the game would work as intended. I also did a bit of tech support by solving various problems for the team.

Planning for the gameplay programming team

AvatarUI_Lv1_02.PNG

Level 1 - LD: Marc Daze/LA: Aldeir Silva

  • Plan the tasks and delays accordingly with the production needs and the team skills 

  • Follow up on the progress of the team

  • Help the team as much as I could on a technical and moral level

  • Keep track of the features and bugs

  • Make sure the team followed the game design

  • Make sure the code is working and clean 

Participate and lead meetings

  • Lead the gameplay programming scrum meetings

  • Participate in four meetings per week with the leads (teachers), lead assisstants and with the producer

  • Keep the leads (teachers) and the producer informed on the procress of the gameplay programming

  • Plan the tasks with the other lead assisstants

Build Master

scrum.PNG

Level 1 - LD: Marc Daze/LA: Aldeir Silva

AvatarUI_Lv1_01.PNG

Scrum meeting recap

AvatarUI_Lv3_02.PNG
  • Make a build version of the game at least once per week

  • Using Perforce to branch the gamedata

  • Solve the problems when they occured to build the .exe

  • Test each builds to find the bugs

  • Make sure the build works for the build reviews and the playtests

Level 3 - LD: Maxime Galarneau/LA: Elie Monferran

Project structure

  • Creation of the structure of the project in Unity for the programmation and create all of the prefabs for the ingredients

unity1.PNG

Gym with all of the ingredients, pick ups and ennemies for testing

Lead Gameplay Programmer Assistant tasks

In this role, I had to create key features of the game, as well as debug the game with my teammates.

Avatar

CamilleLaporte_Hive_Avatar.gif
avatar_plan_edited.jpg

First planned version (simple version) of the avatar's state machine

  • Create the avatar state machine with Benjamin Chouinard (Unity programmer) using a given base version, and modify it to become the Hive avatar

  • The master state keeps track of a lot of infomations with accessors like: health, number of heals, ammo, upgrades, number of shields, state of shield, number of ores, keys in possession, ...

  • Idle, shoot, walk, run, jump, fall, shield, death, sonic push, healing, ...

  • Integration of the avatar animations and FX with Étienne Chaumont (Lead Animation Assisstant) and Kim Proulx (Lead FX Assisstant)

Diegetic UI

  • Design of the diegetic UI with Elie Monferran (Lead Artistic Direction Assisstant)

  • Creation of the PoC (Proof of Concept)

  • Programmation of the behaviour of the final UI:

    • The gauges are moving or appearing according to what the avatar's master state has â€‹

    • The FX and sounds are playing according to what is changing 

  • Disposition of the diegetic UI on the avatar

AvatarUI.PNG

Keys

Ore %

Heals

Stuns

Shields

Life

Ammo

UI_Avatar.PNG

Shoot

CamilleLaporte_Hive_Shoot.gif
shoot1.PNG
  • The gun doesn't work like guns usually do:

    • The gun has a certain amount ammo

    • When the player runs out of ammo, the gun stops working and starts reloading

    • Once it's reloaded enough for a shot, the player can use the gun again

  • Two guns in one:

    • Semi-auto: one press of the trigger equals one bullet, it makes ​more dammage per shots and it's more precise

    • Auto: Keep the trigger pressed to shoot many bullets, it makes less dammage per shots and it's less precise

  • Shoot made with Pierre Castanet-Combe and Lucas Comeau-Ponton (Gameplay programmers)

  • Strafing made with Benjamin Chouinard (Unity programmer)

Shield

  • The shield ability can be unlocked in the second half of level two 

  • The player can hold a maximum of three shields

  • It can block two enemies attacks before breaking

  • If it makes contact with a mortal ingredient (laser or pressure jet), the shield breaks and hurts the player

Shield_Avatar01.PNG
CamilleLaporte_Hive_Shield.gif

Sonic Push

SonicPush_Avatar.PNG
  • This ability is used to stun some enemies, to push them, to break breakable walls, to push the wagons or to move when on the wagons

  • If an interactive ingredient or an ennemy enters the detection cone of the avatar as the player triggers the ability, a message is send to it to activate a function 

SonicPush_SonicPush.PNG
CamilleLaporte_Hive_Push.gif

Full game loop

  • Creation of the structure that makes it possible to play the entire game in a loop

  • Including the introduction, the menus, the level transitions and the ending of the game

  • Made with Lucas Comeau-Ponton (Gameplay programmers)

  • The save and resets are made by Lucas Comeau-Ponton (Gameplay programmers)

SettingsMenu.PNG
settings01.PNG
settings02.PNG

Beta Terminal

  • Creation of a new game design for this made with Maxime Galarneau (Lead Game Design Assistant) to help de gameplay

    • The player can upgrade how much the healing item works or how fast the gun gets empty and reloads

  • Programmation of the behaviour of the new version of this ingredient

    • The terminals are sharing variables with the avatar​

    • If the avatar uses the same upgrade ten times, that side of the terminal stops working

    • If the avatar uses fourteen terminals (the maximum in the game), then all the terminals stop working

    • Each beta terminals only works once

beta_terminal.PNG
AvatarUI_Lv4_03.PNG

Other features

  • Creation of the key system and healing system

  • I participated in the making of many smaller features:

    • Alpha Terminal (mid and end level zone)​ with  Lucas Comeau-Ponton (Gameplay programmers) and Benjamin Chouinard (Unity programmer)

    • Debug of the door system (keys, terminals, ...)

    • Various debugs and features (Code and Game Design)

Level 4 - LD: Lucas Comeau-Ponton/LA: Camille Loison

KeyPass_Avatar.PNG
AvatarUI_Lv4_02.PNG

Gameplay Programmer tasks

Production mentions

Even though I want to be a level designer, I think it is important to know the technical side of making games in order to work efficiently. 

That's why I decided to work on my programming skills with this project. I learned a lot thanks to this production.

  1. Planning for the gameplay programming team

  2. Participate and lead meetings 

  3. Build Master

  4. Project structure

 

Lead Gameplay Programmer assistant Tasks

  1. Avatar 

  2. Diegetic UI

  3. Shoot

  4. Shield

  5. Sonic Push

  6. Full game loop

  7. Beta Terminal

  8. Other features

 

Gameplay Programmer Tasks

AvatarUI_Lv3_01.PNG

Level 3 - LD: Maxime Galarneau/LA: Elie Monferran

This was a great opportunity to test our skills and to make sure we were ready to work as a production team with all of the different departments.

Other development informations

Ameliorations I'd like to make

  • Make the jump more fluid and have more air control

  • Clean the code of the doors. The problem is that we separated the unlocked and locked doors. We could have used code of the locked ones everywhere, but the level designers would have had to change all their door models.

  • Work more with the animators to clean the animation transitions

  • Add custom scripted events

  • Make a new version of the avatar's state machine and pooling manager customized to our game. The current ones are heavily modified versions of "Blankfrom Campus ADN

Challenges and solutions

  • We had to start working remotely just as the project was starting because of the Covid-19. I'm not accustomed to work from home, but I adapted to it.

  • Communication between the departments was challenging. Maxime Galarneau (Lead Game Design Assistant), Samuel Deschênes (Lead Level Design Assistant), and myself took on ourselves to create written schedules for everyone to see what was going on with everything in the production.

Return

​

bottom of page