Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

Howdy, I'm back!

Whew, I've worked like crazy in this project for the past 7 days, and I'm pretty glad with what I've achieved. Even though it's not -- still -- that visually pleasing, its battle system is starting to turn into something. Well, at the beginning of the week, I decided to get a .txt within the solution of my project to write down my short-term goals and my milestones:

This is not only fun to keep track of your tiny accomplishments but it also helps me a lot. As I stay in front of the PC for hours and hours, my brain start to malfunction and I keep forgetting stuff, so knowing exactly what I'm going to do next helps me a lot by saving my time. How? Well, more often than I'd like to, I forget what I'm working on (due to distractions from the TV, music or just because I'm mentally tired) and I have to test the game once again to see where I had stopped. This practice increased my productivity and helped me keep my sanity, and is probably something I'll always do from now on.

Well, as seen in the log, I started the week by working on the attack system, which's weird because I've done so much after that that it feels like I have done it months ago. The visual feedback is still poor, and I'm yet to balance the (strength + weapon damage - target's endurance) equation. Not quite there yet but I honestly would rather focus on other parts of the system now. Afterwards, I got to start working on the AI system, which is a list of cards with conditions and effects, which gets an unit to do something based on the conditions set by these cards; it was working beautifully until I implemented the action queue (yeah, back in January 1st), then a shitload of issues started showing up.

Due to a current limitation of Godot -- the engine I'm making this game with -- debugging is a pain in the arse since it lacks full stack traces in its editor. Yeah, that's what you've read: when you get, for example, a NullReferenceException in your code, it won't even tell you in which script it happened. I was OK with that since that, but it started to become too problematic. I had to refactor a lot of code to try and find where the problem was located. That's no joke, my code is literally full of these messages, LOL:


Part of the refactoring was done within the battle Manager class, I started getting rid of this mess (just had to expand one of these methods and BAM, my brain stopped working):


With classes, one for each state and they work beautifully well, tbf:


So, from Jan 2nd to 5th, my life was hell, I was coding for more than 12h a day and struggling to get things to work properly, but I slowly started to figure things out. Before that, I had already started to work on the AI cards and so far, I have made 4 of them, which are:

- [Effect] Move Randomly (not really useful, just for testing); Gets a random location and moves to that, then moves back previous position;

- [Effect] Chase: moves towards an enemy (if needed), and attacks it if possible;

- [Effect] Kite: attacks an enemy if possible, then moves away from it;

- [Cause] Can target (checks if the unit can target, from its position, another unit -- which can be the nearest, furthest, weakest or captain);

This first cause card made the AIs start to become more aware of their surroundings (read less stupid), as they'd just, before adding this one, chase enemies or kite them:


Well, I spent a lot of time refactoring and fixing broken stuff so I haven't got that many new things to show, but I'm happy it's coming along. I also got the walking animation and to finish, re-added the damn action queue so, this is what I've got so far:


And yeah, I'm running out of room in my console canvas. So that's it, thanks for reading, I hope to bring cool new additions next week, see ya! :D