joel.netJavaScript and Type Narrowing MagicType Narrowing allows the IDE (development environment) to narrow down the object type, from a union type, to a more specific type. Bullsh*t Example In this bullsh*t example, value is the union type string | number, meaning it can either be a string ...Apr 16, 2025路3 min read
joel.netFirst Beta of My Indie Game Dungeon Sweeper: A Knights AdventureThere is still a lot of work to be done, but I finally have something "playable" 馃敟 I would describe it as a mashup of Mine Sweeper and a rogue-like dungeon crawler RPG. That's right! The first playable demo is up! The game is still in active develo...Apr 25, 2023路1 min read
joel.netCreating a TypeWriter Effect in Phaser.js v3I recently added some dialog options for my indie game, Dungeon Sweeper: A Knights Adventure and wanted to create a TypeWriter effect for the dialog text. This technique works well for monospaced fonts and may not work for variable-width fonts. Fail...Apr 24, 2023路2 min read
joel.netDungeon Sweeper: A Knight's Adventure -- devlog 004TL;DR: I discuss adding intuitive features, dealing with Phaser quirks such as a tween memory leak and scaling issues, managing screen size, and creating an executable for a demo. I express my struggle with the less enjoyable parts of game developmen...Apr 20, 2023路6 min read
joel.netDungeon Sweep: Knight -- devlog 004It's starting to feel like a real game! Ok. It's still in the "prototype" phase. The gameplay basics are there, but it's still not ready for a demo. Maybe next week? If you are looking for a Demo, hit me up on my Twitter! UI Updates I am liking the l...Mar 6, 2023路3 min read