• +1 (613) 793-4672
  • jobs@stemworldeducationalservices.com
  • Nepean, Ontario, Canada

Victor Croteau Group-5 Summer 2022

The game i made with my team is a story driven game that teaches you about the basic concept of the block chain. To teach the blockchain concept to our player we decided to represent the block chain by a train travelling in space. The game is then split into two alternating parts: the difference puzzle and the driving.

The Puzzle Segment

The puzzle segment consists of finding the differences that are in the carts and reporting them. To do so you have to refer to the picture on top of the cart which represents the hash of the block chain. To report the difference you find you need to use the tablet and to say which cart is different the name of the object it affects and how it changed.

The Driving Segment

During the driving segment which is in between the puzzle segment, you need to drive the train and avoid the asteroid while collecting zeros to go faster. This part of the game represents the mining aspect of the block chain.

Short Recording of an early version of the game

Task completed

  • Coding the movement in the Driving section
  • Coding the collision with the asteroid and the zeros
  • Making the carts follow the player in a smooth way
  • Coding the movement in the difference puzzle section
  • Code the Player’s interaction with his environment
  • Code the camera object
  • Coding the difference puzzle and designing the inside of the carts
  • Coding the progression of the different event trough the levels

The Racing level

I did a lot of coding in the base mechanic of the racing section. The first thing I coded was the movement of the train. We wanted to create something similar to a rail shooter. Using an asset called cine machine we managed to make the player follow a determined path and move vertically and horizontally on it.

I also coded the collision of the racing section like the asteroid and the zeros. Since we were making a rail shooter, it making the knock back effect turns out to be quite complex since we had to modify the position of the object following the cart. The last part that I made was making the block follow the head of the train in a snake way. This mechanic is still not fully working by the end of the game, it is too dependent on the frame rate and acts in very weird ways sometime.

The difference puzzle

I also coded the difference puzzle. All it does is that at the start of the level it generates a certain amount of random changes. Those changes are taken from a list of change for each card that I made. This list of change uses a class which regroups all of the detail of a change, meaning a reference to the previous object, its name, the block it is in, and the type of change. The type can be between replaced, disappeared or moved. And then the tablet menu lets you report those changes and the program checks if the name, the block and the type is correct and if it is it reverts the change.

Generating hash

For the game I also created a picture taking mechanics to represent the hash of the block chain. To do this I had to use a function that creates a texture 2D out of what is on the screen. But that wasn’t all, over that I needed to first show it in the level and then save it to make sure we had the picture for the next levels.

To make in the show in the level I had to convert the texture 2D into a sprite to then put it on a plane with a sprite rendering that is on the side of the train. To save it, I just converted it to a png file and name it to the name of the cart its associated with. To show it in the next levels I simply just make every cart look for the picture with the right name and show it on the sprite rendering.

Gantt Chart