Devlog Day 16: Vim windows, IGDA meetups, and Godot looting

Some Vim, indie game dev meetups and Godot looting
vim
gamedev
godot
Author

Evan Lesmez

Published

August 17, 2024

IGDA DC

First off, I forgot to mention in the last few posts that I attended an indie game dev meetup.
On last tuesday I met up with ~10 indie game dev/designers as organized by the DC chapter of the International Game Developer’s Association or IGDA DC
It was motivating to see the games people were working on and hear what types of games people liked and wanted to create.

There was a working session today that I also attended to put a few hours into gamedev and share our progress updates together.
There were 7 of us there and I was definetly the newest to gamedev.
The mini PC workstation was definetly a conversation starter.

Vim

Before I went to the IGDA meetup, I got back on the Vim train.
Learned about a few commands.

:find # like shell find but in Vim environment
:set path+={path}/** # changes the path that :find will search through for matches

# netrw commands 
:E or :e. # explore the Vim file tree of the cwd
:Se # split explore the file tree
:Ve # vertical split explore file treek

:source .vimrc # different from :! souce .vimrc which will have errors becuase .vimrc is not a compatible shell syntax

:!mkdir -p %:h # create folders and file needed to match buffer path

:w !sudo tee % > /dev/null # shorcut to sudo write higher permission files

Godot looting

In Godot I added some gem looting mechanics.
Learned how to use node groups to handle area_entered signals seperately for different nodes like gems vs. health packs.
Also learned how to update the UI for a label via the text property.
For progress bar it was value.
So a common pattern for colliding objects seems to be:

Area2D
    - area_entered signal
  CollisionShape2D
      - shape
  Sprite2D
      - texture
Control (UI)
  Element Node 
     - value or text

In the _ready method of the parent node, usually Area2D, the area_entered signal is connected to a callback.
The arg passed to the callback, or the area_that_entered can have a configured group to check is_in_group('group_name').
If the area that entered should cause an update, the corresponding attribute like health or gems should update, and consequentally trigger an update the attribute in the UI that displays that value.

Thanks for reading!