How to Solve Slide Puzzles I've always enjoyed playing sliding tile puzzles and I've always been able to eventually solve them, but most of the time I had no real understanding of how I solved them. The game is simple enough so that when a 4 and a 3 are out
Enabling COORS/COERS on an Apache Web Server (and itch.io) After exporting a web build of a Godot 4 game (Slide Puzzle) and uploading it to my Dreamhost (Apache) server, I received the following error when I browsed to the game URL: Error The following features required to run Godot projects on the Web are missing: Cross Origin Isolation -
movies Radius (2017): B+ I found a hidden sci-fi gem on Prime Video: the movie Radius from 2017. The premise is that a man wakes up from a car accident with amnesia and an terrible involuntary power: any living thing that gets within a certain radius of him dies instantly and collapses on the
movies Extraction 2: C+ Before watching Extraction 2 I wondered if I should refresh my memory by rewatching the first film. I decided against it because firstly I do remember thinking it was fairly average at the time and secondly being unable to remember almost anything about it indicates I won't get
Checking Out Godot V4 Every few years I start thinking that maybe it's time to release the struggle of maintaining my own game framework (Plasmacore) and just embrace a mainstream game engine. Those thoughts came up again as I've been learning Vulkan and implementing a Vulkan renderer for my next-gen
tv Motherland: Fort Salem (B+,B+,D) The first two seasons of Motherland: Fort Salem are taut, gritty, and compelling. The show has high stakes, a serious tone, and welcome emotional depth as we follow the lives of the three main-character cadets and watch as their initial hang-ups and interpersonal conflicts give way to the esprit de
Why I Prefer Tracing Garbage Collection Over ARC I started rewriting my Rogue [https://github.com/AbePralle/Rogue] language compiler from scratch. Rogue is evolved from a series of earlier languages, so this is approximately the sixth full iteration of that compiler, with each version programmed using the compiler from the previous iteration. Rogue v2 is being programmed
Randomized Permutations Without Lists I'm writing a new interpreted language called Boss. It has Roguelike syntax and in fact the general idea is for it to be a version of Rogue [https://github.com/AbePralle/Rogue] that doesn't require a C++ compiler or development environment. As I go I'
game Exploring Vampyre Hunter (C64) I've been slowly reading all the old COMPUTE!'s Gazette [https://archive.org/details/compute-gazette?&sort=date] Commodore 64 magazines on my iPad Pro with its magazine-sized display. Magazines like CG were a great source of news and budget software, with each issue offering a number
Wordle Buddy I've just released Wordle Buddy, a solver for the popular Wordle [https://powerlanguage.co.uk/wordle/] puzzle game, as a console app for macOS, Windows, and Linux. It also includes a local game mode (no need to wait for a full day!), with or without the solver, and
Game Boy Sound Manipulator I've updated my Game Boy Sound Manipulator [https://github.com/AbePralle/GameBoySoundManipulator] tool, last updated in 2020, to work with the latest version of the RGBDS [https://rgbds.gbdev.io] Game Boy assembler. GitHub - AbePralle/GameBoySoundManipulator: A GameBoy/GBC ROM that provides on-device/on-emulator sound parameter editingA
FGB Source Code Published The full source code to the Game Boy Color game "FGB", developed by Abe Pralle and Jacob Stevens in 2000, is now available! GitHub - AbePralle/FGB: The full project source for FGB, a weird and wonderful action odyssey for Game Boy Color.The full project source for
Command Line Install of Android SDK [macOS] Here's how to install the Android SDK and command line tools entirely from the command line. Mostly follow the steps in this excellent blog [https://proandroiddev.com/how-to-setup-android-sdk-without-android-studio-6d60d0f2812a] with a few tweaks as follows. How to setup Android SDK without Android Studio.Easily setup Android SDK using Android
State Machine Syntax in Rogue I've added state machine convenience syntax to Rogue [https://github.com/AbePralle/Rogue] for the upcoming v1.11 release. Here's a preview! Stoplight State Machine Consider this toy Stoplight state machine. There are three states, RED, GREEN, and YELLOW. The only input is an ADVANCE signal.
Writing a Simple C++ Transpiler Using Froley I recently heard about Hashnode [https://hashnode.com] and just published my first blog [https://programbling.hashnode.dev/writing-a-simple-cpp-transpiler-using-froley] on there! It's a tutorial for using the new V3 release of my compiler development tool called Froley [https://github.com/AbePralle/Froley]. Check it out! Writing a Simple
Women in Tech: Anne Bergeron Here's a neat-looking game, Mimi the Ant, and the story of the woman who designed and programmed it. From COMPUTE!'s Gazette April 1985.
Women in Tech: Marion Taylor I've been slowly skimming through the complete digital archive of COMPUTE!'s Gazette [https://archive.org/details/compute-gazette?&sort=date], a magazine for Commodore 64 users that was popular in the 80's, and I enjoyed reading this article from Issue #7 in 1984. It&
Pointers and References in C++ Overview This article explains the concepts of C/C++ pointers and C++ references. It is aimed at experienced programmers who are not fully familiar with these concepts. Value Types Versus Reference Types In Java all primitives are value types and all objects are reference types (AKA pointer types). An int
Retrospective: .info Magazine Back in the Day Computer and video game magazines are a primary source of nostalgia for me. As a small-town, pre-Internet kid they were my primary window into a wide world of innovation and possibility - and yes, into the world of video games that I loved. In addition each
godot The Godot Game Engine, Custom UI Widgets, and a Cool Fantasy Map Maker Today I learned about the Godot Game Engine. It looks pretty neat: https://godotengine.org I was checking out this 2019 game highlight reel: and I noticed this cool fantasy map maker called Wonderdraft: Wonderdraftis an intuitive yet powerful fantasy map creation tool for 64-bit Windows 10, Linux, and MacOSX.
rogue The Return of caseNext Rogue has a conditional called which [https://github.com/AbePralle/Rogue/wiki/which] that is analogous to C's switch conditional. It has the added perks of allowing any kind of expression (not just literal integers), allowing multiple expressions to match a single case, and the arguable improvement of
Lines 98: Discovering a Classic This is an overview and analysis of the classic puzzle game Lines and its many clones, most of which use the name Lines 98. Never heard of it? Neither had I until recently!
rogue 2D light and shadow using offscreen rendering Shadows are drawn first in white and then lights are drawn in black. Once we switch to the custom shader, the grayscale value of each pixel becomes the alpha value of a black pixel that will be drawn on top of the background.
Implicit forEach Loops in Rogue A few weeks ago I added a new forEach variation to Rogue that I've been finding very useful: an implicit forEach. Fairly often I need a simple forEach loop that just does one thing with each item in a list, for example either adding it to a result
Rogue Hex String Bytes I wanted to embed the raw bytes of a certain file - the PNG image of the Plasmacore system font - in a Rogue source file. It's always been a bit cumbersome to generate literal byte arrays in C++, so I came up with something better for Rogue