Vol. 73 - Ready or Not Development Briefing

Ready or Not

Ready or Not is an intense, tactical, first-person shooter that depicts a modern-day world in which SWAT police units are called to defuse hostile and confronting situations.

[h1]Attention Officers, [/h1] Thank you for joining us for the 73rd edition of our Ready or Not development briefing, May 10th, 2024! This week we’ll be showing some work on new AI target detection systems that make engagements feel more fair in situations where the player is partially obscured from Suspect/Civilian AI line of sight. We have two new specific types of target detection checks under development that are meant to meet this goal of improved fairness: “dynamic visibility blockers” that make thick CS gas clouds obscure your location from AI, and “AI detection cone checks” that make you less likely to be detected between small cracks or when mostly-obscured by cover at longer distances. We also want to highlight that this is Mental Health Awareness month and contextualize the new videos on the topic that are releasing on our YouTube channel. In this newsletter you’ll find some additional development philosophy regarding the inception of our existing SWAT AI mental health system in-game for Commander Mode. [i]These development briefings serve to keep you in the loop about parts of our ongoing support for Ready or Not, however the briefings do not encompass everything that we’re working on at a given moment. [b]Please keep in mind that everything in this development briefing is work in progress and subject to change. [/b][/i] [i]Vol. 73 Development Briefing [b]Summary Points: [/b][/i] [i][u][b](not a changelog) [/b][/u][/i] [list][*] AI Target Detection Changes [list][*] New dynamic visibility blockers that cause thick CS gas clouds to block effective AI target acquisition [list][*] AI fires at target’s last known position [/list][*] AI accuracy is now reduced per meter of CS gas thickness [/list][list][*] New target detection “cone” checks help prevent AI from acquiring targets through unintended tiny cracks, small gaps from a distance, and acquiring peaking players from a distance or at difficult corner angles[/list] [/list][list][*] May is Mental Health Awareness Month [list][*] New thematically relevant videos releasing on the VOID YouTube channel to help bring awareness to mental health concepts present in the game[list][*] First video is titled “PTSD”[/list][/list][list][*] Game design insights for the inception of the SWAT AI mental health feature in Commander Mode; simply surviving is not always enough.[/list] [/list] [hr][/hr] [h2][i][b][u]AI Target Detection Changes[/u][/b][/i][/h2] Both “dynamic visibility blockers” and “target detection cone checks” are WIP mechanics intended to make it more difficult for the AI to acquire the player as a target in certain challenging circumstances. These mechanics supplement our existing static visibility blocking volumes already manually placed in maps by the Level Design team. You can can learn more about those visibility blocking volumes in our [url=https://store.steampowered.com/news/app/1144200/view/3710460111434346509]Vol. 61 Development Briefing[/url]. The “dynamic visibility blockers” for CS gas build upon the concept of static visibility blockers, making a new form that can emerge and dissipate during active gameplay. These new dynamic visibility blockers can also penalize AI accuracy corresponding to each meter of CS gas thickness. Meanwhile, “target detection cone checks” help static visibility blockers by preventing edge-case issues where enemies might see through tiny cracks in things like door hinges, small gaps from a distance, or odd corners. [h3][i][b]Clouded Vision[/b][/i] [/h3] [i][u][b]CS Gas Dynamic Visibility Blockers [/b][/u][/i] Suspect AI will no longer be able to easily see the player through a CS gas cloud once it has spread to be thick enough. This takes advantage of our gradual CS gas propagation system which requires time for gas to reach full potential area coverage. In our current testing this means that Suspect AI will only recognize your last known position once CS gas has reached its full intensity. If they continue to engage the player they fire upon their last known position through the gas with reduced accuracy instead of actively tracking them. In the video below you can see the green boxes indicate the gradual propagation of the gas. The yellow line between the player and suspect shows the line of sight between the two. Once the volume of gas becomes thick enough the suspect’s target detection ability becomes blocked by it, represented by the yellow line between the two turning blue. [i][u](Video below: The blue line shows that the thick CS gas cloud is now blocking the AI’s vision) [/u][/i] [previewyoutube=fszWA9H1TC4;full][/previewyoutube] [u][i](Video below: AI accuracy is reduced for every meter of CS gas that exists between them and their target) [/i][/u] [previewyoutube=vOxc8A53_qE;full][/previewyoutube] [h3][i][b]Peek-a-Boo [/b][/i][/h3] [i][u][b]Target Detection Cone Checks [/b][/u][/i] Our system for target detection uses 4 trace locations on different parts of the players body that draw invisible lines to each AI on a given map. These 4 trace locations are: the top of the player’s head, the bottom of the player’s head, the lower left arm, and the lower right arm. [u][i](Image below: 4 red lines on the debug interface indicate failed target detection traces to each of the 4 possible trace locations on a player. [Note: this image uses the new "cone" based system explained later]) [/i][/u] [img]{STEAM_CLAN_IMAGE}/36750080/573c30f7b60edbf18f7a634c74c2d7348f59feb7.png[/img] These traces connect to every AI in the level. If both traces of a pair make it directly to an AI’s 'eyes' within its field of vision without hitting map geometry, or any manually placed visibility blocking volumes, then that AI is able to acquire the player as a target. [b][i]Old "Parallel" System:[/i][/b] [b]In the previous target detection system[/b], a pair of parallel traces ran from each trace location with a small offset between them. The fact that these two lines were simply parallel, with no angle deviation between them, ultimately caused issues. The old system worked well in conjunction with visibility blocking volumes manually placed throughout the level; these static volumes prevented AI from seeing through things like tiny fence gaps or thick foliage. Unfortunately, this system had a few key downsides in edge-cases. Firstly, players could be acquired through small gaps in map geometry that would feel fair and logical if the AI was standing right nearby the gap, but unfair if the AI was standing a further distance away where this gap would make up a much smaller fraction of their field of view. Secondly, there were sometimes issues where the offsets between traces could collapse to miniscule values, resulting in effectively only a single trace being required for an AI to detect a player. This meant that the AI could sometimes see through tiny gaps where visibility blocking volumes were missing, or where only a sliver of the player was visible. [i][b]New "Cone" System:[/b][/i] [b]Our new system elegantly solves these problems[/b] by implementing several pairs of diverging traces that begin with an increased offset. Each pair of traces run to one of the four trace locations on the player's character, forming the edges of horizontal 2D "cones." Both lines of a cone from a given trace location must be successfully completed for an AI to consider a player visible. [i][u](Image below: The player is not acquired as a target; only one line of the cone from the bottom head trace location is successfully completed. [Note: The debug overlay does not show both trace lines of a pair unless one was successful])[/u][/i] [img]{STEAM_CLAN_IMAGE}/36750080/de632c52c412960681ca70e1be3da1d4715ad5c9.png[/img] Therefore, this “cone” solution prevents enemies from being able to acquire the player through unintended tiny gaps, small gaps from a distance, and harder to acquire when peaking corners (especially at distance or at odd angles). [u][i](Images below: A simplified debug interface view showing only the player’s top of head trace location line pair forming its 2d horizontal cone. At close range the player can be acquired as a target through a gap this size, but at long range the player is not detected as a target.) [/i][/u] [img]{STEAM_CLAN_IMAGE}/36750080/1160a9fb001612f4d5d3edf25f7ad0786154b589.png[/img] [img]{STEAM_CLAN_IMAGE}/36750080/65c2037a47e00e724c38054c5bd99db365fb7d1a.png[/img] [i][u](GIF below: The Suspect AI acquires the player as a target once a pair of trace lines from player has succesfully connected to the Suspect AI’s field of view. [Note: The AI has further delays or inaccuracies for when it actually begins engaging, and it may decide not to engage at all.]) [/u][/i] [img]{STEAM_CLAN_IMAGE}/36750080/08dfda5144e02edcaeb2ee7844181ef3757fe7b8.gif[/img] [hr][/hr] [h2][i][u][b]May is Mental Health Awareness Month [/b][/u][/i][/h2] Over the next few weeks, we’re bringing attention to Mental Health Awareness month by uploading videos which explore various concepts of mental health related to the themes present in Ready or Not. [u][i](Video below: The first of these videos, titled “PTSD”) [/i][/u] [previewyoutube=HIFg98i3MWw;full][/previewyoutube] Mental health is an aspect of the game that we wanted included in some way for a while, eventually finding its place in Commander Mode for SWAT AI. Our intention was to highlight the traumatic events that occur within the world of Ready or Not and the toll that these sorts of scenarios take not only physically, but also mentally. In the process it is meant to help make your team members feel more human. From a dedicated game design perspective, the goal was to explore a meta game loop that reinforced the rules of Ready or Not in a way that wasn’t overly restrictive, while also reflecting the gravity with which we wanted players to think of these scenarios. As this SWAT team you are meant to apprehend suspects, rescue civilians, preserve lives, and ultimately defuse the situation. The scenarios presented are already traumatic enough, but if on top of that if you aren’t fulfilling those goals... your team’s purpose becomes distorted and twisted. Neglecting to care for the mental wellbeing of those involved or otherwise fulfilling your mission to properly defuse situations would eventually cause enough dissonance that valuable members would leave your squad. Simply surviving is not always enough. [h1]Conclusion[/h1] We are continuing to tweak the WIP AI target detection changes mentioned in this newsletter and hope to be able to expand their concepts to even more areas of the game. Each variable can be fine-tuned in order to help us find the best balance to integrate with our existing game systems. The improvements to CS gas via dynamic visibility blockers should make your engagements feel more fair and make less lethal options more attractive to control situations and sight lines, particularly on maps with open spaces. Target detection cone checks will supplement the visibility blockers already placed in levels to help ensure engagements occur in ways that feel fair to the player. On missions that have large amounts of props combined with vast sight lines, like Greased Palms, it should help make situations where you are shot at feel more understandable without requiring map-specific tweaks or overly neutering AI combat abilities. Lastly, we hope you are all taking good care of yourselves and each other. Mental Health Awareness month is an appropriate reminder to learn more about yourself, others, and how to best address the challenges in your own life. Don't be afraid to call on support. This concludes our 73rd development briefing, thank you again for joining us. Be sure to fall in next time for more development news! [img]{STEAM_CLAN_IMAGE}/36750080/90eea2aeb7449fef24bf55b66fe1bc4c923c6b69.jpg[/img] Follow Ready or Not on Steam [url=https://store.steampowered.com/app/1144200/Ready_or_Not/]here[/url]. Our other links: [url=https://discord.com/invite/readyornot]Discord[/url], [url=https://twitter.com/voidinteractive]X[/url], [url=https://www.youtube.com/channel/UCj3qNoOLkzHJ60vxG6xQvlA]YouTube[/url], [url=https://www.instagram.com/void_interactive/]Instagram[/url], [url=https://www.facebook.com/VOIDInteractive/]Facebook[/url]. [h3][b]Stack up and clear out. [/b] [i]VOID Interactive[/i] [/h3]