Game Dev Journal: Pressed Start, now what?
Tags: programming, gamedev, gamedesign, ai
Published: 2023-12-13 19:48:30

Ok, I decided to commit myself to finishing a game, but... Where do I start? Well, I had no clue, so I started asking myself a lot of questions. What if I made a metroidvania? Or a racing game? Maybe I could make a cool and fast adventure game like Sonic, right? But none of these questions helped me, because these weren't the right questions. Actually, there is only _one_ question to be made, and I should have made myself that question years ago, when puberty knocked on the door and my parents gave me a computer: what kind of game I'm always looking forward to play?

And that question is actually pretty easy to answer. There are two genres that are almost always intertwined in the games I use to play: rpg and management. I mean, the first one kinda cannot exist without the second, right? Or am I going to far here?

From that point, I knew I wanted to create a game mixing these two genres, trying to get the best out of both worlds. You must be thinking "then you should make a RTS", but a RTS would make me give up on the idea of a turn-based battle, and I want my game to have turn-based battles.

And since we're talking about battles, let's start with them. Turn-based battles are my favorite because it makes me feel like I'm on a real battlefield, commanding troops to victory.

I know that one of the most important aspects of a rpg is the possibility to explore, but I figured I should start small, since thinking about the exploration would require more work on the plot behind the game, and that's just not the focus right now. I already have all the information I need to think about the battle system I want to design.

One of my favorite games of all time is Final Fantasy Tactics Advanced. I simply love that battles and the job system. I wanted something like that on my game, but I don't want my game to be as slow as a tactical rpg, because that would cut off a lot of possibilities of exploration in the future. Despite that, I still want the battle to have some crucial tactical aspect, so I started to look for ways to make a tactical battle faster and simpler than it usually is.

One of the things I can do to achieve this quickness is remove the layered-terrain in the algorithm that will generate the field and position the characters in the right places. This will help me simplify the generation algorithm, since all the calculations to be made will have one less parameter, and will also make the battle easier, because the player won't need to worry that much about the range of the attacks.

I didn't decide yet if there's gonna be a transition to a new scene where the battle will happen or if the characters will just put themselves in a battle formation without any transition, like Chrono Trigger. I like the style of Chrono's battle, it feels comfortable. I believe it would be easier to develop the system if the transition style is used, as it would be easier to calculate each character's position, because the battle field would probably have a fixed size and the position of each character in the map doesn't matter, a single matrix could be used to design all battles. On the other hand, it would be interesting to see how to handle different matrices to generate and populate the field. I will probably choose to make a battle without transition, but I need to check some stuff yet to decide.

There are a few things about the battle that I'm certain of. One of them is that the characters will be able to move across the battlefield accordingly to its limitations and with the obstacles in the way. A tactical battle requires strategic movements, so there will be a "Move" command to each character, and the NPCs will have decision trees/state machines to deal with its decisions.

I know that in order to make the movements good enough, I'll need a nice pathfinding algorithm, so I'm going to play again some tactical RPGs to try to understand better how they work and replicate some of the ideas to see what fits better into my game. I don't want anything as sophisticated as the FFT/FFTA/FFTA2 battle system, because it would make the whole game to be about the battle, but I want something more than just frontline/backline formations.

Another thing that I demand on the battles is some kind of special command to perform attacks and skills. I'm still thinking about it, but I'm talking about bringing some references from fighting games. I love playing fighting games when I don't want to think that much because my playstyle relies on my reflexes, so I figured it would be nice to honor that passion by adding some combo-style attacks and skills to the game.

One thing that I also want is a machine learning behind the NPCs in battle, where they will become stronger proportionally to the player style of playing, not only based on the current statuses. Undertale did something like that, didn't it? I actually didn't play Undertale, but my stepson is kinda fanatic about it and told me some stuff about the game. I intend to give a special attention to the behavior of the NPCs along the whole process of development, as it is one of the most interesting things I find in a game. I have tons of fun when my enemies are hard to predict and are able to make me actually _think_ in a rpg, and I want the enemies in my game to give that same feeling.

For now, I'm going to work on two features of the battle: the battlefield generator and the decision tree/state machine. I'm currently reading _Artificial Intelligence For Games_, by _Ian Millington_, and I'm being able to sketch some ideas. I want the first versions of these features to be as simple as possible so I can get things flowing outside of the paper-world.

Welp, hopefully I'll come back with some tangible work done. I'd surely appreciate some thoughts on how to make some stuff work.

See ya.