Recent snippets Explore
First-person headbobbing
darkcanopy
Headbobbing in first person in a horizontal figure 8
Taking a screenshot without freezing
darkcanopy
A screenshot function done on a separate thread so your game can save screenshots without lag
Plaintext config
darkcanopy
.ini plaintext config file players can modify
First-person camera controls
darkcanopy
first person FPS camera controls using Basis with mouse sensitivity split into X and Y axis
Resource Deferred Loader
Casual Garage Coder
A script to dynamically load resources in background
3D Blob Shadow
Gamma
A rigid shadow that helps shows your player's position, no shader required!
Easy Sound Effects
Gamma
A simple node + resource to play sound effects from code
ALT-Enter fullscreen toggle
zegenie
Make your game fullscreen toggleable by reacting to ALT+Enter
Basic Flocking (GPU Version)
Casual Garage Coder
Flocks of boids with basic behavior with basic obstacle avoidance
Serializable class
petit-suisse
Class allowing to save typed variables in json text or bin formats
Recent shaders Explore
spatial
Texture-based rim lighting
darkcanopy
Rim lighting that has a texture for an object but also rim lighting to 'highlight' it.
Cubic Bezier Curve Mesh Deformation
Casual Garage Coder
Specialized shader that deforms a mesh based on a cubic Bézier curve.
Color by Instance
Casual Garage Coder
Simple colorization by instance identifier
Greyscale Shader WITH modulate
Saltlight Studio
This is a somewhat simple shader for greyscaling sprites, except with modulate and self-modulate still working
spatial
Procedural Slash
Ali
A shader effect for procedurally creating sword slashes and the like.
spatial
3D Anime flame
Casual Garage Coder
A shader that creates a magical anime fire effect
Canvas item
Palette swap
Pixel
A shader that swaps colors
Canvas item
Simple quantization
Pixel
Reduces the range of possible colours a pixel can take
Recent articles Explore
Smoothing with expDecay instead of lerp()
darkcanopy
Many developers use lerp() in a way that is not frame rate independent. Learn how to use expDecay as an alternative.
Basic state machine
PapaPandaGames
This article shows you how to implement a basic state machine in GDScript.
A glance at Compute Shaders
Casual Garage Coder
Compute shader is a great way to use all the advantage of GPU, but one need to harness that power.
Stochastic L-System Resource
Casual Garage Coder
Procedural generation could make a good use of L-System. Let's dive into it.
Publish your game on Linux with Flathub
Casual Garage Coder
Flathub is a great publication platform for Linux applications. Here is an introduction to how you can publish your game using Flathub.
Set a project-wide custom theme
Bee
Save yourself the trouble of having dozens of manually specified themes and LabelSettings resources scattered across your project.