viernes, 1 de septiembre de 2023
Flutter most useful and commonly used widgets
Flutter app iteration process
sábado, 12 de febrero de 2022
Happy Carl - final vesion released!
Happy Carl is here!
Keep the dungeon clean of monsters.
Don't get eaten!
Scary monsters! Mighty bosses!
Smash them! Throw stuff! Blow them up!
Get Happy Carl for free now!
https://salamanderlabs.itch.io/happy-carl
https://play.google.com/store/apps/details?id=com.SalamanderLabs.happydemoncarl
miércoles, 15 de septiembre de 2021
Happy Carl is live!
Pick the rocks and throw them to the monsters.
Or just smash them with your hammer.
Don't get bitten!
Happy Carl is available for free to download and play on Android, Windows, MacOS and Linux
Downloads:
https://salamanderlabs.itch.io/happy-carl
https://play.google.com/store/apps/details?id=com.SalamanderLabs.happydemoncarl
viernes, 3 de septiembre de 2021
Sprite Packr released
SpritePackr is a small desktop tool for pack sprites together in a single spritesheet. You can choose the number of rows and columns to set.
Download:
https://salamanderlabs.itch.io/sprite-packr
domingo, 25 de julio de 2021
Godot / GDScript Dialog Box approach
So, I have a gameplay, an UI over it, and I want in some cases, to ask the player what he wants to do in certain situations.
Comig from a backend/desktop in .net framework background, I use to work with DialogBoxes all the time. But the execution lines and structures are not the same when it comes to gamedev. Also, my experience with Godot is very limited.
I'll show you how I resolved the problem, and if you know any alternative, maybe more efficient, perhaps more elegant, please tell me!
Well, this is so far the gameplay screen, where I've a close button.
When it's pressed, the DialogBox is shown:
And here comes the magic :P
The DialogBox has a setup function that receives the dialog type, the text to show, and the font size. When one of the buttons is pressed, it emits the close signal, passing as well the result pressed, and the dialog type.
Next, I've the UI (a CanvasLayer):
The UI has the show_dialog() function, with the same parameters as the setup from the DialogBox. Also, it connects with the close signal, for receiving it when its called back, and then pops it again with dialog_response signal, to the original caller (in this case, the gameplay).
Finally I've my gameplay:
Here I firstly connect some signals to the callback functions, including the dialog_response. As will be some variety of dialogs, a type must be specified (for now, it's just a string, but must be an enum). So, when the signal comes, I check if it's a response for a quit game dialog, and if the response is Yes.
Not the best solution at all, but it works.
Surely in some months I'll be reading this so ashamed.
jueves, 3 de septiembre de 2020
Godot script code organization
# Script organization
#
# 01. tool
# 02. class_name
# 03. extends
#
# 05. signals
# 06. enums
# 07. constants
# 08. exported variables
# 09. public variables
# 10. private variables
# 11. onready variables
#
# 12. optional built-in virtual _init method
# 13. built-in virtual _ready method
# 14. remaining built-in virtual methods
# 15. public methods
# 16. private methods