A downloadable game for Windows and Linux

Small combat demo for an in-progress Tactics RPG game, developed w/ Godot 4

WASD + space (confirm) + escape (cancel) for controls.

I've yet to add a fail / win state, so if you get to that point you can close+reopen to restart (if you want).

There is an in-game help menu, please give it a read for an explanation on mechanics. 

This isn't exactly a "press release" or anything meant to be completely playable (yet). I'm just uploading this to share the in-progress combat demo with friends and the like.

Download

Download
guild-tactics.exe 516 MB
Download
guild-tactics.rar 138 MB

Install instructions

Just run the exe file. 

Comments

Log in with itch.io to leave a comment.

Hi! I am building something similar for my children to play -- would you be willing to share how you implemented the turn order GUI in Godot? I really love the way you did it. 

I look forward to hearing from you!

Hey Richard, thanks for the feedback! The UI is where I probably spent most of my time so I'm glad to hear its well received haha, took a lot of work to get is 'just right'. As far as the Turn Order GUI, its kind of a lengthy explanation so I'll have to post a video to YT with more details and let you know when that happens. For now though, the general idea is this:

1. PanelContainer -> HBoxContainer -> Control -> TextureRect(s)

The Control under the HBoxContainer lets the inner TextureRects move around freely, while still letting you inherit what their size should be based on the constraints of the PanelContainer/HBoxContainer that holds it all.

2. Outline Shader on the character images

The TextureRects each have the corresponding character image, and this has a Canvas shader that outlines the texture with a color that is picked based on whether the character is an enemy or ally.

3. TurnManager (class)

This isn't GUI itself, but its the data that drives the GUI. It holds all of the character's and their turn orders in an array, where turn order is implied based on index. When the array changes, the TextureRects are updated. If there are, lets say, 8 texturerects - each rect is assigned the nth index of the array from the TurnManager and just displays that character's texture. So rather than having a TextureRect assigned to each character implicitly, its more about being assigned to a specific index in that array the TurnManager maintains and then updating the GUI state whenever that array changes.

I hope that maybe gives some idea. I hope to put out videos soon going over the project and discussing more of the ideas and topics to help other people, its just kind of hard to compile all of that information so I've been putting it off haha