Run, Chase n'Kill: Difference between revisions

From CS486wiki
Jump to navigationJump to search
Content deleted Content added
No edit summary   (change visibility)
 
(18 intermediate revisions by the same user not shown)
Line 18: Line 18:
== Power Ups ==
== Power Ups ==


'''Fast Run: ''' Player can run 1.5 times faster when use this power up.
'''Fast Run: ''' Player can run 2 times faster when use this power up.


'''Banana: ''' Player can leave it behind to slow down their opponent when they steps onto it.
'''Banana: ''' Player can leave it behind to slow down their opponent when they steps onto it.
Line 26: Line 26:
== Characters ==
== Characters ==


'''Takunya: ''' A wooden sabot-flipflop that has two legs, and a saggy nose that looks alike with Squidward from Sponge Bob animated series.
'''Terlik: ''' A wooden sabot-flipflop that has two legs, and a saggy nose that looks alike with Squidward from Sponge Bob animated series.


'''Semsi: ''' An umbrella that uses its stalk as its only leg, and hops on it to move forward.
'''Semsi: ''' An umbrella that uses its stalk as its only leg, and hops on it to move forward.



== Week by Week Progress ==
== Week by Week Progress ==


As of 01/26/2015, we both worked and watched tutorials on making games with Unity, each consisting of roughly an hour.
as of 01/26/2015,


'''Week 1:'''
'''Week 1:'''


VPS (Virtual Private Server) is rented from GoDaddy, Ubuntu 14.04 without X11 System
VPS (Virtual Private Server) is rented from GoDaddy, Ubuntu 14.04 without X11 System.
Connection is done via SSH
Connection is done via SSH.
Tutorials on Bugzilla are studied.
MySQL installation on server.
-This is necessary for Bugzilla.


Tutorials on Bugzilla are studied


-- Unity Tutorial: Editor Basics
MySQL installation on server

This is necessary for Bugzilla
-- Unity Tutorial: Game Objects


'''Week 2:'''
'''Week 2:'''


A subdomain is acquiared under rck.itusandbox.com
A subdomain is acquiared under rck.itusandbox.com
Installation of Bugzilla on server.
-URL: bugzilla.itusandbox.com.
Began discussions about how to design the terrain and environment.


Installation of Bugzilla on server
URL: bugzilla.itusandbox.com


-- Unity Tutorial: Models and Materials
Began discussions about how to design the terrain and environment

-- Unity Tutorial: Terrain Sculpting


'''Week 3:'''
'''Week 3:'''


Designed terrain in Unity
Designed terrain in Unity.
Used one side of a cube as the platform
-Used one side of a cube as the platform.
Environment is built
Environment is built.
Trees, rocks, bushes are added
-Trees, rocks, bushes are added.
Middle tree acts as a game controller. It holds the scripts for the camera and the characters
-Middle tree acts as a game controller. It holds the scripts for the camera and the characters.


Began discussions about the characters
Began discussions about the characters.


-- Unity Tutorial: Environment Details

-- Unity Tutorial: Using Cameras


'''Week 4:'''
'''Week 4:'''


Searched and purchased several geometric shapes from the Unity Asset Store trying to find the best shape for the path.
Searched and purchased several geometric shapes from the Unity Asset Store trying to find the best shape for the path.
Ended up with a torus, flattened it and converted it to a circular plane path, perfect 2 pi radians for both of the characters
-Ended up with a torus, flattened it and converted it to a circular plane path, perfect 2 pi radians for both of the characters.
Purchases for characters from the Unity Asset Store
Purchases for characters from the Unity Asset Store; Semsi and Takunya.
Physics Research for character movements.
Semsi and Takunya
-Theoretical lines and movement formulas are established.
Physics Research for character movements
-The characters run in a straight line so we need to turn them at an angle after a certain amount of time.
Theoretical lines and movement formulas are established.
The characters run in a straight line so we need to turn them at an angle after a certain amount of time. The angle is calculated by the amount they traveled over the total calculated lap time converted to degrees after several sine cosine functions.
-The angle is calculated by the amount they traveled over the total calculated lap time converted to degrees after several sine cosine functions.


-- Unity Tutorial: Using Lights

-- Unity Tutorial: Fun With Lasers!


'''Week 5:'''
'''Week 5:'''


Characters are placed to their initial starting locations.
Characters are placed to their initial starting locations.
Camera is placed and attached to the characters
Camera is placed and attached to the characters.
The camera attaches itself to the characters according to who is the first player - user of the device.
-The camera attaches itself to the characters according to who is the first player - user of the device.
Lights are added.
Lights are added.
-Performance assesment on lighting is done.
-Optimization of lighting.
-Several lights to light up the entire platform.
-Two lights actively moving with the characters to keep them light the entire time.


-- Unity Tutorial: The Partical System


-- Unity Tutorial: Scripting Primer and Q&A
Performance assesment on lighting is done
Optimization of lighting
Several lights to light up the entire platform
Two lights actively moving with the characters to keep them light the entire time


'''Week 6:'''
'''Week 6:'''


Simple server program written in C++ with Unix sockets
Simple server program written in C++ with Unix sockets. Echoing information is sent by 2 clients.
Echoing information is sent by 2 clients
Simple client program written in C++ with Unix sockets to test the server's functionality.
This allowed us to search for a game - meaning waiting in the session list of the server until a 2nd player is found and they are moved to another session to exchange information


Simple client program written in C++ with Unix sockets to test the server's functionality.
Circular movements for the characters along their pre determined paths
This allowed us to search for a game - meaning waiting in the session list of the server until a 2nd player is found and they are moved to another session to exchange information.
Implementation of the formulas we generated in week 4

Count down to start feature is added
Circular movements for the characters along their pre determined paths.
Lanes are added
Implementation of the formulas we generated in week 4.
Switching lanes feature is added for computer only, with arrow keys

Count down to start feature is added.

Lanes are added.
Switching lanes feature is added for computer only, with arrow keys.


-- Unity Tutorial: Audio

-- Unity Tutorial: Fun With Explosions!


'''Week 7:'''
'''Week 7:'''


Switching lanes feature also brought to mobile devices with swipe left/right operations
Switching lanes feature also brought to mobile devices with swipe left/right operations.
Intermediate builds and testings for android are done
Intermediate builds and testings for android are done.
Optimizations for a mobile device including texture, physics etc.
Optimizations for a mobile device including texture, physics etc.
The terrain is entirely redesigned using "terrain editor" and we switched from using a 3D cube to a simple plane and by changing certain coordinates we added hill-like looking elevation
The terrain is entirely redesigned using "terrain editor" and we switched from using a 3D cube to a simple plane and by changing certain coordinates we added hill-like looking elevation.
The game used to run with 15 fps, and after the optimizations it increased to 75 fps
The game used to run with 15 fps, and after the optimizations it increased to 75 fps.


-- Unity Tutorial: Put It Together, Cinematic Explosions

-- Unity Tutorial: Scripting Primer and Q&A, Part 2


'''Week 8:'''
'''Week 8:'''


Heads up Display (HUD) is added on the scene and actively moving along with the first player's character
Heads up Display (HUD) is added on the scene and actively moving along with the first player's character.
Minimap is implemented on the HUD horizontally at the top
Minimap is implemented on the HUD horizontally at the top.
This is done through a conversion from the circular path to a linear path
This is done through a conversion from the circular path to a linear path.


-- Unity Tutorial: Nav Meshes

-- Unity Tutorial: Unity Test Tools


'''Week 9:'''
'''Week 9:'''


The two in game buttons (attack and jump) are added on the HUD to the lower corners
The two in game buttons (attack and jump) are added on the HUD to the lower corners.
Jump feature is added
Jump feature is added;
Swipe up to jump
Swipe up to jump,
Swipe to an upper corner (upper left/right) to jump and switch lanes simultaneously
Swipe to an upper corner (upper left/right) to jump and switch lanes simultaneously.
Started to use the Gyroscope
Started to use the Gyroscope;
This allows the users to look around themselves by tilting their devices while running in game
This allows the users to look around themselves by tilting their devices while running in game.


'''Week 10 (spring break):'''


-- Unity Tutorial: Let's Make A Game, Infinite Runner
Testing on an Android device for the entire week for glitches and possible bugs.

-- Unity Tutorial: Scripting Primer and Q&A, Part 3

'''Week 10 (Spring Break):'''

Testing on an Android device for the entire week for glitches and possible bugs.


-- Unity Tutorial: Persistence, Saving and Loading Data

-- Unity Tutorial: Mobile Development


'''Week 11:'''
'''Week 11:'''


User Interface is upgraded
User Interface is upgraded.

Added Main Menu and Search pages
Added Main Menu and Search Game pages.
Information exchange between the client and server is established.
This is done through JSON Sockets
Information exchange between the client and server is established via sending byte arrays.
Server Daemon now relays the coordinates and attack statuses to clients
Server Daemon now relays the coordinates and animation statuses to both clients.

Collision with obstacles is being implemented.


-- Unity Tutorial: Object Pooling

== Screenshot Images from the Game ==

[[File:rck1.jpg]]

Count Down to Start

[[File:rck2.jpg]]

A Scene from the Gameplay

[[File:rck0.jpg]]

Heads up Display (HUD)

[[File:rckanims.jpg]]

Animation State Machine

Latest revision as of 11:42, 17 April 2015

Run, Chase n'Kill is a game that is being built by Onur Ozan Sahin, Efe Orak, and Onur Dincol. It is a multiplayer, cross platform 3D game where you and your only opponent try to finish first in a map full of obstacles and some power ups.


How to Play

When a player searches for a game, an opponent gets selected from the pool of searching players. After they match up, the game objects get loaded and game starts.

Players start running automatically after 3 seconds of waiting phase. They can swipe their screens in order to switch lanes, while running. Obstacles show up while players are running, and some power ups spawn randomly for them to pick up. Power ups give users Fast Run to go faster, a Banana to leave behind, and a Magic Potato to throw it to their opponent.

Environment

Map: Players run in a circle map tiled with trees, grass, and rocks; covered in a cloudy sky.

Road: It is a designated circle tiled with grass, and 1 unit above the surface.

Obstacles: Obstacles are little rocks spread in the road, causing players to slow down.

Power Ups

Fast Run: Player can run 2 times faster when use this power up.

Banana: Player can leave it behind to slow down their opponent when they steps onto it.

Magic Potato: Player can throw the potato to their opponent, making them slow down. The Magic Potato hits the target automatically when the opponent is in the specified range (Range is not yet determined).

Characters

Terlik: A wooden sabot-flipflop that has two legs, and a saggy nose that looks alike with Squidward from Sponge Bob animated series.

Semsi: An umbrella that uses its stalk as its only leg, and hops on it to move forward.

Week by Week Progress

As of 01/26/2015, we both worked and watched tutorials on making games with Unity, each consisting of roughly an hour.

Week 1:

VPS (Virtual Private Server) is rented from GoDaddy, Ubuntu 14.04 without X11 System. Connection is done via SSH. Tutorials on Bugzilla are studied. MySQL installation on server. -This is necessary for Bugzilla.


-- Unity Tutorial: Editor Basics

-- Unity Tutorial: Game Objects

Week 2:

A subdomain is acquiared under rck.itusandbox.com Installation of Bugzilla on server. -URL: bugzilla.itusandbox.com. Began discussions about how to design the terrain and environment.


-- Unity Tutorial: Models and Materials

-- Unity Tutorial: Terrain Sculpting

Week 3:

Designed terrain in Unity. -Used one side of a cube as the platform. Environment is built. -Trees, rocks, bushes are added. -Middle tree acts as a game controller. It holds the scripts for the camera and the characters.

Began discussions about the characters.


-- Unity Tutorial: Environment Details

-- Unity Tutorial: Using Cameras

Week 4:

Searched and purchased several geometric shapes from the Unity Asset Store trying to find the best shape for the path. -Ended up with a torus, flattened it and converted it to a circular plane path, perfect 2 pi radians for both of the characters. Purchases for characters from the Unity Asset Store; Semsi and Takunya. Physics Research for character movements. -Theoretical lines and movement formulas are established. -The characters run in a straight line so we need to turn them at an angle after a certain amount of time. -The angle is calculated by the amount they traveled over the total calculated lap time converted to degrees after several sine cosine functions.


-- Unity Tutorial: Using Lights

-- Unity Tutorial: Fun With Lasers!

Week 5:

Characters are placed to their initial starting locations. Camera is placed and attached to the characters. -The camera attaches itself to the characters according to who is the first player - user of the device. Lights are added. -Performance assesment on lighting is done. -Optimization of lighting. -Several lights to light up the entire platform. -Two lights actively moving with the characters to keep them light the entire time.


-- Unity Tutorial: The Partical System

-- Unity Tutorial: Scripting Primer and Q&A

Week 6:

Simple server program written in C++ with Unix sockets. Echoing information is sent by 2 clients.

Simple client program written in C++ with Unix sockets to test the server's functionality. This allowed us to search for a game - meaning waiting in the session list of the server until a 2nd player is found and they are moved to another session to exchange information.

Circular movements for the characters along their pre determined paths. Implementation of the formulas we generated in week 4.

Count down to start feature is added.

Lanes are added. Switching lanes feature is added for computer only, with arrow keys.


-- Unity Tutorial: Audio

-- Unity Tutorial: Fun With Explosions!

Week 7:

Switching lanes feature also brought to mobile devices with swipe left/right operations. Intermediate builds and testings for android are done. Optimizations for a mobile device including texture, physics etc. The terrain is entirely redesigned using "terrain editor" and we switched from using a 3D cube to a simple plane and by changing certain coordinates we added hill-like looking elevation. The game used to run with 15 fps, and after the optimizations it increased to 75 fps.


-- Unity Tutorial: Put It Together, Cinematic Explosions

-- Unity Tutorial: Scripting Primer and Q&A, Part 2

Week 8:

Heads up Display (HUD) is added on the scene and actively moving along with the first player's character. Minimap is implemented on the HUD horizontally at the top. This is done through a conversion from the circular path to a linear path.


-- Unity Tutorial: Nav Meshes

-- Unity Tutorial: Unity Test Tools

Week 9:

The two in game buttons (attack and jump) are added on the HUD to the lower corners. Jump feature is added; Swipe up to jump, Swipe to an upper corner (upper left/right) to jump and switch lanes simultaneously. Started to use the Gyroscope; This allows the users to look around themselves by tilting their devices while running in game.


-- Unity Tutorial: Let's Make A Game, Infinite Runner

-- Unity Tutorial: Scripting Primer and Q&A, Part 3

Week 10 (Spring Break):

Testing on an Android device for the entire week for glitches and possible bugs.


-- Unity Tutorial: Persistence, Saving and Loading Data

-- Unity Tutorial: Mobile Development

Week 11:

User Interface is upgraded.

Added Main Menu and Search Game pages.

Information exchange between the client and server is established via sending byte arrays.

Server Daemon now relays the coordinates and animation statuses to both clients.

Collision with obstacles is being implemented.


-- Unity Tutorial: Object Pooling

Screenshot Images from the Game

Count Down to Start

A Scene from the Gameplay

Heads up Display (HUD)

Animation State Machine