Risky Driving Simulator
If the video demo above is not working, it can also be viewed at:
https://www.youtube.com/watch?v=CVIQRAaSPP0&t=18s
The game can be downloaded and played at:
https://drive.google.com/file/d/1v-2e6i3nymlf41mX4aPvGDlf15tDZ7oJ/view?usp=share_link
The whole project can be downloaded and viewed at:
Introduction
Back in the 1980s, Neil Postman wrote "How television stages the world becomes the model for how the world is properly to be staged" in his best-selling book Amusing ourselves to death. Today, in the digital era, it is even easier for everyone to gain access to information online and the interactive elements in many games have led to controversy. Obscene and questionable content, such as heavy use of violence, sexual assault, and sexism in video games, tend to have negative impacts on players, especially teenagers.
As a result, I created Risky Driving Simulator, hoping to deliver positive intentionality. Risky Driving Simulator is a serious game that intends to encourage people to drive safely. In this game, players can choose to play the role of a drunk, speeding, or fatigued driver to experience dangerous driving conditions and see how simple decision-making becomes much more difficult under these circumstances and accidents are likely to occur.
Research
Data related to risky driving accidents were mainly obtained through National Highway Traffic Safety Administration, Substance Abuse and Mental Health Services Administration and National Safety Council.
Every day, about 32 people in the United States die in drunk-driving crashes — that's one person every 45 minutes. In 2020, 11,654 people died in alcohol-impaired driving traffic deaths — a 14% increase from 2019. These deaths were all preventable. ——National Highway Traffic Safety Administration
https://www.nhtsa.gov/risky-driving/drunk-driving
In 2013, 28.7 million people admitted to driving under the influence of alcohol – that’s more than the population of Texas ——Substance Abuse and Mental Health Services Administration
Results from the 2013 National Survey on Drug Use and Health: Summary of National Findings. Rockville,...
NHTSA estimates that in 2017, 91,000 police-reported crashes involved drowsy drivers. These crashes led to an estimated 50,000 people injured and nearly 800 deaths. - National Highway Traffic Safety Administration
https://www.nhtsa.gov/risky-driving/drowsy-driving
Speeding was a factor in 29% of all traffic fatalities in 2020, killing 11,258, or an average of over 30 people per day. ——National Safety Council
https://injuryfacts.nsc.org/motor-vehicle/motor-vehicle-safety-issues/speeding/
Target Audience
Risky Driving Simulator is made for anyone with a driver’s license, or about to become a driver in the future.
Game Design
They will be expected to perform three out of four timed decision-makings randomly generated whenever a crossroad is encountered. The player enters bullet time and have 5 seconds to decide which option they would choose and face different consequences.
If they have not made a decision when the time runs out, the game would choose the default ‘Brake’ option under normal status and ‘Keep Going’ option under other statuses for them, resulting in an accident. These tasks, such as stopping at red lights or avoiding pedestrians are easy enough to complete when the driver is normal, as they should be. However, under impaired driving statuses even easy decisions become difficult to make.
Correctly making all three decisions would result in beating the game, and failing to make any one results in an accident and immediate failing the game.
Players can choose among four statuses to start the game, namely Normal, Drunk, Drowsy and Racing.
Overall
Player Status
Normal
A normal driver driving on the road.
Drunk
A drunk driver’s view becomes distorted and their decisions cannot be trusted even by themselves. In the game, when a drunk drivers selects an option, the game would choose a random option from three options.
Drowsy
A drowsy driver sees blurred images and closes their eyes from time to time. In the game, everything on the screen blurs and the screen would turn black from time to time.
Racing
A racing driver drives irresponsibly fast. In the game, when a racing driver is required to make a decision, their window is much shorter than usual. A racing driver is also constantly distracted by their engine’s revving sounds.
Event Design
Stopping at Traffic Lights
The player is expected to stop at red lights.
Avoiding Pedestrians
The player is expected to brake when a pedestrian crosses the street.
Car in the Front Brakes Suddenly
The player is expected to brake when a car in the front brakes suddenly.
Pulled Over
The player is expected to brake when they hear the police siren.
Art & Sound Effects
The art in this game mainly makes use of low-poly 3D models to avoid graphic contents when it comes to traffic accidents. The sense of reality is mostly achieved through real sound effects of police sirens, rear-end collisions, etc.
Developing (Unity)
All of the developing of this game was done in Unity 2021.1.16f1c1. This document only introduces two of the main systems, namely map system and event system, to avoid being lengthy.
The Map System is used to dynamically generate modulated roads. I created four different prefabs of straight road segments and four of crossroads each corresponding to an event. The game keeps track of player’s distance travelled to decide which segment to generate next three segments ahead. Crossroads are only generated when an event is about to occur, otherwise the game randomly selects one of the four straight road prefabs as the player moves. To avoid generated roads taking up too much RAM as the game progresses, roads travelled are dynamically erased. Therefore, at any given point of the game, we will always maintain a queue (FIFO) of four segments of roads.
The Event System is used to generate, set up, and run events. It contains two parts: EventHandlers and EventManager.
There are four different events in the game, each corresponding to an EventHandler. Every EventHandler inherits from BaseEventHandler. In BaseEventHandler, basic features that are shared among all four EventHandlers are implemented. For each EventHandler, the life cycle goes from Active to StartBehaviour to Update to BehaviourEnd.
EventManager randomly generates events based on player’s distance travelled. Every time the game starts, a pool of four events is created and three out of four events are randomly drawn from the pool. EventManager tells each EventHandlers when event starts, updates and ends.
Map System