
Bass Reeves Can’t Die
Bass Reeves Can’t Die was shelved for a host of reasons, chief among them being the overall state of the games industry from late 2021 onward. Thankfully, the game saw a quasi-revival in form of an hour-long documentary, thrown together by YouTuber Noodle and general cool-person Sam Chiet. It also lives on in the form of Dreamfather Loves You, a game playable at Meow Wolf – The Real Unreal.
Xalavier Nelson Jr. had posted on Twitter saying he was in the process of building a game based on the persuasion minigame from The Elder Scrolls IV: Oblivion. I half-joked that I had to make this game with him, and he took me incredibly seriously, which led to our first collaborations together.
Technical Breakdown

Much like in Oblivion, the wheel consists of four static segments, and four segments that rotate. Each of the four static segments is given a point value per-scenario. Generally, this consists of -2, -1, 1, and 2. The rotating segments are given values of 1, 2, 3 and 4.
When a segment is selected, its base value is multiplied by the rotating segment value, and then performs a rotation. Once all four segments have been selected, the round is over.
In Oblivion, this is used to mimic conversations, with the static sections always labeled Admire, Boast, Joke and Coerce. In Bass Reeves Can’t Die, these options would change based on the scenario. A number value was also added to the bottom-right to indicate total point value for the selection, as we did not have an emoting NPC to indicate what was a good or bad choice.

The game uses a Scriptable Object driven Event system, where events are called on scriptable objects that serve as object-agnostic event channels. Any script in the game can call events on a channel, or subscribe to its Raise Event function. The base system was implemented by me, and improvements were created by me and the primary programmer for Dreamfather Loves You, Rea.

All Event Channels with different datatypes inherit from a base EventChannel class, meaning if we ever want to adjust how the broader event channel system works, a single class can be edited in order to expand functionality to the entire system. We opted for this method because myself and the other designer were both adept C# programmers with Unity experience, and editing scripts was not an issue for doing this kind of setup.

Originally, Bass Reeves Can’t Die explicitly linked the Action Wheel to a Result Bar object, which displayed numeric progress and required the player to achieve a certain number value to complete a scenario. Once Dreamfather shipped, BRCD was expanded to allow for the Action Wheel to interact with multiple parts, which led to the Event Channel system. As shown above, any value from the Action Wheel could simply be raised in an event, which any object can listen for. Below is the result bar code that reacts to this system — OnActionWheelHighlight is subscribed to the QualityEventChannel’s RaiseEvent delegate, and the code executes.

The “ghost chit” is moved to the intended position, showing the player where the current value will land them on the Result Bar. The system is agnostic to the Action Wheel, so in theory, the result bar could display a number from any system. We called this a system of “Interactors” and “Reactors.” Interactors were gameplay pieces that responded to player input (like the Action Wheel), and Reactors used the results to display some measure of progress to the player.

The other benefit of this event structure was the ability for One Shot scripts to subscribe to event channels. I wrote a One Shot Sound script and a One Shot Tween script, which implemented sound effects and DOTween tweens respectively, and could be thrown on any object in the game.

This meant that adding juice to any component that would regularly be sending or receiving values was as simple as assigning it to the appropriate event channel in the inspector, and the Tween script would automatically select the object it was attached to, or the One Shot sound script would find a free audio channel to use, making them fairly foolproof.
Bass Reeves Can’t Die will never truly see the light of day, but there’s always WHEELJAM if you need your persuasion wheel fix.
Go back to Projects