REVOLT
A downloadable game for Windows
REVOLT
DESCRIPTION
AFTER THAWING FROM A CRYOPOD, YOU FIND THAT YOU'RE THE ONLY ONE REMAINING IN THE SPACE STATION AND HAVE BEEN LEFT TO DEFEND YOURSELF AGAINST THE ONCE PROTECTIVE ROBOTS NOW RESPONSIBLE FOR THE GENOCIDE OF YOUR PEOPLE. THE SPACE STATION NO LONGER HAS POWER; TO KEEP YOUR SPACE SUIT POWERED YOU MUST HARVEST ENERGY FROM DEFEATING THE REVOLTING ROBOTS. YOU MUST FIND THE KEY TO THE ESCAPE HATCH AND ESCAPE THE SPACE STATION ALIVE.
CONTROLS
NAME | MOUSE AND KEYBOARD BINDING | XBOX CONTROLLER BINDING | PLAYSTATION CONTROLLER BINDING |
MOVE | W, A, S, D | LEFT STICK | LEFT STICK |
AIM | MOUSE POSITION | RIGHT STICK | RIGHT STICK |
FIRE | LEFT CLICK | RT | R2 |
RELOAD | R | X | SQUARE |
FLASHLIGHT | F | B | CIRCLE |
INTERACT | E | A | X |
SPRINT | SHIFT | LB | L1 |
SNEAK | CTRL | RB | R1 |
PAUSE | ESC | START | START |
LEVEL GENERATION
EACH LEVEL IS A RANDOMLY GENERATED "CYCLIC DUNGEON" THAT HAS NO DEAD ENDS SO THE PLAYER CAN EXPLORE THE LEVEL FREELY AND RUN FROM ENEMIES WITHOUT THE RANDOMNESS OF THE LEVEL DESIGN HANDING THEM CERTAIN DEATH. EACH LEVEL MUST HAVE A STARTING ROOM, A KEY ROOM, AND AN EXIT ROOM. THIS LEVEL GENERATION TASK IS SOLVED BY USING A LOW-LEVEL COORDINATE GRID TO PLOT SEQUENCES OF OVERLAPPING LOOPS, WHICH IS THEN UPSCALED AND CONVERTED INTO A TILE MAP, WHICH IS USED TO PLACE FLOORS, WALLS, DECORATIONS, ETC. AFTER THE TILE MAP IS GENERATED, THE LEVEL GENERATION ALGORITHM PICKS A ROOM AT RANDOM TO BE THE STARTING ROOM THEN MAXIMIZES THE DISTANCE BETWEEN THE START ROOM AND THE END ROOM. THE LEVEL GENERATION ALGORITHM WILL THEN PICK A KEY ROOM USING A TRIANGLE AREA CALCULATION TO MAXIMIZE THE DISTANCE BETWEEN THE KEY ROOM, THE START ROOM, AND THE END ROOM. THIS MAKES IT SO THE PLAYER MUST EXPLORE MOST OF THE LEVEL TO WIN AND PREVENTS THESE ROOMS FROM BEING PLACED DIRECTLY IN LINE, ONE AFTER ANOTHER.
ENEMY AI
REVOLT UTILIZES AN EVENT-BASED BEHAVIOR TREE TO MANAGE THE BEHAVIORS OF THE ENEMY AI. EACH ENEMY IS EQUIPPED WITH VIRTUAL AUDIO, VISUAL, AND PROXIMITY SENSORS TO ATTEMPT TO FIND AND ATTACK THE PLAYER. THE ENEMY AI ARE NEVER TOLD THE EXACT LOCATION OF THE PLAYER UNLESS THEIR SENSOR DETERMINES THEY HAVE A DIRECT LINE OF SIGHT. THE AI RELY ON EVENTS RAISED FROM THESE VIRTUAL SENSORS TO RECALCULATE THEIR CURRENT BEHAVIOR.
SENSORS
AUDIO SENSORS
EACH ENEMY AI IS PROVIDED WITH AN AUDIO SENSOR THAT REACTS TO AUDIO EVENTS IN THE LEVEL. EACH AUDIO EVENT THAT TRIPS AN AUDIO SENSOR HAS A PERCEIVED VOLUME CALCULATED FORM THE SOUND TYPE, SOUND VOLUME, AND A FALL OFF CURVE. THIS CURVE IS ALSO USED TO OFFSET THE LOCATION OF THE AUDIO EVENT SO THAT THE AI IS LESS SURE OF THE LOCATION OF A SOUND THE FURTHER AWAY IT IS. IF AN AUDIO EVENT'S PERCEIVED VOLUME IS ABOVE A GIVEN THRESHOLD AND THE AI DOESN'T SEE THE PLAYER, THE EVENT WILL PROMPT THE AI TO INVESTIGATE THE PERCEIVED AREA WHERE THE SOUND WAS HEARD.
VISUAL SENSORS
EACH ENEMY AI IS PROVIDED A VISUAL SENSOR THAT DETERMINES IF THE PLAYER IS WITHIN A VIEW CONE AND HAS A CLEAR LINE OF SIGHT TO THE PLAYER. THESE SENSORS RAISE EVENTS WHEN THE PLAYER IS IN SIGHT OR NO LONGER IN SIGHT, WHICH IS USED BY THE ENEMY AI TO RECALCULATE ITS CURRENT BEHAVIOR.
PROXIMITY SENSORS
EACH ENEMY AI IS PROVIDED WITH A PROXIMITY SENSOR THAT IS USED TO DETERMINE IF A UNIT IS WITHIN ATTACK RANGE. LIKE THE OTHER SENSORS, THE PROXIMITY SENSOR RAISES A NOTIFICATION TO THE ENEMY AI SO THAT IT MAY RECALCULATE ITS CURRENT BEHAVIOR.
BEHAVIORS
REVOLT'S BEHAVIOR TREES HAVE FOUR MAIN BRANCHES AT THE TOP LEVEL THAT EXECUTE CHILD BEHAVIORS TO ACCOMPLISH THE GOAL OF THE PARENT BEHAVIOR
PATROL
IN THE PATROL BEHAVIOR, AN ENEMY AI WILL PICK A CLOSE RANDOM POINT IN EITHER IT'S CURRENT ROOM OR ONE ROOM OVER AND MOVE TO THAT POINT AT A LEASURELY PACE. THIS IS THE DEFAULT BEHAVIOR OF ALL ENEMYS, AND IS INVOKED WHEN THE AI IS SPANWED OR WHEN WHEN ONE OF THE OTHER MAIN BEHAVIOR BRANCHES EXIT.
INVESTIGATE
IN THE INVESTIGATE BEHAVIOR, AN ENEMY AI WILL INVESTIGATE A POINT OF INTEREST BY MOVING TO THE PERCEIVED LOCATION OF THE EVENT THAT TRIGGERED THE INVESTIGATION BEHAVIOR. IF NO OTHER EVENTS CONTINUE THE AI'S INVESTIGATION, THE AI WILL TRANSITION BACK INTO THE PATROL BEHAVIOR. IF ANOTHER EVENT TO INVESTIGATE OCCURS DURING THE INVESTIGATE BEHAVIOR, THE BEHAVIOR WILL RESTART WITH THE NEW INVESTIGATION EVENT.
PURSUE
IN THE PURSUE BEHAVIOR, AN ENEMY AI WILL PURSUE THE PLAYER'S LOCATION. THIS BEHAVIOR CAN ONLY BE INVOKED BY A DIRECT LINE OF SIGHT REPORTED BY THE AI'S VISUAL SENSOR. IF THE AI'S LINE OF SIGHT TO THE PLAYER IS BROKEN, THE AI WILL USE THE INVESTIGATE BEHAVIOR TO EXAMINE THE PLAYER'S LAST KNOWN LOCATION AS REPORTED BY THE VISUAL SENSOR.
ATTACK
IN THE ATTACK BEHAVIOR, AN ENEMY AI WILL ATTACK THE PLAYER. THIS BEHAVIOR CAN ONLY BE INVOKED IF BOTH THE VISUAL SENSOR AND PROXIMITY SENSOR DETERMINE THAT THERE IS A DIRECT LINE OF SIGHT TO THE PLAYER AND THEY P[LAYER IS WITHIN ATTACK RANGE. IF THE PROXIMITY INDICATION IS LOST, BUT LINE OF SIGHT REMAINS, THE AI WILL TRANSITION TO THE PURSUE BEHAVIOR TO GET CLOSER TO THE PLAYER SO THAT IT MAY ATTACK AGAIN. IF THE AI'S LINE OF SIGHT TO THE PLAYER IS BROKEN, THE AI WILL USE THE INVESTIGATE BEHAVIOR TO EXAMINE THE PLAYER'S LAST KNOWN LOCATION AS REPORTED BY THE VISUAL SENSOR.
NAVIGATION
EACH ENEMY AI USES UNITY'S "NAVMESH" SYSTEM TO NAVIGATE THE RANDOMLY GENERATED MAP. DURING LEVEL GENERATION THE NAVMESH IS CALCULATED FROM THE RENDERED FLOOR BEFORE ENEMIES ARE SPAWNED.
DIRECTOR AI
REVOLT IMPLEMENTS A DIRECTOR AI TO ENSURE THAT RANDOMNESS ISN'T DIRECTLY RESPONSIBLE FOR THE PLAYER'S DEATH AND TO MAINTAIN THE PACING IN THE GAME.
ITEM DROPS
CRATES AND DOWNED ENEMIES HAVE A RANDOM CHANCE THAT THEY PROVIDE A RESOURCE FOR THE PLAYER. THE DIRECTOR AI WEIGHTS EACH RESOURCE BASED ON THE PLAYERS NEED AT THAT TIME AND PROVIDES THE BEST RESOURCE FOR THE PLAYER WHILE MAINTAINING THE ILLUSION THAT THE DROP WAS RANDOM. IF ONE OF THE PLAYER'S RESOURCES ARE BELOW A GIVEN THRESHOLD, THE DIRECTOR AI WILL ALWAYS PROVIDE THE MOST NEEDED RESOURCE IN A DROP SO THAT THE PLAYER DOESN'T DIE BASED ON RANDOM DROP RATES.
GAME PACING
THE DIRECTOR AI IS ALSO RESPONSIBLE FOR MANAGING THE PACE OF THE GAME BY WATCHING THE PLAYER'S DETECTION STATE. IF THE PLAYER HAS BEEN "SAFE" FOR TOO LONG, THE DIRECTOR WILL PROVIDE A HINT TO THE CLOSEST ENEMY AI BY INSERTING A RANDOM LOCATION FROM THE PLAYER'S CURRENT ROOM AS THE NEXT PATROL POINT FOR THAT AI. THIS MAINTAINS THAT THE ENEMY AI IS NEVER TOLD EXACTLY WHERE THE PLAYER IS, JUST A ROOM TO WALK INTO. THE DIRECTOR AI WILL ALSO MAINTAIN A RANDOM RANGE OF ENEMIES IN THE LEVEL SO THAT THE PLAYER DOESN'T DEFEAT ALL OF THE ENEMIES IN THE MAP AND WANDER ALONE.
CREDITS
INTERNAL CREDITS
(MADE DURING THE THE SUBMISSION PERIOD OF THE 2022 AI AND GAMES GAME JAM COMPETITION)
- GAME DESIGN: ANGRY MEATBALL GAMES
- SOFTWARE DEVELOPMENT: ANGRY MEATBALL GAMES
- ENEMY AI LOGIC AND BEHAVIORSs: ANGRY MEATBALL GAMES
- DIRECTOR AI: ANGRY MEATBALL GAMES
- PROCEDURAL LEVEL GENERATION: ANGRY MEATBALL GAMES
- GAME UI ICONS: ANGRY MEATBALL GAMES
- ENEMY DIALOG SOUNDS: ANGRY MEATBALL GAMES
EXTERNAL CREDITS
- PLAYER 3D MODEL: POLYGONR https://assetstore.unity.com/packages/3d/characters/humanoids/sci-fi/sci-fi-space-soldier-polygonr-66384
- PLAYER ANIMATIONS: KUBOLD https://assetstore.unity.com/packages/3d/animations/rifle-animset-pro-15098
- ENEMY 3D MODELS AND ANIMATIONS: PROTOFACTOR, INC https://assetstore.unity.com/packages/3d/characters/robots/sci-fi-orb-01-158723 https://assetstore.unity.com/packages/3d/characters/robots/sci-fi-explosive-spider-bot-137714
- ENVIRONMENT 3D MODELS: SYNTY STUDIOS https://assetstore.unity.com/packages/3d/environments/sci-fi/polygon-sci-fi-space-low-poly-3d-art-by-synty-138857
- VISUAL EFFECTS: ARCHANOR VFX https://assetstore.unity.com/packages/vfx/particles/sci-fi-arsenal-60519
- SOUND EFFECTS: IMPHENZIA https://assetstore.unity.com/packages/audio/sound-fx/universal-sound-fx-17256
- MUSIC: GAMING LOOPS https://assetstore.unity.com/packages/audio/music/electronic/dark-n-deep-space-197950
Status | In development |
Platforms | Windows |
Rating | Rated 3.0 out of 5 stars (1 total ratings) |
Author | groundhog-games |
Genre | Action |
Tags | Robots, Sci-fi, Stealth, suspense, Twin Stick Shooter, Unity |