top of page

YoungBuck$ Combat Design - Devlog #8 - Pivot

  • Writer: Steven Pasinsky
    Steven Pasinsky
  • Mar 31
  • 3 min read

Updated: Apr 22

šŸ“Intro: Huge Pivot


It's been awhile! - I've been working on a lot of things related to GDC (check out Back Off Me Booty if you haven't yet!). Turns out the logistics of presenting a massive 400lb seesaw take a pretty good deal of planning and execution šŸ˜‚...


This week posed a huge pivot since one of our designers, Harry, needed to reduce his workload and drop the project. In light of this, one of our other designers, Ray, expressed that he would be willing to continue working on the 2h game, but posed the alternative of collaborating on his personal project Star Ranger. Our third designer, Arjun, didn't feel strongly about either, so it was on me to decide, and I went with Star Ranger---


I figured it would be

a) Good experience of jumping into an unfamiliar code base

b) Helpful to work on something that Ray was incredibly passionate about


The risks were posed in changing vision holders from Harry to Ray, as well as potentially stepping on Ray's toes, as it was his personal project. To mitigate these, I made sure to voice my concerns with Ray to make sure we were all on board - to which he was very accepting!


tldr; we're on a new, super cool project now!!


🧭 Overview


To put it short, Ray's project was a Round-based, third-person, Action-Packed Beat-em-up, similar to some of the Batman and Spider-Man games.


I spent the week before GDC trying to look around at Ray's existing codebase, which was a lot considering I was still new to the GAS system. This week, after talking with Ray to familiarize myself with his blueprints, I decided to help with the AI behavior. Ray had the AI behavior already implemented, but they all attacked the player at the same time. This conflicted with our design goals were to prioritize flashy combos and a huge power fantasy. Instead of finishing combos, players were forced to play more defensively in mid and later rounds:





We decided that one of the ways to keep the power fantasy of finishing combos without sacrificing the horde of enemies built up round-over-round, was to make sure only a specified number of enemies could attack at any given time. This was my job this week!


Here was my plan: Use tokens to allow certain AI to attack the player.

>Imagine the player has 1 token

>For an enemy to attack, it needs a token

>The player gives the token to an enemy, it attacks, then it returns the token to the player

>Now there can be 1 million enemies but only the one holding the token can attack


Initially, I started trying to figure out how to change the enemy AI behavior tree to keep track of the token. But I quickly realized that as described in my greentext formatted instructions above, I needed the player to keep track of the tokens.

ree

So, with that said, I created functions to take the token:

ree

And return the token:

ree

And hooked it up to our EnemyBaseGA class:

ree

ree

Although it's work that can be shown in a few screenshots, finding the right solution was difficult because of the way our architecture is set up. That said, I made sure to use variables for tweaking - in the case that we want to dynamically increase the number of tokens that can be passed around as the levels get harder.


Here's how it plays after:



Thoughts for the future:

>Token passing buffer window

>Multiple tokens

>Enemy-based dynamic token allocation

Comments


©2025 by Steven Pasinsky. Created with Wix.com

bottom of page