Okay, so here’s the deal. I messed around with trying to make something kinda like League of Legends, but, you know, not really. More like a simplified, top-down, arena brawler thing. Let me walk you through how it all went down.

First things first: Picking the Engine. I was debating between Unity and Godot. Unity’s got a ton of assets and tutorials, which is great, but it can be a resource hog. Godot, on the other hand, is lightweight and open-source, and I’ve been itching to get more familiar with it. So, I bit the bullet and went with Godot. Figured it’d be a good learning experience.
Then Came the Basic Setup. I started with a simple 2D scene. A background, a couple of placeholder characters – just colored squares for now – and a camera that followed the player. I spent a decent chunk of time tweaking the camera movement to feel right. You know, not too jerky, not too floaty.
Movement Mayhem. Next up was getting the player moving. I went with a basic WASD control scheme. The trick was getting the movement to feel responsive but also have some weight to it. I messed around with acceleration and deceleration values until it felt somewhat decent. Definitely not perfect, but good enough to start.
Attacking…Sort Of. Okay, so “attacking” at this point was just making the player square flash a different color when you hit the spacebar. Real sophisticated, I know. But hey, gotta start somewhere! I used Godot’s signals and slots system to trigger the color change. It was pretty straightforward, actually.
Adding a “Minion”. I created another simple scene for a minion – again, just a colored square. I gave it some basic AI to move towards the player and bump into it. No real damage or anything, just a simple collision. This is where I started running into some pathfinding challenges. Godot’s built-in navigation system seemed like overkill for what I wanted, so I ended up writing a simple A implementation. It’s not super efficient, but it works for a small arena.
UI Time. I added a basic UI with a health bar for the player. Just a simple progress bar that decreased when the minion bumped into the player. I used Godot’s Control nodes to create the UI elements and hooked them up to the player’s health variable.
Visual Polish (Attempted). I tried to add some particle effects when the player attacked, but honestly, it looked kinda terrible. I’m not much of an artist, so the particles just looked like random blobs. I decided to scrap that for now and focus on the gameplay.
What I Learned. This whole thing was a lot more work than I initially thought. Pathfinding is a pain, even with a simple arena. UI design is surprisingly time-consuming. And I really need to improve my (lack of) art skills. Godot is pretty cool, though. I definitely learned a lot about its scene system and scripting language (GDScript).

The “Game” Today. It’s definitely not League of Legends. It’s more like a tech demo. But it’s a tech demo that I built from scratch, and I’m kinda proud of that. Next steps? Maybe actual character models, better AI, and some real combat mechanics. But for now, it’s a fun little experiment.