itch.io is community of indie game creators and players

Devlogs

Dodging Scope, Catching Lessons – My First Finished Game

Dungeon Dodgeball
A browser game made in HTML5

Dungeon Dodgeball – Post Mortem

- by devol

Quick Introduction

Hi, I'm devol, a solo developer. I started learning game development in December 2024, coming from a background in software engineering. After diving into some tutorials, I decided to jump into making my own “short” game — which, as it always goes, became a bit more than planned.

I wanted to explore 3D game development and picked Godot as my engine of choice. To speed things up and focus on systems and gameplay, I used KayKit’s Dungeon Remastered and Adventurers Character Packs for visuals.

The result? Dungeon Dodgeball — a 4v4 team dodgeball game with bots, dungeon aesthetics, and some satisfying throws and catches.

What Went Right

I finished and released it.

This was my main goal: not perfection, but completion. I brought the game to a functional and somewhat polished state that people can actually play.

Mid-project refactor with Godot State Charts.

I started off with messy bool flags all over the place. Halfway through, I discovered Godot's built-in State Chart system, and migrating to that was a huge win. It cleaned up logic flow, made debugging easier, and helped me separate responsibilities cleanly.

It’s actually kind of fun.

The game surprised me — once the basic mechanics were in, just throwing and dodging had a satisfying loop. Watching the bots move made the whole thing come to life.

What Went Wrong

No music or sound effects.

The game is a bit silent. I simply didn’t prioritize audio.

RigidBody3D pain.

I learned the hard way that manually moving or parenting RigidBodies in Godot leads to all kinds of instability. Picking up, duplicating, re-positioning, or freezing physics bodies required a ton of workaround code. It works now, but it's not elegant — and it was a time sink.

What I Learned

Third-Person Character Control.

Implementing a shoulder camera, movement, jumping, dodging, and animation blending gave me a solid grasp of how 3D player control works.

Character pipeline overview.

I touched nearly every aspect of character setup: mesh importing, rigging, animation, collisions, and working with multiple instanced scenes for bots and players.

State management matters.

A good state machine setup makes everything else easier. Godot’s visual State Chart system saved my sanity and helped avoid the dreaded logic spaghetti.

Game feel is an iteration loop.

Little things like how the ball bounces, when animations play, and how bots behave made a big difference. I ended up tuning a lot of things by feel — and that’s okay.

That’s it! If you're a fellow new dev reading this, I highly recommend making a small game to learn by doing. Dungeon Dodgeball was a blast to build (and break, and fix again), and I’m already itching for the next project.

Thanks for playing!

— devol

Leave a comment