Riot Simulation Game

Hello,

Last week there was a peaceful protest in Lebanon, but there has been a few encounter with the Riot Control Units, which inspired me to make a game.
Please note this game is not political, just inspired by the current event.
For organizational purposes I will be posting each new update in a comment. I started documenting this game a week before I made this thread that is why, the first update are posted in the same day, because I moved them from my Facebook page.

If you like the game let me know, and if you want to know how a certain mechanics work, please ask.

Current ALPHA version 0.1 is now out: Tol3itRi7itkoun

Day 1:

Created a teaser picture.

Title:

Soon, you will be able to play with garbage.

Day 2:

First Video:

A game where your main objective is to protect garbage. Soon enough I will be implementing a way to shoot at the protestors, stay tuned

Day 3:
Implemented a Crowd System
Added the ability to shoot the crowd

Coming soon, fire trucks?

Day 4:

As promised the Anti-Riot Water truck has been implemented:
Added a wheeled vehicle
You can zoom in and out of the car
You can spray the protestors with you water canon

RoadMap:

  • The crowd fights back ?
  • A smarter riot crew ?
  • Graphics polishing ?

Day 5 - 6:

The protestors will now throw “So7a” Water Bottles at you when you spray them with water.
You can throw Smoke bombs at the protestors.
The protestors will now run for their live when you throw a Smoke bomb at them.
You can switch between the Soldier and the Truck.
You can run when holding the sift key.
Minor bug fixes.
Hope you like it.
Future updates:
Polishing the graphics and extending the area.

Day 7 - 8:

It took me 8 days to finish the game!
After many sleepless night, I am happy to announce that the game have reached the Alpha phase.
Which mean that it is playable but have bugs and some unpolished contents. I will be posting a download link soon.
Enjoy

New in this update:

  • Polished a the graphics a little
  • Optimized the scripts and AI to handle more crowd
  • Increased the performance and FPS
  • Reduced the game size from 1 GB to 200 MB
  • Added SWAT AI to help
  • The crowd is more organized and will attack now
  • Added a game counter to the HUD
  • Scripted the gameplay and game finally
    P.S. The video is in Fast Forward X2

First playable ALPHA version:

As promised, this is the LINK for the ALPHA.
Again, the game is in the alpha stage, when it reaches a stage where you have a playable content, which means that you can play it, but expect bugs and a few missing features.
The game will be frequently updated.

As an alpha player, please report any bugs, errors, problems, or features that you would like for me to add or improve.
Game Objective:
Stop the protestors from reaching the parlement.
Controls:
Move : W A S D
Jump: space bar
Run :Left Shift
Shoot: Left mouse click
Throw grenade: right mouse click
Get in Car/ exit : E
Zoom in/out in car: Mouse wheel
Move water canon in car: Mouse
Shoot from the water cannon: Left mouse click
Enjoy

Dissecting the Game:

AI - the crowd:

For the crowd I used pooling, which mean when a character die, instead of destroying the actor and spawning another, it will be reset and reused.

To do so I created 3 functions:

CreatePool //creates the the initial characters that I will be using
GetFromPool // request a character from the pool when needed in game
ReturnToPool // when the character dies, it is returned to the pool

Screenshots:

CreatePool: (I know it has a warning, and I will be fixing that soon)

GetFromPool:

ReturnToPool:

AI #2:

Protestor’s path:

The protest path are more of advanced spawn points, it is made out of 2 box and a spline:

The first box will get protestors from the pool and radomly spawn them in the volume, while the second ox defines the destination of the protestors, in addition to being the spread volume.
Each path has an ID and a gate, and randomly in game the gate will be opening unleashing protestors.

So you will get a clear look of the coming wave and you will prepare yourself accordingly, but you will not know which gate opens first.

The Gate is really simple just a simple move and rotate using a timeline. It has an ID, and by default it has no collision, on event begin play collision is on, and once the gate is open collision is turned off. I did that so the navigation mesh would understand that it can go through the gate and does not have to recalculate the navigation once the gate is open.

AI#3

Now that the AI is spawned, here is the behavior tree:

I’m downloading the alpha now. I think you could sell this on the Marketplace as it looks like it has some good crowd simulation/ attack stuff. Eg. for zombies, etc.

Some sort of “Crowd AI” Blueprint Pack perhaps.

Thank you, this was a practice project, the blueprint are functional, and a little optimized, but they still need more work.
Right now I have putted this project on hold due to lack of time, but if the community showed an intrest in it, I would be more then happy to work on it again.
If you are intrested to know how a certain process in the game works I would be more then happy to share assets, and explain how they work, just ask.
Finally, the game has a functional gameplay, but it is a little basic, be sure to let me know what you liked, what you didn’t, and how you think I can make it better.
Enjoy