RSSAmplifier

Blog

MoonBench

/RSS feed ↗10 posts

Latest posts

1-Bit Pixel Art Font Editor

In my previous post about Tiny Fonts for Tiny Screens , I manually created the example images by hand in Aesprite. Creating those example images allowed me to explore the font designs, but it was incredibly labor intensive. I'm lucky to have finished without a repetitive strain injury. Worse yet, the fonts I created couldn't be easily exported for use on embedded projects without going through the…

Event-Based Finite State Machines in Rust

While researching for other projects I've come across a number of different approaches to creating state machines in Rust. This post is an example of my favorite pattern for an event-driven state machine implementation that produces clear and maintainable code. The Pattern The pattern consists of a few components: A struct that acts as the machine itself, A state trait and several states An enum…

Investigating missing weather station data with SDR

This documents my investigation into some recently missing data from our home weather station, and some lessons learned. The Missing Data I picked up this "MaxKon" branded weather station almost two years ago. It came with an outdoor unit that contained an anemometer, wind direction sensor, rainfall gauge, solar panel, and a pressure/temperature/humidity sensors. It also has an indoor unit that…

1-Bit Pixel Art Concepts for Tiny OLED Screens

This is a gallery of images designed for the inexpensive SSD1306 OLED display modules that are common these days. There are a few different modules that share the SSD1306 driver. The most common variety is the 128x64 monochrome screen, but there are also narrow 123x32 versions, and a second version of the larger 128x64 screen that has a different color along the top 16 pixels. There are similar…

Terminal Ballistics - Part 2

Building upon my ongoing 3D project by adding new vehicle types, quality of life improvements, and updated graphics and HUD styles. Note: This post expands on the work from several previous posts: Part 1 Part 2 Part 3 Adding a new vehicle Revisiting the vehicle type from my first 3D game , an eight-wheeled vehicle is added here. It has a style that is similar to the tank vehicle, and is also using…

Terminal Ballistics - Part 1

In this update, we polish the "untitled tank game" from the previous few posts, and give it a proper title: Terminal Ballistics. To move the development along, several new features are added here which I have been planning to attempt ever since my first 3D game . Note: This post expands on the work from two previous posts: [ Part 1 , Part 2 ] Demo: The demo is available on Itch.io as Terminal…

Untitled Tank Game - Part 2

Development on my untitled tank game continues in this post. This time, the first NPC vehicle AIs are created, and now vehicle and terrain models are created in Blender and imported into Godot. Note: This builds upon the work from the previous post . Basic Enemy AI Using the newly added ballistic solutions code (from the previous post), it's possible to have NPC tanks aim at, and then shoot at,…

Untitled Tank Game - Part 1

The goal of this project is to take the experience I gained from my 3D Godot 3 vehicle prototype , and apply those lessons - along with my experience since then - towards making an improved version in Godot 4. I want to make something that looks better, feels better, is more fun, performs better, and solves some of the problems I was unable to solve last time. Specifically, I want to develop a…

2D Top-Down Vehicle Physics

This is a project about modeling some of the forces of land vehicles, in 2D. The mechanisms here are entirely physics-based with an attempt at replicating realistic modeling of weight, torque, friction, air resistance, etc. Note: This project was posted twice on the Godot subreddit: A physics-based 2D vehicle model with wheel forces, and now skidding! Experiments with RigidBody2D vehicles.…

Open-Source 2D Train Project (Godot 3.5)

Since putting together Littletown Journey , I've kept working on improved locomotive/railroad network and physics logic. This is an implementation I came up with that feels abstract enough to be useful in other people's projects, so I'd like to share it. How it works This is built on top of Path2D and PathFollower2D nodes. Tracks A developer working in Godot with this code, can add Track or…