Devlog #3: Finish Your Game Jam Edition!


Daydream Skies Devlog #3

WELL WELLL WELLLLL I have been hard at work during the PIGSquad Finish Your Game Jam with the hopes of spending the jam time to polish up and finish my combat system! While I didn't get absolutely everything done (turns out RPGs are like, a lot of systems and numbers who could have guessed) I sure did make a lot of progress and got probably 80% of the way to having the combat system in a place where it only requires content from me rather than systems design.

So what did I get done? Glad you asked!

Going in, I had basic attacks (attacking in 1 line) and attacking in different shapes (the x shape) as well as 1 enemy type that did just a basic attack itself. Players and enemies all took turns based on their speed values and all executed at the same time.

First, I came to the quick realization that just throwing every unit into a pool and taking their turn based on their speed would not work design-wise for this game. With placement on the grid being an important mechanic, I couldn't make sense of having an enemy potentially move where they are located before the player had a chance to proc their attack on that tile. So this meant separating player turns and enemy turns entirely.


What I thought would be a very grueling re-architecture task ended up taking me 15 minutes. (Turns out, all the tutorials that showed me how to more modularly construct my code were RIGHT??? :O) So now we had enemies taking their turns squarely after the player.

After this, I wanted to create animations for the seaslime, my "complete" enemy to communicate better to the player what they were doing. This meant making them an attack and hitstun animation in addition to their idle. I also made a little script to squash and stretch their sprite when they move to a new tile to give them some bounce.


What was next was making a new "type" of enemy. I didn't want to use the same type of enemy only doing a regular attack but with slightly differing stats for the whole game. I knew it was time to make "special" attacks. So to start I got our new enemy in. His name is Kelponzo:




My intentions were to have another common encounter enemy that would teach players about status effects by applying Poison to a player if none of them were already poisoned.  This resulted in the much needed "enemyattack" script where I could store information about any different type of attack I came up with now or in the future.

Setting up the poison counter and damage taken to the player was pretty simple. Once I had the enemy AI and attack figured out, it was smooth sailing and we officially had 2 different types of enemies with the structure in place to make any different AI or attack types that I wanted.

Being poisoned of course meant that I needed to make edits to the player's portraits during combat to better communicate status effects. So I give you:

I couldn't think of a better way to make a skeleton look *more* dead.

After this, it was really about getting as much polish done as possible. I wanted to animate both trixie and davy next to the grid during combat. I didn't quite get all these animations done but I got them *at least* penciled out with idle, attack, cast, and hit stun animations and a fancy new state machine to take care of all of them.


look at them all wiggling. 

What other things did I do? I made a lightning attack animation and added attack "types" and type weaknesses for enemies. I did a little (but not enough) work in timing out actions and adding pauses between things so someone who isn't me can understand what's going on during a turn. I am quickly realizing that, at least for myself, the most challenging part of programming is telling the computer to "wait a second" and give a little breathing room to digest what is happening. 

My next steps are to clean up animations and do another more earnest timing pass on things so that it doesn't feel like enemy and player actions are happening on top of one another too quickly to internalize. Once those steps are taken I can finally play the combat all the way through as intended and do a balance pass on these first to enemies to make sure they're fun. (oh, and I also have to fix the bug where battles just don't end anymore? Truly a problem for a future Marlowe.)

Overall I'm really happy with the progress I made during the jam. Big shoutout to the PIGSquad community for keeping me company during the jam while they all shared progress on their own projects! It was very motivating.  It's been almost exactly 1 year since I started working on this game in earnest and I have to say I'm really happy with what I've learned from basically nothing just chipping away at this in my free time. I am so close to just being able to make a demo of this game I can almost taste it and that's the ultimate goal in front of me right now!

Till next time!

-Marlowe

Comments

Log in with itch.io to leave a comment.

Awesome update! It's wonderful seeing your progress, and your confidence grow in your own skills through each update. The game's shaping up in a nice way! And Davy's death portrait is maybe my favorite art piece in the whole thing.