Resource Quest - An Unconventional Use of the React Framework  [draft]

Building a clicker game with React It’s really easy to make a big ball of mud in JavaScript. You start with a simple loop. You want your program to do A, B, then C. Great. But then you realize you also want D, E, F, G, H, and I. Before you realize it, you have dozens of functions spanning hundreds of lines with no clear structure. So you try to create structure after the fact....

March 7, 2018

Canvas Gamepad Support

Today, I’m adding controller support to Centipede. (See the first controller commit.) Controls Code Cleanup First, the location of the controls currently doesn’t make a lot of sense, so I’m moving them to a new file, controls.js. On load, controls.addEventListeners will execute. There are no dependencies, so the script load order doesn’t matter. Previously these were on the gameArea object because that’s where the keys tracker was stored, but the keys tracker can just live in the controls object....

March 6, 2018

Adding That Falling Bug to Centipede

Session Planning Back to centipede! Adding that falling bug creature. It should be pretty much exactly like the worm, only moving vertically, and will create mushrooms in its wake. Rename the worm object to something else like simple-interval-creature (is that a horrible name?). This could be combined with spider as well, with an if statement on the type to change the shape and movement functions. Session Post Flies are in!...

March 5, 2018

I'm an Indie Game Developer

Can I say that? Does it make people think I’ll never focus or settle? Are they sighing and looking at me with frustration and thinking “Not this again?” Does it matter what they think? Answer to all: maybe. I have half a dozen self-published, unfinished games that nobody plays up on a free hosting site. They aren’t very good. Three of them are really poor copies of some of the best games of all time....

February 26, 2018

Roll Your Own Name Generator with QPython3 on an Android Device

Welcome to the first of a multi-part series of tutorials on how to develop, source control, and run scripts to control your Android device, using only mobile apps for development. Dev On the Go I recently went on a road trip, and wanted to experiment with a mobile-only workflow. The main components I needed were an interpreter, an IDE, and source control. The suite of apps I discovered and used are as follows: QPython3 (a python IDE and script runner) SGit (source control) LabCoat (GitLab repository viewer) Dropbox (ad-hoc, easy-access file storage) Dropsync (one- or two-way sync between directories on your mobile device) Epsilon Notes (a markdown editor and renderer) In this tutorial, I will cover my experience with QPython3....

October 3, 2017

Installing Terrarium: An Open Source Terraria Clone

Earlier today, I thought: “Man, Terraria sure is a great game. I should make a clone.” Then later today, I thought: “Wait, somebody probably already did that.” And, lo! An open source Terraria clone: Terrarium! But man, I have to install so many dependencies. This kind of thing is a drag. I just want to try it out. Fortunately, the instructions were pretty good. Following the instructions in BUILDING.md, first I installed MinGW and Allegro....

September 23, 2017

Building a Single User Dungeon With Java: The Knights of Something Notable

I wanted to get my hands dirty while making something fun. I LOVE text adventure RPGs, and I LOVE MUDs, so I’m attempting to build a cross between the two: a Single User Dungeon (SUD). A few notes on code quality Most of this code is pretty rough. I was mostly trying things until they worked and reflecting on what went well and what didn’t. I do love that git captures this process for me....

January 2, 2017