Pro Bending – Game mechanics

Last time I wrote about how I started building my first game Pro Bending.
This time I want to look into the game mechanics and some thoughts behind it.

First, checkout the game available on Itch.io for free. It’s generally working as intended, although a bit rough around the edges – call it character. 😀

The game ended up being quite similar to hat I had in mind. It is inspired by The Legend Of Korra by having an arena with multiple zones and two teams who have to push the opponent team back in their zones and gain territory. Pushing them off the edge leads to a Knockout and instant win.
So the players goal is to balance their strategy between offensively trying to push the enemy back, and defensely avoiding to get hit and thus increasing risk of being pushed back yourself. The whole gamplay is implemented on this balance – with a lot of room fore refinement.

Two teams face-off in an elevated arena. Players of both teams have an elemental skill – fire, water, earth. Their goal is to push their opponents back on their field, thereby gaining territory. Match winner is who wins 3 rounds by gaining the most territory in each. You have to attack to proceed, while defend against the attacks of your opponents. All players on the field have 3 critical properties: Accuracy, Balance and Power. Accuracy determines how precise attacks are, while power determines how far your range attack goes. Balance is a defensive property describing how “steady” you are when receiving attacks – loose your balance, you get pushed back more easy. Each elemental attack addresses one poverty. Fire attacks reduce power. Water attacks reduce accuracy. Earth attacks reduce Balance. This creates a game dynamic where you have to quickly strategize, see and take opportunities and switch between offense and defense.

The steering is based on WADS movement with auto-aiming to a selected enemy. I was and I am still trying different input sets. I was considering something League-Of-Legends or Heroes Of The Storm, but the characters require a different mobility. The target is still inspired by it. I am still trying how to add game controller support. Two actions I have yet to implement and try how they affect game play is blocking (defensive position to absorb projectile with minimal damage) and dashing (fast avoiding movement).

Speaking of LoL. Right now for each elemental bender only one simple attack is implemented. This is where I have plenty of ideas also inspired by LoL and HotS, I may try in the future. I would like to make the elements more different. Right now the only difference is in health effects. Water reduces accuracy which increases the margin of error when firing projectiles. This reduces their offensive capability. Earth has the biggest wooms and reduces balances, being hid by earth makes the opponent slide more, thus increasing risk of being pushed over the line. Lastly hitting with fire reduces the Power of the hit character. Power being the ability to throw an attack and the strength of the attack.
What I switched around a few times is weather this is rather a bullet hell (dozents of projectiles, each hit doing minimal damage) or more strategic (few projectiles, strong damage). Between those extremes, I’m more on the bullet hell end at the moment. With blocking and dashing, and different steering, I could imaging leaning more into the strategic aspects again.

The AI is already doing it’s thing, but here is also a lot of room for improvement, for better play, strategy, coordination and personalities.
Lastly, right now you only have the quickmatch. I could imagine having a campaign where you team has to work through the full tournament in multiple rounds to win, with a small embedded story. This is where we are in let’s-dream territory. I may add some new things over time, but for now I’m happy with the state I have now. For a 3 months project in my free time I’m proud of the result. I hope you enjoy it as much as me. 🙂

Pro Bending – Getting started

I spent Christmas and New Years Eve somewhere in the German country side in my sister’s house. I brought music equipment, writing and painting utensils ready to lock myself in and only get out, once some art was created.
Then I got sick for 5 days and almost missed Christmas. As I recovered, I woke up one night with a game idea and started scribbling notes, which turned into this prototype.

I recently rewatched The Legend Of Korra and played Ron Gilbert’s Death by Scrolling. The game is beautiful pixelart and such a simple, but engaging premise. It has this “anyone could build this, but building it first not anyone can”. It got me thinking of a 2D roguelike based around elemental powers and how the Avatar premise lends itself so well to some interesting gameplay and progression. Having the premise for a (somewhat) open world would be fun, but also way exceeded the scope I could realistically tackle. So as a tech-demo I started looking at the Pro Bending matches from The Legend of Korra instead.

Earliest screenshoft of the game, showing the pro bending arena in simple colors with pixelart characters facing off each other.

I have known DragonRuby for at least 5 years. A game toolkit written in Ruby, that comes with a ton of sample games showing core mechanics. Any previous attempt of getting something started always failed, as DragonRuby has an unfamiliar dialect of Ruby and is written almost functional-programming like – think Elixir or Go. I couldn’t fit my thinking into the given data structures. I was lacking a scaffold that matched my brainwires.

Draco enters the room. Build upon DragonRuby, it is a slim Entity-Component-System, that provided exactly the structure I needed. Small in footprint, easy to get started, but easy scalable. An Entity is build from reusable Components, who store data and state. Systems are called with every frame tick and perform actions on entities being composed from the selected components. It lends itself really well for Ruby. So I got started.

Next iteration with slight shading on the ground. Two players look at each other, lines display their viewing direction.

I spend the last 6 weeks learning more about Entity-Component-Systems, disassembled Draco and wrote extensions and Pull-Requests. Got my prototype started and refactored it twice. My to-do list grew to 100+ items, half of which are done at this point. I spent hours collecting assets from OpenGameArt and Itch.io. I had to get out my old text books from university and learn about traditional game AI (steering behaviors, path finding & decision making). I broke my brain on seemingly simple mechanics and spent way too much time on unimportant stuff like transitions, menus, and ever more elaborate mock-up art.

Current state, with a less saturated color pallete and more details on the arena, like water gutters and earth disc emitters

So am I done? Not yet. The first build slowly gets to a shareable version soon.

‘ll write about the game mechanics another day.

Spiele-Empfehlungen 2023-2025

Mit dem Beginn der Covid-Pandemie begannen 3 Jahre, in denen ich sehr viele Games spielte und einige bereits weiterempfohlen habe. 2023 wurde das letzte große Jahr, in dem ich über 25 Spiele begonnen habe. Ich merkte gegen ende aber auch eine Müdigkeit und 5 Spiele habe ich nicht zu ende gebracht. Danach spielte ich nur noch vereinzelt mit etwas über 5 Spielen pro Jahr. Dennoch lohnt sich mal wieder eine Liste an Spielempfehlungen.

Continue reading “Spiele-Empfehlungen 2023-2025”