top of page

FIRST STEP TOWARDS FINAL GAME

Controls: Esc - To quit game

Arrow Keys to give move direction to the sphere

WASD to change the rotation-axis of the cube

Move the camera

OU(Z-axis)

IK(Y-axis)

JL(X-axis)

Rotate the camera

YR(Z-axis)

TG(Y-axis)

FH(X-axis)

C/V to traverse cameras in the camera vector

 

 

This assignment is first step towards our finals project. I have implemented some basic mechanics for the game that I intend to create. My final goal is to clone this. It is 3D snake game on a rotating cube. For this assignment, I did the movement for the cube and the snake. But I yet need to figure out if only one is required. I implemented a controller interface as taught by Joe Barnes in the first semester.

My future goals are:

  1. To add a lua loader to make the gameobject loading data driven.

  2. Figure out a way to make the camera movement like the game I mentioned above.

  3. Make the snake grow (multiple gameobjects with same mesh)

  4. Figure out a way to implement the end state as no collision system is in place.

  5. Add a save system.

  6. Add a score(maybe)

 

The cube and the snake (for now the sphere) move as they move in the original game, i.e. if you are going in one direction or rotating in one direction on an axis you cannot go directly in the opposite direction. In other words, when I press S the cube will start rotating backward towards you. After that you can either press A or D to go leftwards or rightwards you cannot go forward (away from you directly). Same for snake with arrow keys in terms of movement.

The game does not interact with the engine very much. Apart from taking the elapsed time and determining key presses and drawing, the logic of the game code is all condensed into gameplay library which is a part of the game side code.

I already had a gameplay project which contains the gameobject class. For this assignment, I created the Igameobjectcontroller and snake and cube controllers implementing it. I will surely create some camera controller class to define specific type of camera movements. Besides that, there will be code for save and score system if I can achieve it.

Assignment09
bottom of page