Sign in

Pixel - GameDev

@pxlheart.co.uk
1.9K followers 89 following 393 posts

• 20 / Gender-Evil {They/Them} • Co-founder and co-director of @5leaf.games • Games educator • Occasional composer • 100% human work only • Professional Idiot Tier VIII • Funny sometimes patreon.com/PixelGameDev

PostsRepliesMedia
Reposted by Pixel - GameDev
5Leaf Games @5leaf.games · 30/09/2026
Small update to the design for our player character! Thoughts? #indiegame #indiegamedev #godotengine
Two pixel art clowns. The left is the old design, the right is the new. The new design is slightly larger.
0127
Reposted by Pixel - GameDev
5Leaf Games @5leaf.games · 18/09/2026
New posts on TikTok and Instagram! www.tiktok.com/@5leafgames/... www.instagram.com/reels/DdbcrB... #indiegamedev #indiedev #clown
tiktok.com
Clocking in for a shift at the clown factory. #clown #fyp #xyzcba #viral #indiedev
TikTok video by 5Leaf Games
073
Reposted by Pixel - GameDev
5Leaf Games @5leaf.games · 10/09/2026
New blog post! 5leaf.games/blog/kippie-... #IndieGameDev #GameDev
5leaf.games
New Office
Do not feed the Rusty
0112
Pixel - GameDev @pxlheart.co.uk · 08/09/2026
I've signed this petition calling on the NI Executive to ban power-hungry data centres in Northern Ireland - will you sign too? @actnowcampaigns.bsky.social my.actnowni.org/petitions/no...
my.actnowni.org
Sign Now: No Power-hungry Data Centres in Northern Ireland
I've signed this petition calling on the NI Executive to ban power-hungry data centres in Northern Ireland - will you sign too?
042
Pixel - GameDev @pxlheart.co.uk · 28/08/2026
Just finished a small jam game with the theme "Fragile". Go check it out! pxlheart.itch.io/bull-in-a-ch... #IndieGameDev #GameDev #GodotEngine #2D #PixelArt
pxlheart.itch.io
Bull in a China Shop by Pixel
It's a really long China Shop
1135
Reposted by Pixel - GameDev
Goomboo @maplegecko.bsky.social · 22/08/2026
Let’s celebrate the upcoming release of #Asemulator with a giveaway!🎁 5 winners will receive an @aseprite.org key + an Asemulator template bundle key. How to participate: Like, repost, and follow this account! Winners will be picked on release day, August 28th 🎉
2256169
Pixel - GameDev @pxlheart.co.uk · 04/08/2026
Spent multiple hours on VC making... This... #TFC #TheFreakCircus #Pierrot #Clown #Clowns #PixelArt #Art
0101
Reposted by Pixel - GameDev
5Leaf Games @5leaf.games · 22/07/2026
#IndieGameDev #GameDev #GodotEngine
081
Pixel - GameDev @pxlheart.co.uk · 17/07/2026
This is us! I am a studio co-director for 5Leaf Games, we hope you enjoy our clowning around :> #IndieGameDev #GameDev #GodotEngine
0142
Reposted by Pixel - GameDev
they made gooseworx @gooseworx.bsky.social · 20/06/2026
Jax if she wasn't a huge piece of shit.
28708149221296
Pixel - GameDev @pxlheart.co.uk · 25/05/2026
"Godot doesn't do 3D" folk have been real quiet...
0131
Pixel - GameDev @pxlheart.co.uk · 21/05/2026
Spent 5 hours refactoring the dialogue system. Dialogue can now just be written as plain-text either in the CSV or Excel sheet. Automatically grabs translation strings, character portraits, voices etc. With temp caching too for ✨performance✨ It's 2am I'm going to bed blehh #IndieGameDev #GodotEngine
Excerpt from the localisation Excel sheet:

DIALOGUE_test0	->   Hello!
DIALOGUE_test1	->   Neutral {REDACTED}: [color=red]…
DIALOGUE_test2	->   Angry {REDACTED}: [speed=100]I am [color=red]RED[/color] because I'm[wait=0.5][speed=2][color=red][shake] angry…
DIALOGUE_test3	->   Neutral {REDACTED}: [sound=PLACEHOLDER_family_guy.wav,0.5,2]I am expositioning
1102
Pixel - GameDev @pxlheart.co.uk · 08/05/2026
Bit late on this oops. Finished my 2nd year of uni last Friday (Yay!) Made two narrative games; one solo and one as a group. Both in Unity, both were a pain, both were not great but we move on. Got big stuff planned for the next year, me and a friend from my course are starting our own games studio!
140
Pixel - GameDev @pxlheart.co.uk · 04/03/2026
Semester 2 group project prototype demo complete, after much crashing out. Now to work on other things for a bit before turning this into a full game. Blehh #indiegamedev #gamedev #MadeWithUnity #lowpoly #retro
Main menu of the game project "Kryos", by Kryos Krew. 2 buttons are labelled "PLAY" and "QUIT", with a Tarot card collage in the background, surrounded by fog and particles.Starting room of the game; the protagonist's filthy bedroom. Trash, pizza slices, and pizza boxes is/are scattered everywhere. A UI element at the bottom denotes the empty inventory, and another in the bottom right displays the current objective/tasks.First cinematic of the game. A sleazy job recruiter "Kenneth" asks "Would this face ever deceive you?"

His face really looks like it would deceive you.The first "puzzle" of the game, where the player is tasked with flipping the switches on a breaker to power up the building.
2142
Pixel - GameDev @pxlheart.co.uk · 19/02/2026
2nd semester of Uni, this is the first room of our group project! #indiegamedev #gamedev #MadeWithUnity #Blockbench
Screenshot from the Unity Editor showing a messy, dirty bedroom with pizza boxes, pizza slices, and trash everywhere.
1173
Reposted by Pixel - GameDev
Godot Engine @godotengine.org · 26/01/2026
#Godot 4.6 is out, and all about your flow! This release puts you and your workflow first with a new theme, flexible docks, and dozens of UX improvements. And Jolt Physics by default, revamped IK, better reflections, and more. Less wrestling with UI. More making games. godotengine.org/releases/4.6
godotengine.org
Godot 4.6 Release: It's all about your flow
With the stability gained over the past five releases, it's time for polish and quality of life improvements for everyday development.
281402370
Pixel - GameDev @pxlheart.co.uk · 23/01/2026
Would @srpelo.bsky.social get mad at me if I chopped up his voice from ENA and turned it into a UTDR-esque dialogue voice text thingy. #indiegamedev #gamedev #godotengine
191
Pixel - GameDev @pxlheart.co.uk · 29/12/2025
Been over a year on BlueSky, new intro time! Hi I'm Pixel or PxlHeart! I'm a #gamedev Ulster University student in #Unity, and a hobbyist/educator in #GodotEngine. I'm half-Filipino, half-Irish and 99.9% queer [certifcation needed] Stick around and see what antics I get up to. I love you mmmwah :3
281
Pixel - GameDev @pxlheart.co.uk · 14/12/2025
Just finished up uni for the semester and I definitely *haven't* already lost my mind.
Wilson from House M.D. drawn in the style of that one Alastor render from Hazbin Hotel. It has the text "I too seek redemption"
030
Pixel - GameDev @pxlheart.co.uk · 27/11/2025
Started university about 11 weeks ago and as part of my course I've had to learn Unity. It's going pretty well so far. Decided to make a procedurally generated infinite racer. Here's the skybox shader! #indiegamedev #gamedev #unity #madewithunity
Cloudy sunset over the mountainsMoonset over the mountains with a star-speckled sky
0123
Reposted by Pixel - GameDev
Christophe is making Prerolled! @qaqelol.bsky.social · 20/11/2025
My interactive tween guide for Godot is out ! If you have trouble using tweens, adding "Juice" or picking the right transition, it should hopefully help! The guide is free and will always be 🩵 qaqelol.itch.io/tweens #Godot #GameDev #Animation #Tutorial #Guide #Tweens
451337393
Pixel - GameDev @pxlheart.co.uk · 12/09/2025
New Twenty Øne Pilots album is FIRE!!! One Way/Days Lie Dormant is an instant favourite. I'm so giddy it's such a good album muehehehe
Screenshot of my last.fm profile showing that I listened to the entire Breach album (bottom to top, City Walls to Intentions)
030
Pixel - GameDev @pxlheart.co.uk · 05/09/2025
Nightmare of a thing to implement but got dragging and rotating inventory items working. As well as shape vertex generation and highlighting items and grid slots. #indiegamedev #gamedev #godotengine #2d
1223
Pixel - GameDev @pxlheart.co.uk · 27/08/2025
Been working on an inventory system teehee #indiegamedev #gamedev #godot #godotengine
A screenshot of a barebones inventory UI with some grid boxes.
There is a 3x3 grid, a 4x2 grid, and a 5x2 grid, stacked on top of each other vertically.
0121
Pixel - GameDev @pxlheart.co.uk · 05/08/2025
Amazing to see Godot grow as much as it has. Can't wait to see what big games people make with it!
030
Pixel - GameDev @pxlheart.co.uk · 20/07/2025
Wasted so much time today trying to figure out a way to test this stuff on the same computer blehhhh. Eh whatever, time doing is time learning. Made a couple of bug fixes in my endeavour anyway. #indiegamedev #gamedev #godotengine
A Git commit message, it reads:

PxlHeartDev committed now

More multiplayer set up
Made it so packets aren't read if not in a lobby
Fixed lobby member not being appended to list
Fixed a size check on lobby_members list
Added some error checks to read_p2p_packet()
Made packet types an enum/int instead of string
Removed unnecessary "steam_id" key from packets, they are already sent in the packet header
Did some additional code cleanup in steam.gd
Connected player join signal to the spawner
Fixed player camera active check
Fixed player packet receiving (added matching id check)
Fixed player mesh instance uniqueness
Added a function to clear the player list when the player leaves the game in game_menu.gd

8 files changed. +73, -37 lines changed
1122
Pixel - GameDev @pxlheart.co.uk · 20/07/2025
Y'all I'm struggling a little bit. How do you go about testing Steam multiplayer? I'm drawing a complete blank on how to effectively test it because my Steam ID is the same in both run instances, and I don't want to jump through a million hoops for like a test env or a VM #indiegamedev #godotengine
150
Pixel - GameDev @pxlheart.co.uk · 19/07/2025
The woes of spending many hours building a uid system only to realise you've programmed yourself into a corner and it would've been so much easier from the beginning to just use Steam IDs on their own. I'm not crying, you are. #indiegamedev #gamedev #godotengine #godotsteam
Some GDScript, it reads:

# It's at this point I realise how stupidly convoluted I made this
func quit_game() -> void:
	for i in range(1, len(ids)):
		destroy_id(ids.keys()[i])
0211
Pixel - GameDev @pxlheart.co.uk · 18/07/2025
Relearning how to add multiplayer to Godot and oh my god it's just as much of a nightmare as I remember it. #indiegamedev #gamedev #godotengine
3172
Pixel - GameDev @pxlheart.co.uk · 16/07/2025
Yeah I'm going to bed it's nearly 4:30am blehhhhhh #indiegamedev #gamedev #godotengine
A Git commit, it reads:

PxlHeartDev committed 2 minutes ago
Various changes and additions
Updated settings Button focus theme
Added a kick button icon
Added a muted mic button icon
Added a Steam button icon
Added Global "online.tscn" and added class "ID" for managing online IDs in a generalised fashion
Added empty child node "Steam" to online.tscn for later user
Updated a number of functions to use the new generalised ID instead of just an int
Removed some references to "Steam"
Added global "voice_manager.tscn" for managing player voice communcation, currently not complete
Made advanded_audio_3d.tscn reach target faster
Added some exported node references across various scripts
Went through many scene files and scripts and fixed and added appropriate focus neighbours
Added default focussed nodes to menus when they open

Added localisation strings for:
GENERIC.volume

31 fles changed. +480, -43 lines changed
192
Pixel - GameDev @pxlheart.co.uk · 16/07/2025
I decided to generalise online IDs to save myself headache later. Also just a good practice in data management. It's been a while since I've written important data-driven systems. It's not likely I'll get the chance to go multiplatform, but it's nice to have the option. #indiegamedev #godotengine
A Godot class declaration, it reads:

class ID:
	enum Platform {
		STEAM,
		XBOX,
		PS,
	}
	
	var platform: Platform
	var id: Variant
	var username: String
	
	func _init(
			_plat: Platform = Platform.STEAM,
			_id: Variant = 0,
	) -> void:
		platform = _plat
		id = _id
		match platform:
			Platform.STEAM:
				# TODO Query Steam for name
				pass
			Platform.XBOX:
				# TODO Query Xbox for name
				pass
			Platform.PS:
				# TODO Query PSN for name
				pass
		username = "Test Name"
050
Pixel - GameDev @pxlheart.co.uk · 16/07/2025
A really big thing that I don't see many people mention when developping on/for computer; Creating focus neighbours for gamepad/keyboard only users is _tedious as hell_. A relatively unnoticeable change I undertook this *cough* early "morning". Glad I did though. #indiegamedev #gamedev #godotengine
1152
Pixel - GameDev @pxlheart.co.uk · 15/07/2025
Buttons... #indiegamedev #gamedev #godotengine #ui
Player control panel with player name "Test Name 0",
a volume slider, mute button, kick button, and a steam button.
1171
Pixel - GameDev @pxlheart.co.uk · 14/07/2025
Song (menu) that might play (will show) when you fight Sans (press escape). #indiegamedev #gamedev #godotengine #ui
A simple game menu GUI.

A left band has a title "Game Menu", and three buttons "Resume", "Settings", and "Quit".
The "Settings" button is highlighted in blue along with a long blue horizontal bar to indicate it is hovered.

The right side of the menu has a label that says "The game is NOT paused" in the top corner.
Below that is a title reading "Players" and a number of control panels that read "Test Name 0", "Test Name 1", etc. with horizontal sliders beneath each of them.
0101
Pixel - GameDev @pxlheart.co.uk · 10/07/2025
Control rebinding menu! #indiegamedev #gamedev #godotengine
A settings menu
Contents:

Title label reading "Control Bindings".
Button labelled "Reset to defaults".
Note reading "If you use a different keyboard layout other than QWERTY (UK), these keys may be inaccurate".
Section label reading "Movement Keys".
A number of pairs of labels and buttons (respectively) reading;
"Forward", "W".
"Backward", "S".
"Left", "A".
"Right", "D".
"Jump", "Space".
"Crouch", "Shift".
"Sprint", "Ctrl".
Section label "Action Keys".
Label/Button pair "Interact", "E".
Section label "Miscellaneous Controls".
Label/Button pair "Pause/Back", "Escape". This one is tinted red, as it can not be rebound.
1192
Pixel - GameDev @pxlheart.co.uk · 16/06/2025
Decided to make a small demo of the template (soon to be Dead Air) so far. It shows off: Main menu Settings menu (language, audio, video) Custom hover tooltips Stamina/sprinting Audio occlusion muffling Health & Vignette effects Injured state #indiegamedev #godotengine #ui #3d
0101
Pixel - GameDev @pxlheart.co.uk · 15/06/2025
Working on audio pooling atm and the mesh debug system is pretty cool #indiegamedev #godotengine #3d #audio
A simple 3D scene showing a boombox.
6 debug spheres are visible spaced around it, indicating a sound has played there.GDScript snippet, it reads:

func play_sound(sound: String, pos: Vector3, custom_dist = -1.0) -> void:
	# Sound exists, play from pool
	if sound in sounds.keys():
		var sound_obj := sounds[sound]
		var player := sound_obj.get_player()
		player.position = pos
		if custom_dist != -1.0:
			player.max_distance = custom_dist
		player.play()
		if debug:
			draw(pos, player.max_distance)
	# Sound not found
	else:
		push_warning("Sound %s cannot be played, never pooled" % sound)
081
Pixel - GameDev @pxlheart.co.uk · 15/06/2025
Oh the bittersweet painjoy of switching note-taking apps...
140
Pixel - GameDev @pxlheart.co.uk · 14/06/2025
Both Audio and Video tabs are now complete (for what I want for now), things are coming together! #indiegamedev #godotengine #ui
A GitHub commit message, it reads:

PxlHeartDev committed now

Input/Output device & LPF & Oher minor changes
Updated custom tooltip panel alpha and increased its horizontal size for better readability
Updated config.gd to use 2 different functions for initial setting and then updating
Added output and input device selectors to Audio Settings
Added Reduce High (low pass filter) to Audio Settings

Added localisation strings for:
GENERIC.on
GENERIC.off
SETTINGS.audio.reduce_high.off.desc
SETTINGS.audio.reduce_high.weak
SETTINGS.audio.reduce_high.weak.desc
SETTINGS.audio.reduce_high.medium
SETTINGS.audio.reduce_high.medium.desc
SETTINGS.audio.reduce_high.strong
SETTINGS.audio.reduce_high.strong.desc
SETTINGS.audio.reduce_high.vstrong
SETTINGS.audio.reduce_high.vstrong.desc
SETTINGS.audio.reduce_high.tooltip

Updated localisation strings for:
SETTINGS.audio.reduce_high.desc
SETTINGS.video.display (was pasted incorrectly)

12 files changed, +320 -101 lines changedAudio settings tab, it has:
"Audio Settings" title
Button readingh "Reset to defaults"
6 volume sliders
Output & Input device dropdowns
"Reduce high frequencies" dropdownVideo settings tab, it has:
"Video Settings" title
"Reset to defaults" button
"Screen Size" dropdown
"Display" dropdown
"Max FPS" slider
"VSync" dropdown
"Gamma" slider
031
Pixel - GameDev @pxlheart.co.uk · 13/06/2025
More chicanery #indiegamedev #godotengine #ui #3d
A GitHub commit message, it reads:

PxlHeartDev committed now

More settings menu chicanery
Added "bip.wav" sound to the volume sliders
Added custom tooltip scene for settings tooltips
Added gamma to config
Added working gamma slider to Video Settings
Fixed a bug with settings menu scroll buttons not storing the right position when the list was previously scrolled
Made volume sliders fade towards target rather than stepping

Updated localisation strings for:
SETTINGS.video.vsync.tooltip
SETTINGS.video.gamma.desc

16 files changed, +181 -21 lines changedBasic world scene, in the ui is a healthbar and a stamina bar.
The scene shows a mostly flat plane with a few elevations.
The gamma is set to 0.5, so the scene is mostly darkened.Same scene as before, but with the gamma set to 1.5.
The whole world is a lot brighter, maybe because it has you in it :D
051
Pixel - GameDev @pxlheart.co.uk · 12/06/2025
Language switcher babyyyy #indiegamedev #godotengine #ui
A GitHub commit message, it reads:

PxlHeartDeb committed now

Language selector & VSync
Made settings tab animate towards target scroll position of clicked tab, rather than instant switching
Fixed scroll positions sometimes not setting on first opening of settings
Made scroll wheel no longer work on volume sliders and fps slider

Added Language tab
Added language switcher dropdown

Added VSync to Video Settings tab
 - Enabling VSync uncaps FPS
 - VSync preference saves to config
 - Added tooltip

Added fps and current locale to Debug

Removed localisation string for:
SETTINGS.video.vsync.desc

Added localisation strings for:
GENERIC.disabled
GENERIC.enabled
SETTINGS.video.fps.vsync
SETTINGS.video.vsync.disabled.desc
SETTINGS.video.vsync.enabled.desc
SETTINGS.video.vsync.adaptive
SETTINGS.video.vsync.adaptive.desc
SETTINGS.video.vsync.tooltip

15 files changed, +238 -26 lines changedSettings tab.
Title: Language
Contains a dropdown reading "English", with a small down arrow on the far right.Opened language dropdown reading:
ENGLISH
FRENCH | FRANÇAIS
SPANISH | ESPAÑOL
GERMAN | DEUTSCH
ITALIAN | ITALIANO
PORTUGUESE | PORTUGUÊS (BR)
PORTUGUESE | PORTUGUÊS (PT)
RUSSIAN | РУССКИЙ
GREEK | ΕΛΛΗΝΙΚΑ
TURKISH | TÜRKÇE
DANISH | DANSK
NORWEGIAN (NB) | NORSK BOKMÅL
SWEDISH | SVENSKA
DUTCH | NEDERLANDS
POLISH | POLSKI
FINNISH | SUOMI
JAPANESE | 日本語
SIMPLIFIED CHINESE | 简体中文
...
It gets cut off at the bottom
081
Pixel - GameDev @pxlheart.co.uk · 12/06/2025
Typo in this destroyed my reach lmao #indiegamedev is what I meant oupses
050
Pixel - GameDev @pxlheart.co.uk · 10/06/2025
Started chipping away at the Video Settings panel :p And of course, fully savable to config and localisable :D #indiegamdev #godotengine #ui
A section of the settings menu.
Some title text that says "Video Settings".
A button that reads "Reset to defaults".
A dropdown box labelled "Screen Size", with option "Fullscreen Borderless" selected.
A dropdown box labelled "Display", with option "Display" selected.
A HSlider labelled "Max FPS", set to "Unlimited".Same settings section as before, but;
"Screen Size" is now set to "1920x1080".
"Display" now reads "Not in fullscreen mode", and is tinted red.The "Screen Size" dropdown was clicked, showing a PopupMenu containing, "960x540", "1920x1080", "2880x1620", "Fullscreen", and "Fullscreen Borderless" as options.Localisation document showing translation strings for:

SETTINGS.video.title
SETTINGS.video.button
SETTINGS.video.screen_size
SETTINGS.video.screen_size.desc
SETTINGS.video.screen_size.fullscreen
SETTINGS.video.screen_size.fullscreen_borderless
SETTINGS.video.display
SETTINGS.video.display.desc
SETTINGS.video.display.not_fullscreen
SETTINGS.video.fps
SETTINGS.video.fps.desc
SETTINGS.video.fps.unlimited
SETTINGS.video.vsync
SETTINGS.video.vsync.desc
SETTINGS.video.gamma
SETTINGS.video.gamma.desc

Fully localised in English, also incompletely localised in 27 other languages
120
Pixel - GameDev @pxlheart.co.uk · 05/06/2025
This just in: Local idiot codes until 5am. Lives to regret it. #indiegamedev #godotengine #ui
A GitHub commit message, it reads:

PxlHeartDev committed now

Settings menu & Localisation setup
Added Config singleton, allows for easily setting and getting values in the user config file
Added version (indev_0.0.1) to project.godot

Added Control theme for settings
Fixed some mouse filters in the main menu
Added the settings menu settings.tscn and settings.gd
Added inheritable settings_tab.tscn and settings_tab.gd
Added audio settings tab audio.tscn
Added base instantiable volume_slider.tscn and volume_slider.gd
Added volume sliders for the audio busses to audio.tscn
Added settings.tscn to ui_manager.tscn

Made ui_manager.tscn inherit from Control instead of Node
Added show/hide settings menu functions to ui_manager.gd

Renamed some audio busses for ease
Added "Menu_SFX" audio bus
Added "s_escape_pressed" signal to Player.tscn and added appropriate emittance
Made game_ui.tscn hide or show as appropriate on escape pressed
Added functionality to _on_settings() in main_menu.gd

Added Localisation.xlsm to External
Added Localisation.csv to Project
Added translation strings for:
 - Menu buttons
 - Generic strings (Are you sure?, Default*, Yes, No, Confirm)
 - Settings reset & confirmation*
 - Language title and button
 - Audio title and button
 - Audio volume sliders*
 - Audio volume slider descriptions*
 - Audio in/output device*
 - Audio apply blanket LPF*
 - Video title and button
 - Controls title and button
 - Accessibility title and button^
*String is not fully localised in all 28 languages
^Translation is not 101% accurate

Change bus of test_boombox.tscn's AudioStreamPlayer3D

31 files changed. +719, -12 lines changedAn editor preview of the settings menu.
On the left a title reads "MENU.settings", with 6 buttons below it reading "SETTINGS.language.button",  "SETTINGS.audio.button",  "SETTINGS.video.button",  "SETTINGS.controls.button",  "SETTINGS.accessibility.button",  and "MENU.back" respectively.
On the right is another panel with a title "SETTINGS.audio.title", a button that reads "SETTINGS.reset_defaults", and six HSliders that all read "Master"The in-game view of the settings menu.
On the left a title reads "Settings", with 6 buttons below it reading "Language", "Audio", "Video", "Controls", "Accessiblity", and "Back" respectively.
On the right is another panel with a title "Audio Settings", a button that reads "Reset to defaults", and six HSliders that are labelled "Master Volume", "Player Voice Volume", "World Music Volume", "Other Music Volume", "Game SFX Volume", and "Menu SFX Volume" respectively.
A simple game scene can be scene faintly behind the translucent back panel of the settings menu.
A boombox can be seen playing funky tunes.
283
Pixel - GameDev @pxlheart.co.uk · 02/06/2025
He only knows how to play one song #indiegamedev #godotengine #3d #music
A low poly boombox on a blueprint-esque floor
061
Pixel - GameDev @pxlheart.co.uk · 27/05/2025
Oh my goodness it's been yonks since I've posted anything game dev (sorry!) Recently I've been working on putting together a template for myself for first person games, latest on the chopping block was the game UI: Health bar and vignettes! #indiegamedev #godotengine #3d #ui
A test game scene, a ramp and door are visible but most of the frame is a plane into the horizon, the ground has a sample "blueprinty" dimensions measurement texture.
Note the light green health bar in the bottom left and the yellow stamina bar on the bottom right. A crosshair is also visible in the centre of the screen.
No vignette is visible.Same scene as before.
The health bar is now a orangey red, and is around 40% full.
A very subtle red vignette creeps in the corners of the screen.Same scene as before.
Health bar is now a deep red, at around 10%.
A noticeable dark red vignette seeps in the corners and sides of the screen.A GitHub commit message, it reads:

PxlHeartDev commited 7 minutes ago

Health bar

Added a health bar to the game UI to indicate current player health
Added "s_max_changed" signal to Comp_Health
Attached signals between player health component and UI health bar
Added gradient to health bar; green at 100% health, yellow at 75%, orange at 50%, red at 25%, to dark red when close at 0%. Linearly interpolated
Coloured the stamina bar yellow
Added setters to health and max_health in Comp_Health
Comp_Health now emits changed signals in _ready()
Changed how "s_changed" is emitted in Comp_Health, it's now emitted in the setter rather than called in damage(), die(), and full_heal()
Made "injured" and "seriously injured" thresholds into bools in Comp_Health set in the setter, rather than checking each frame
Adjusted threshold for "seriously injured" multiplier
Injured and seriously injured multiplier now also affects jump height
Renamed some variables for clarity relating to the game UI stamina bar
Current player health now dictates the base damage vignette level. Vignette level is interpolated from weak (-1.5) at 50% health to strong (0.5) at 0% health, -1.5 at any health above 50%
Reworked damage flash to now offset from the base vignette level, again derived from health percent
0101
Pixel - GameDev @pxlheart.co.uk · 24/05/2025
Oh so that's what I've been doing when blacked out. #indiegamedev #godotengine
Steam profile overview showing "Godot Engine" at 667 hours played
0111
Pixel - GameDev @pxlheart.co.uk · 13/02/2025
Some pretty neat things going on for my academy game. Procedurally generated ice texture and world (w/ caves) Took a few iterations but I like how spaghetti the caves are. #indiegamedev #gamedev #godotengine #2d #procgen
An image of an early test of procedural world generation.
The sky is a plain solid grey colour.
The ground is made of a procedurally generated ice texture.
Where there _is_ ice, a light blue is used.
Where the isn't ice in the ground, i.e. where there are caves, the blue colour is dimmed and darkened.
Spaghetti-like caves sprawl through the ice, connecting to each other and breaking through the surface too.
0133
Pixel - GameDev @pxlheart.co.uk · 06/02/2025
Did somebody say early version of a dialogue box? #indiegamedev #gamedev #godotengine
A screenshot of the Godot 2D editor.
In the bottom of the screen is a dialogue box with a picture of Dr. Coomer (Half-Life) on the left, with text to the right reading:
"Hellou, Guordoun!
This is a second line, Gordon!
Look Gordon, third line! We can use these for big paragraphs! AAAAHHHH HELP ME!
I'm thirsty!"
Above the dialogue box is two buttons reading "Option 1" and "Option 2".
1152