top of page

TSUKUYOMI

PITCH

Tsukuyomi is a Stealth Game where the player incarne the japanes god of the Moon who will infiltrate an enemy base.

screen_2.png

Theme: Japan

Genre: Stealth Game

Target: midCore Gamer

Number of player: One

Engine: Unity

PROJECT CONTEXT

After a big project made during school, i wanted to made a prototype of stealth game during my free time, and i create the Prototype of Tsukuyomi. He will be improve when i get time to re-work on it.

GAME DESIGN

GAME DESIGN

I made a High Concept of the game to have a better comprehension of the Game Design

You can download the                                        here or have a part of it below.

PROGRAMMING

PROGRAMMING

ARTIFICIAL INTELIGENCE

TSU_AIgif.gif

The principale obstacle the Player will encounter during the game is the Guards. They are here to protect the Area and neutralize anyone here. They have differents behavior depending of the situation.

The Algotithm is nearly the same i use for AI of my personal project:

Algo_1.png

- Field of View:

Each guard have a Field of View that allowed them to see things or not. Has a Sign to show it to the Player, the FoV is draw by using a visualisation mesh that show exactly where the Guard can see.

AI_FovIngamePhot.png

Not in sight

AI_FovIngame2Phot.png

In sight

Evry number of frame, the FoV refresh himself and add evry target on it in a List. For that we give a Radius and an Angle to the FoV. With that he will get evry Target on the radius and add them to a List, then for evry target on the Angle, he trace a Raycast to the Target, see if a Obstacle is between the Guard and the Target and add the target on the final List if there is no Obstacle.

AI_FOVTargetListScript.PNG
AI_FovShema.png

LIGHT & SHADOW

LightGifRes.gif

On the game, the Player need to be attentantive to a lot of thing to not get caught by the guards. The Light is one of them. When the Character is on the shadow, guards can't see him if they are not to close.

- Light detection:

To detect if the Character is on Lights or Shadows, I firstly need to get evry Light of the scene in a List.

Then i need to detect which one is on the Area of the Character to optimise the all thing. Only the Directionnal light is always check because this is the only one that can touch the Character not dependly of his position.

Light_LightListAwake.PNG
Light_Outligth.PNG
Light_Inlight.PNG

After that, what i need is to make a way of detect if the Character is in the Light for evry type of light (directionnal, point, spot) by using a Raycast. 

To end, the script turn a bool true or false depending of the results and send him to the Character.

Light_Spot1.PNG

On shadow

Light_Spot2.PNG

On light

Light_SpotScript.PNG
Light_DirectionnalScript.PNG
Light_PointScript.PNG

SOUND

Ref_sound.gif

Every action the player do make sounds. When a guard hear a sound, he gonna go on the position where the sound was play. Runing and walking, make more noise than crouch. Certain element can be destroy with a projectile and make noise that can ditracts guards.

- Sound detection:

The sound is emit by entities as Overlap Sphere. Evrything that get in the Sphere is considere as hearding the sound emit by the entity.

More the sound make is loud, larger the sphere will be.

sound_silentEx.png

Crouch

sound_walkEx.png
sound_DrawRadius.PNG

Walk

sound_runEx.png

Run

sound_destructibleItemEx.png

Light Destroy

bottom of page