top of page

SAND CASTLE

PITCH

Sand Castle is a Tactical RPG where the player has to infiltrate an ennemie complexe without guetting caught

TacticalMode.png

Theme: Stealth

​

Genre: Tactical RPG

​

Target: midCore Gamer

​

Number of player: One

​

Engine: Unity

PROJECT CONTEXT

SandCastle is Tactical RPG made in 1 month for the end of our Second year. Its a first demo that can be select for the "End of studies project". On this project we are two Designer, me and Gautier Dogneton.

​

GAME DESIGN

GAME DESIGN

During this project i work on all Game design features with Gautier including:

- Differents Mode:

On the game, there is two way the Player can move on the map:

​

- The Free Mode, allow him to move without "Turn" restriction. Its the default mode when the Player is out of fight.

​

- The Tactical Mode is where the Player can deal when he is near guards and he gain more information of the situations. He can plan his movement and use abilities to help him avoid or kill the Guards. Its the main mode of the game.

FreeModez.png

Free Mode

TacticalMode.png

Tactical Mode

- Character Abilities:

During the Tactical Mode, the Player have 4 abilities he can use to help him on his journey. Each of them are design to promote one style of gameplay (stealth or agressive).

Shoot

ICON_Shoot.PNG

The shoot is the main abilities for Agressive Player. It allow the Character to shoot a Guards in his Field of View. But it will make a lot of noise and alerte Guards near the shoot.

Invisibility

ICON_Invisi.PNG

The invisibility allow the Character to not get detect by guard, even when pass by their Field of View. The ability last two turn and has 3 turn cooldown.

Traps

ICON_Traps.PNG

Traps can be placed at a location near the player. When a guard step on of it, the trap will explode and kill the guard, but the guards around will get alerted with the sound.

Hack

ICON_Hack.PNG

The hack can be use on Devices presents on the map to distract guards. When a device is hack, all the guards near it will go on the Device to turn it off. A device can be hack only one time.

PROGRAMMING

PROGRAMMING

On this project i was the Only one in charge of the Programming but i have a little experience of working on T-RPG because i made one a year before, learning of the mistake i made on the past.

TACTICAL MOVEMENT

ShiftingGif.gif

During the Tactical Mode, the Character have a limited area of movement depending on his mobilty. To set up this, I create Tiles that determined the Scale of evry movement of the game in Tactical Mode.

- Grid spawn & tile set up:

Because the map is big, I fully automatised the Spawn and the set up of evry Tiles in the map

​

First, i create a Spawner place above the map who check evry 1 by 1 meter if a tile is allow to be create depending of a Layer Mask and place it a the right location

GridSpawnScr.PNG
GridSpawnIns.PNG
TestGridSpwn.PNG

Secondly, when a tile is create, it check if it's position is on a slop and change is rotation depending if its the case.

​

Finaly, when evry tile where created they:

             - add evry adjacent tile around them in a list. (for movement)

             - check if they are in front of an obstacle & add a Sign to it.

​

BlockAdj.PNG
Block.PNG
Sign.PNG

- Character Movement's:

For moving in the Tactical Mode, the Character can only do it by using tiles around a certain Area.

​

First, to calculate the limits of the Area the Character can move in, i take the tile just below the Character, i take evry adjacent tiles of this one, increment an Index by one, and reapeat the process to a Max of 10. Evry tiles with an Index between 1 & 10 is the Area.

SetPath.PNG

= Obstacle

= Player

Path.png

Secondly, I show the Path that gonna take the Character with a Line Render that I refresh with the Path that the NavMesh i use give me.

PreviewPathLine.PNG
Pre.PNG

Finaly, when the Player validate is deplacement, the NavAgent of the Character receive the middle of the Tile selected and he move to there and using a Action Point.

MovementScript.PNG
MoveEdit.PNG

ARTIFICIAL INTELIGENCE

AIgif.gif

The Obstacle we encounter the most during the game are the Guards. They are here to defend the place and neutralise the Character when they see him. They have differents behavior depending of the situation they are.

​

​

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

Algo_1.png

(Switch slide to have more details)

- Behavior: Seek:

One of the most interesting part of this AI, is its behavior during the "Seek" phase. The NPC will start to seek the Character by using the last poistion he know of him, but will always try to have a Cover effective against him.

​

For that, at the start of his turn, the AI will add to a list all the Cover in his Area of movement, and determined if they are effective or not depending of the position of the Character.

After that it will look if the Character is close enough. If its the case, the Guard will rush the Character and Kill him, otherwise he will get the closest and best Cover against the Character.

AI_AlerteMode.PNG
CoverModel.png

TURN BY TURN SYSTEM

2020-10-21 16-08-20.gif

During the Tactical Mode, action made by the Player and NPCs are severed by turn. The Player can make two actions during his turn and gonna need to wait the end of the guards turn to continue. The Camera will follow the one who made the action.

- Area system:

Because the map have a a large number of NPCs, and for optimisation and compfort, I decided to severed the map by Area. Only NPCs on the Area of the player will have their Field of View active and play during tactical mode, the other made their patrole, but can't interact with the Player. 

 

To do that, when the Character enter into a new Area, we refresh the Turn by Turn system with the new NPCs on it.

Tbt_Area.PNG
TbT_Inspector.PNG

- Turn path:

A turn works always the same way:

​

Tbt_path.PNG

To do that, after evry turn, the system will check if its still the turn of the NPCs and if no one is dead during the turn.

​

If the player is the only one alive, he will directly play again.

TbT_EndPlayerTurn.PNG
TbT_NextTurn.PNG

OTHER

​

SandCastle is an ambitious project with a lot of feature that i can't explain in details here, but they are not less important:

​

- Character Abilities, Including shoot, traps, hack devices and invisibility

- The Camera Controller, to give the Player an imersive way to play with shoulder Camera when a Character shoot, the translate & rotate, ect...

- Evry behavior of the AI, it will be to long to explain evry behavior the AI can have.

​

TEAM

TEAM

adelin.jpg
baptiste.jpg
quentin.jpg
gaultier.jpg

Adelin Pufu

Evironement Artist

Baptiste Colin

Concept Artist / Animator

Quentin Fontanel

Textures

Gaultier Dogneton

Lead Game Design /

Level Designer

bottom of page