Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

baronvonzoomie

4
Posts
1
Topics
2
Followers
A member registered 38 days ago

Creator of

Recent community posts

hey there, my discord is same as my user name here, baronvonzoomie

(1 edit)

posting a copy of the dev blog here to keep this thread updated. Follow the project here! https://baronvonzoomie.itch.io/circuitmind


Dev Diary #2: Kinetic Logic & Harmonic Flow

Hello again! BaronVonZoomie here. In my first update, I talked about the high-level vision for CircuitMind —the world of El Velo, the "Chassis & Chips" itemization, and the shift from stamina to Neural Flow.

This week, I am sharing the development process on player movement and dynamic bgm layering, the harmonic flow.

Kinetic Logic, the Math of "Feel"

1. The Geometry of Gating: 31 vs. 32

In a Metroidvania, movement is key to player's enjoyment of the game. To implement proper "Slide Gates" without a dedicated "crouch" button cluttering the controls, I had to change our collision bounds around.

The Stand: Our protagonist's standing height is 40px. The Gate: Our world is built on a 32px grid. The Dash: When you trigger a dash, I dynamically shrink the collider to 31px.

That 1-pixel difference means you physically cannot walk through a 1-tile gap, but the moment you dash, the math clears. It’s a "low-profile" mode that turns the environment into a series of locks and keys.

2. Tunnel Safety & Forced Continuity (The "Auto-Glide")

One of the first logical hurdles I hit was the "Stuck in a Tunnel" problem. If your dash timer ends while you are still inside a 32px gap, the physics engine normally tries to revert to your standing height, which would cause you to clip into the ceiling or get stuck in a state-loop.

I implemented an industry-standard solution which is Forced Continuity. Before exiting the dash state, the engine calls a `CheckClearance(40f)` utility. If there’s a solid tile above your head, the engine refuse to let you stand up. Instead, you will "auto-glide" at dash speed until you hit open air. 

 3. The "Laser Line" Dash

Originally, gravity was always pulling on the player, causing dashes that go off edges to "dip" slightly once in air. This also have the side effect of player unable to dash across gaps and lead to bad player experiences. I’ve moved to a Zero-G Dash model, which means during the dash frames, gravity is zeroed out and vertical velocity is locked. This means if you dash mid-air, you stay on that horizontal plane exactly, allowing for pixel-perfect gap crossing and "air-threading" through hazards.

4. Conservation of Momentum (The Dash-Jump)

Originally, we had a tiny, frame-perfect window right before and after a dash ended where a jump would preserve your momentum. But if you missed that window by even a millisecond, the engine would force you into a static jump windup, effectively "eating" your input and killing your velocity, which is another bad player experience.

It felt like a penalty for being human. To fix this, I updated the state machine to explicitly detect this "Dash-Jump" transition (just like in Megaman X series). Now, we bypass the normal jump windup animation entirely and inherit the full horizontal velocity. The result is a massive, high-speed kinetic arc that rewards you for timing your inputs without the frustration of lost momentum.

5. Platform Threading

Dropping through one-way platforms is a friction point in many games where the player can feel "sticky." To solve this, "Down + Jump" now triggers two specific logical shifts:

1.  A 150f downward nudge is applied instantly to the velocity.

2.  The physics engine enters a 0.2s platform-ignore window.

That initial nudge is the "secret sauce." It ensures the collider is physically overlapping the platform boundary on the very next frame, letting gravity take over without the player "stuttering" on the top pixel of the tile.

Data-Driven Tuning: The combat.json Suite

Finally, I’ve moved all these variables—Jump Force, Dash Speed, Apex Gravity—into a dedicated combat.json configuration. As an engineer, I hate hardcoding magic numbers. Now, I can tweak the "gravity of the world" or the "snap of a dash" in real-time while the game is running, allowing for immediate feedback and iterative polish. In addition, I am also entertaining the idea of providing this file to the player in the final v1.0 release, so that players can tune the game to their own preferences.

---

Harmonic Flow: The Code Behind "Combat as Jazz"

 We are moving away from static background tracks toward a systemic model I call "Harmonic Flow." The goal is simple but ambitious: to transform every combat encounter into a procedural jazz-fusion performance where the player acts as the conductor.

1. The Stem Stack

Our current architecture uses Vertical Layering—a stack of perfectly synchronized audio files (stems) running in parallel.

To prevent "music thrashing," we implemented a Tension Linger system. When you lose aggro, the music doesn't abruptly cut; it "lingers" for 4 seconds, allowing the "Cool Noir" atmosphere to melt back into the city hum naturally.

2. The Lick System: SFX as Performance

In El Velo, sound effects aren't just feedback—they are musical "licks." We are building a library where every action follows our "Chrome & Brass" palette (Flesh vs. Tech).

For example, Dashing triggers a "chk-chk" guitar scratch, and landing a critical hit fires a sharp Brass Stab, and by tuning every impact to the Scale of the BGM, we ensure that your attacks never clash with the music. Instead, they feel like improvised solos layered over the arrangement.

3. The Vision: Enemy as Instrument

Our ultimate goal for the vertical slice is the "Enemy as Instrument" logic. We want to tie specific instrument samples to different enemy archetypes:

- Hitting a Security Guard contributes an Upright Bass pluck.

- Destroying a Drone triggers a Trumpet blast.

- Engaging a Heavy Mech brings in the Baritone Sax and low piano bottom-end.

Through Sidechain Compression, the system is designed to "duck" the background music the moment you land a hit, creating the acoustic space for your "solo" to cut through the corporate noise. You aren't just fighting the city; you are performing its downfall.

---

The Showcase Level: Putting it All Together

To wrap up this update, I’ve recorded a video of our new Showcase Gauntlet. This level was designed specifically showcase the finer details of a character's movement in a 2D game, such as coyote time, corner correction and frame canceling etc.

CircuitMind - Character movement showcase, initial iteration

This video will show case dynamic BGM layering. At first the base layer will play, then we move into enemy sight range, and that would trigger the tension layer. We then move out of the detection range and the base layer will play again and tension layer will fade out. Finally, we stay within enemy range long enough to trigger the chase, and also triggering the action layer.

CircuitMind - Dynamic audio layer showcase

---

Roadmap & Next Steps

With the movement physics and audio foundation locked in, my next focus is build up the foundation for a robust inventory system, where player can swap out gears and the cybernetic chips on their equipment.  

Thanks for joining me on this journey.

— BaronVonZoomie

Thanks! I will definite keep you in the back of my mind! There are a lot of art assets need to be created. My discord is BaronVonZoomie


Introduction: Who am I?

Hello everyone! I'm BaronVonZoomie. After a decade-long career as a senior software engineer, I finally decided to take the leap into my true passion: game development.

I grew up on a steady diet of Heroes of Might and Magic 3 and Diablo—games that didn't just give you a hero, but a math-heavy world to optimize. That lifelong love for the deep dive of Metroidvanias and the addictive "one more run" loop of looter ARPGs is exactly why I’m building CircuitMind.

What is CircuitMind?

At its simplest, CircuitMind is a high-octane action-RPG set in a sprawling cyberpunk dystopia. It’s my attempt to fuse the atmospheric, handcrafted exploration of a Metroidvania with the deep, loot-driven progression of a Diablo-style game.

But beyond the genre labels, I’m building this because I wanted a game that empowers the player to "engineer" their own character. In CircuitMind, you aren't just picking a class; you’re programming a machine.

Welcome to El Velo

The story of CircuitMind takes place in El Velo, a sprawling, futuristic city built on stark contrasts. It’s a place where rain-slicked, neon-drenched lower sectors crawl with desperate mercenaries, while gleaming corporate spires pierce the toxic clouds above.

In El Velo, the figurehead government is long gone. The real power lies with the omnipresent Conglomerates. Following a catastrophic event known as The Great Disconnect, these corporations seized control of all R&D and private security, turning technology into a tool for surveillance and suppression.

You step into this world as a nobody mercenary who has been framed for the murder of a high-ranking corporate official. You aren't just fighting to survive; you're following a trail of digital breadcrumbs to prove your innocence in a city that wants you deleted.

Beyond the Chrome: The Endgame

I didn't want the journey in El Velo to end just because you reached the final biome. I’m designing two distinct ways to push your build—and your mind—to the limit.

1. The Endless Ascent

For those who want to test their "Hardware," we have the Endless Ascent. It’s a procedurally generated gauntlet that forces you to adapt to new combinations of enemies and hazards. It’s the ultimate playground for your Memory Allocations and Overload skills.

2. The Conglomerate Conspiracy

This is the part I’m most excited about. CircuitMind isn't just about combat; it's about uncovering the truth. In the Conglomerate Conspiracy, you'll engage in a deep, deductive endgame where you must piece together digital evidence to solve the murder you were framed for. Think of it as a "Cyber-Detective" mode, where your ability to find clues is just as important as your ability to swing a sword.

The "Chassis & Chips" Philosophy*

One of the first things I wanted to fix was how mindless itemization can feel in some ARPGs. In most games, you just jam the highest-level gem into a hole and forget about it.

I’m building something different: a Socket Puzzle. Gear is split into two parts: the Chassis (your physical equipment) and the Chips (the "brain" of your build). By using conditional affixes, we’re making every decision meaningful. You might find a chip that grants an extra Dash Charge, but only if it's installed in "Vector" brand gear. Or maybe a chip gives +5 Reflex, but only if it’s sandwiched between two "Synapse" modules. Your inventory becomes a place for tactical engineering, not just random clicking.

Breaking the Mold: Neural Flow vs. Stamina

As I spent the last few weeks tuning the physics and "game feel," I hit a wall with traditional resource management. Originally, I had a stamina bar, but it felt clunky. In a fast-paced cyberpunk world, your character shouldn't get "tired" from swinging a sword or dodging.

So, I performed some "logic surgery" and moved to Neural Flow. We’ve removed the stamina bar entirely. Instead, your character uses a Charge-based Dash system. Each move has a rhythm, an internal cooldown that scales with your stats. This lets you focus on the combat jazz—dashing, striking, and recovering in a seamless loop—without constantly glancing at a blue bar.

Character Progression: Memory Allocation

In El Velo, power isn't granted through traditional experience points. Instead, you earn Credits—the lifeblood of the city’s economy.

I’ve always been a fan of the high-stakes economy in *Dark Souls*, where your currency and your growth are one and the same. To me, this is a well-established and incredibly effective system—there’s no need to fix what isn't broken. So, I’m bringing that same tension to CircuitMind. You use your hard-earned cash to purchase Memory Slot Expansions (up to a hard cap of 70). Just like any high-end tech, the more memory you add to your system, the more expensive the next expansion becomes. This creates a permanent, strategic tension: Do you buy a powerful new weapon, or do you invest in a Memory Slot to allocate toward your Hardware (Stats) or install new Software (Skills)?

The real "Ah-Ha!" moment is our Overload system. If you allocate enough memory into a base stat (like 30 Reflex), your skills will literally break through their normal limits, unlocking hidden behaviors like explosive decoys or CD resets. It’s all about reaching those high-level thresholds to see what your build is truly capable of.

The Foundation: Tiled & Pixel-Perfection

On the technical side, I’ve spent the last week ensuring the world of El Velo is as solid as its mechanics. We’ve moved to a high-performance, tile-based system using the Tiled Map Editor.

This isn't just about drawing levels visually; it’s about precision. We’ve implemented pixel-perfect physics and two-pass axis resolution. When you land on a platform in CircuitMind, you land exactly on the top pixel of that art. No flickering, no "sinking" into the floor. It’s that tight, *Castlevania*-style movement that makes a Metroidvania feel right.

 Visual Identity: From Greybox to Neon

As an engineer, my first priority was always the "feel"—getting the gravity, the two-pass collision, and the hitboxes right. But a world like El Velo deserves to look as sharp as it plays.

My journey started with what I like to call Programmer Art—functional greyboxes that served their purpose during the first weeks of coding. To move beyond the blocks, I worked closely with talented artists to establish our visual soul. They created an initial moodboard to capture the rainy, high-contrast atmosphere I was aiming for, and through a process of feedback and refinement, we’ve arrived at a vision that perfectly matches the dark, neon-drenched world of El Velo.



This is the initial programmer art. It's really rough around the edges, however these place holders allow me to quickly build up the custom physic engine and test the collision, hit boxes and affixes implementation.

---------------------------------------------------------------------------------------------------------

@knight.1e (Instagram) and killakhi (Discord) did a fantastic job aligning the moodboard to my vision, providing a strong foundation for future art asset creation.





--------------------------------------------------------------------------------------------------------- 

The real turning point for the player character was collaborating with the talented @knight.1e. Seeing our protagonist evolve from a simple sketch into a professional, atmospheric design has been incredible. We’ve finalized the Main Character Design, capturing that framed mercenary silhouette perfectly




--------------------------------------------------------------------------------------------------------- 

We are now in the process of translating that design into gameplay. Here is our first look at the Idle Sprite, alongside the Fodder Enemy idle animation spearheaded by killakhi.



Future Plans & Roadmap

The goal for the immediate future is completing a highly polished vertical slice—a definitive proof of concept that showcases the Neural Flow combat and the Socket Puzzle itemization in action.

Current Wins: Pixel-perfect physics, Tiled level integration, and our functional loot/chip engine.

Next Milestone: Launching a Kickstarter campaign to help bring the full project to life, including our planned cap of 70 Memory Slots, the implementation of dual classes (Operative & Netrunner), and sprawling biomes.

I'll be diving deeper into the specific Overload skills for the Operative and Netrunner in the next update, and I'll share more about our unique Combat as Jazz dynamic audio system. Thanks for joining me on this journey!

Call to Action

If this sounds like your kind of game, feel free to reach out to me on Discord (BarronVonZoomie). I’d love to hear your thoughts on the Memory Allocation progression!

Shoutout to @knight.1e and killakhi for their incredible work bringing our hero and enemies to life.

— BaronVonZoomie