BRANDON FANNIN
  • Home
  • About
  • Résumé
  • Blog
  • Contact

Adventures in Game Development

New Project: Battlegrid Update 1

11/7/2025

 
Needless to say "A week or two studying for job interviews" isn't quite what happened. I have spent the last five months or so deep-diving into learning netcode and throwing together a project as a proof of concept for online multiplayer systems. The end result was a new portfolio piece that I can use to show I know what I'm doing when it comes to working with online systems. I didn't share my progress with this project on here because quite frankly there was very little to show visually and my weekly updates would have mostly been a bunch of trial and error. That being said, I will probably add a page to the site for code samples and share it there in the future.

Now, having gotten that taken care of, I have since started on my next actual game project. For this one I wanted to try my hand at making a game in a style similar to one of my favorite game series from my childhood: Megaman Battle Network.
Picture
 I've tried many times to explain what type of game Battle Network is to other people, but its kind of hard to pin down with our usual gaming genres. There are very few games like it, using a hybrid turn-based/action combat system where the player starts a turn by drawing a hand of cards that represent different attacks and actions. After choosing which cards they want to use, the game transitions into the action phase what the player can move around a grid and use said cards in the order they were selected while doing their best to avoid attacks from their enemies. While in the action phase, a gauge slowly fills up at the top of the screen, and when it is full the next turn begins with a new draw phase. The grid-based movement makes the game very easy to control, while the wide variety of card effects and the momentary pause for the card selection phase can produce a great amount of strategic gameplay.

There have been a handful of games that have come out over the years that have been inspired by this old GBA series, but at least in my experience none of them have quite managed to hit the same gameplay sweet-spot. Probably the most notable of the bunch, One Step From Eden, makes good on the action gameplay and the deck-building aspects of the original, but lacks a bit more of the overall strategic gameplay because there is no draw or card selection phase to slow things down. Your cards are delivered to you in shuffled order one after the other, leading to a much more hectic-feeling combat system as you continuously sling out attack after attack.

I want to do things a bit closer to the source material here, but I'll talk about my game design thought processes and decision making as we get further into the project. For now, here's a breakdown on what I've managed to get done in the roughly 3-4 weeks I've been picking away at the game so far.
Picture
As you can see, we have a grid divided into sides, we have actors on the grid, those actors have health displayed, and can move around freely on their side of the grid. Of note, I programmed the grid itself to allow for variable sizes, not sure if I'm going to use that feature in the long run, but it was easy enough to add in case I ever wanted to mix things up a bit, like so:
Picture
In addition to the basic movement mechanics, I have also gotten our action system almost fully up and running. Each action is made up of a chain of effects that string together in sequence. The system was specifically designed to be modular, with each effect basically acting as a building block from which I can create just about any action I can think of. The chains are also able to branch based on the results of individual effects, as well as apply or remove tags to the actor that is performing them, giving the system even more flexibility. Thus far I have made a base set of effects to work with, including but not limited to: damage patterns, projectile creation, telegraphing effects, branch conditionals, and forced movement. Here are a few basic examples with a breakdown of the effect sequences that make up the actions: 
Picture
Telegraph attack to row in front of user > Project damage ray effect to find first viable target in telegraphed area > apply damage and knockback effect on hit
Picture
Spawn projectile at user's position > On projectile hit, activate damage field centered on point of impact
Picture
Based on the "Step Sword" attack from Battle Network.
Record position > Apply "Invade" condition to user to allow them to enter enemy tiles > Advance forward 2 spaces > Deal damage to column in front of user > Return to recorded position > Remove "Invade" condition

And so on.

Though the system is very flexible, it is currently a little cumbersome to create the actions, so I will probably invest in making an editor tool to streamline the process in the future.  For now though, that's where we're at. The last thing I need to get the action system fully functional is to make sure that actions can be interrupted, for instances when an actor gets staggered while in the middle of trying to perform their own action. After that is done, I'll be moving on to the card architecture next. Whether or not I can get that half of the system fully up and running by then, I'll go into detail on my design considerations next week.

By the way, since I don't actually have a name for this one yet, for the time being I'll be referring to the project as either "Battlegrid" or my randomly generated project codename: "Halberd".

​See you next time.

Comments are closed.

    Archives

    April 2025
    March 2025
    February 2025
    January 2025
    December 2024
    November 2024
    October 2024

    Categories

    All
    AI
    Animation
    Attack Logic
    Camera
    Clean Up
    Enemies
    Game Development
    Godot
    Level Design
    Music
    Optimization
    Player Mechanics
    Projectiles
    Project Start
    Research
    Sound
    State Machines
    Super Metroid
    Tile Maps
    UI
    VFX

    RSS Feed

Proudly powered by Weebly
  • Home
  • About
  • Résumé
  • Blog
  • Contact