top of page
Search
  • Writer's pictureRob

Game flow and terrain

It's been yet another busy month here in the office! I’ve actually just looked back at my previous post and the game looks so different! It’s been a while since my last update, but those of you who are keen will hopefully have been observing the nuggets of information I have been dropping over on Instagram. Right, let’s get to it!


New art

Let’s get the obvious out of the way. I finally have a sprite for my player character. I like the way she has translated from concept to in-game character. So far I only have two animations for her. One for when she is idle and another for when the player is preparing to play a card. I also created a neat little particle effect that appears below the player when holding a card.


The other big change is I have gotten some nicer tiles done! Which is good because I was getting really sick of the pixel art ones I borrowed from somewhere free online. I need to get a water tile done and some terrain pieces, but we will get on to that later.

Just to cheat a little bit, I randomly flip the tiles on the y axis so they don’t all look identical. When you are paying by the tile, you kinda want to use a few hacks to save money :-)

AI State Machine

Last month I implemented a state machine to handle the games logic. Which was a great approach to help split up the code and make things more manageable and now I have done the same thing to the AI code.

This was a great step in the right direction because it makes the EnemyController class entirely re-usable. Essentially the Enemy Controller is now a collection of code that performs generic enemy actions such as moving. When I load an enemy, I also load in a collection of AI States depending on which enemy it is and it is these that control the specific behaviour of the creature.


New enemy behaviour

The goblin now has a new form of attack. This one has a little range to it enabling the goblin to attack from a little further away. It was here and now that implemented the first negative status effect in the game and it doesn’t get much more cliché than poison!



Poison is a simple effect that causes the player to take a point of damage at the start of their turn for the rest of the combat. It’s a little bit harsh actually given there is currently no healing in the game, but I intend on nerfing it and re-designing the effect anyway


New card!

I thought it only fair that the player gets in on the poison action too! So I created a Bio card that allows the player to poison an enemy for the battle.



Enemy intents, tool tips and status icons

To help make the game more intuitive I have added small icons to the player health bar and creature to indicate when they are under effect of some positive or negative effect and so the player actually knows what these are, I have implemented tool tips to help the player figure out what all the various icons mean!



I think it is really important that the player knows how the enemy intends to behave to enable them to act accordingly during their turn. I inform the player using intents, which are small icons that appear above the enemies head telling you roughly what the enemy is going to do on their turn. This balances out the playing field and makes each turn feel a bit more like a puzzle that needs to be solved using the cards in your hands. Essentially “how do I maximise damage to the enemies and minimise damage to myself?”



I also just realised that I didn’t have a health bar for the enemies before … well I do now! :-D It makes such a huge difference!


That essentially took me to the end of my Alpha 0.03 build so at this point I took some time out from features, fixed some bugs and shipped my game off to be tested by my willing volunteers.


Game scenes

I found it about time that I had some more structure in the game flow so I built a main menu and game over screen. Nothing flashy, just placeholder for now, but I want my testers to be able to start a fresh game without having to restart the entire application and I will have to do this eventually anyway so better earlier than later. It’s starting to feel a little more like a game now!



Terrain

Oh now this was a doozy. I wanted to have some terrain features that blocked the players line of sight and make the levels more interesting to play on. Having free reign to just move and attack from pretty much anywhere with ease was just too easy for the player.


This was a pretty tough feature to implement. Toughest yet I think as it touched so many systems. Player movement, enemy movement, player attacks, they need to be interacted with by players and creatures, and so on.



Spawning and generating the terrain was the easy part. It got complicated when I wanted to have enemies behave properly with it (e.g. when a creature has no legal path to the player so must find the best piece of terrain to try and break through and attack it, which may not always be the closest or most obvious piece. I won’t bore you with the details, but suffice to say I figured out a great solution. :-D


Summary

After that I fixed a few more bugs and prepped Alpha 0.04 for testing!

These last few weeks have felt very productive. Game development is hard but fun and I am really enjoying seeing things start to come together more. I can’t wait to get this into the hands of more players so if you are reading this and fancy having a little play then send me an email at info@doubleonestudios.co.uk!

See you soon.

55 views0 comments

Recent Posts

See All

Komentáře


ABOUT DOUBLE ONE

Hello! Thanks for visiting. Right now Double One is just a lone developer. Me. Who has thrown their lot in at work to make their own way into the world as an indie game developer. I've got an idea, some concept art, and a basic prototype of a thing I think is going to be fun. So watch this space and wish me luck!

- Rob -

  • Black Facebook Icon
  • Black Twitter Icon
  • Black Instagram Icon
bottom of page