Progress Update May 2018

Works in Progress Please see my portfolio for videos and published demos. I focus mainly on the core logic of the game engine, since that’s my primary area of interest/experience. These are my works in progress. I would consider Centipede feature complete, but there are open issues (both enhancements and …

Game Dev Session – Stabilizing Tests for Karma Coverage

Loading the canvas libs Now that Karma is all wired up, I can start poking at the tests. The first problem I need to fix involves canvas-libs. knobsAndLevers uses the supporting object in canvas-libs to set a randomized initial spawn interval for the creatures. The usage is: this.spider.initialInterval = supporting.getRandom(this.spider.interval.min, …

Game Dev Session – Twinstick Firing in Robotron

Planning More gamepad updates today. This time, specifically for Robotron. I plan to integrate the controls pausing and twinstick shooting. Pause updates Updated pause to handle both spacebar and the + key. I should probably find an XBox controller and see if the indices of those buttons are the same …

Game Dev Session – Gamepad Controls Library Updates

Updating the gamepad library Today, I’m focusing on the controls library. Goal: add right stick capturing without breaking Centipede or Robotron. Robotron needs the right stick to handle firing. I could just leave controls.js alone and update it’s functionality in the game itself, like this: var theControls = controls; Then …

Game Dev Session – Fly Droppings and Pausing

Demo Planning Adding: mushroom drops to the fly creature, and pause toggling with the gamepad. Fly Droppings Added mushroom generation to the falling bugs (the flies). This was straightforward. First, I set up an interval, and added a new function to intervalCreatures: dropMushrooms. dropMushrooms(creature) { if (creature != ‘flies’ || …

Claire: Extended Cut

It starts out deliciously creepy. Every kid’s afraid of that thing in the shadowy corner in the middle of the night. So they huddle under the covers and pretend it’s not there but they know it’s there. When the game asked me to choose between call for Mom and Dad, …

Game Dev Session – Completed Canvas Gamepad Movement

Planning Yesterday, I left off with the gamepad controls working, but only in a way that basically broke all of the challenge of the game. The change allowed the player to move outside the defined player boundaries, which meant they could shoot from below the canvas with impunity. Hurray! Today, …

Game Dev Session – 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 …

Game Dev Session – 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 …

Thoughts on Multiplayer and Matchmaking

Thoughts on Multiplayer and Matchmaking More streamlined matchmaking equals a less meaningful social experience. Matchmaking allows for a much higher number of unique inputs, but many games that use it lack any meaningful social aspect, since there’s no actual teamwork required. There’s no real strategy, just general patterns to follow. …

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 …

Ready, Set, Flail

My Origin Story I started my career as a student. Spoiler: I’m still a student. I didn’t know what I wanted. OK, I knew I wanted to just play games, eat pizza, and drink mountain dew all day. But none of that was going to get me anywhere except diabetic. …

Hosting Multiple WordPress Sites on a Single Server With NGINX

Table of Contents Required Packages Installing WordPress Setting Up the Database Setting Up NGINX (Your Traffic Controller) Nginx basic file architecture Install and Test NGINX Modifying the Default Site Settings Mapping Your WordPress Install to Your NGINX Server Troubleshooting: PHP Processing Errors Troubleshooting: Possible Missing Packages Setting Up DNS (Domain …

My Task Workflow

I love my productivity apps. I like to experience all the things. There’s a lot of redundancy, and not much automated information flow, but I’ve developed a system that helps me internalize where a particular type of information is stored, so I can find it when I need it. The …

Hosting Node.js and Express App on Heroku

I’ve been checking Node.js out lately, and thought I’d share a quick Hello World using the Jade templating engine. Get Node set up From your terminal: cd /tmp wget http://nodejs.org/dist/v6.9.2/node-v6.9.2-linux-x64.tar.gz tar xvfz node-v6.9.2-linux-x64.tar.gz mkdir -p /usr/local/nodejs mv node-v6.9.2-linux-x64/* /usr/local/nodejs Then add this to your ~/.bashrc: export PATH=$PATH:/usr/local/nodejs/bin Don’t forget to …

Hosting Your Django App on Heroku

  Heroku is a fantastic service that lets you get your app on the web quickly, for free (with the base model). If you followed my previous post Django, A Framework for Python Web Apps, then you already have most of the tools you need to publish your work on the …

More Nuts and Bolts of a Django App

In Django Hello World! we verified the Python installation, got Django installed, and output ‘Hello World!’ from the Python shell. Next up: running a Django web page on a local server!   Primary Django Web Page Components urls.py views.py models.py template.html settings.py URLs and Views At a minimum, we need to …

Django, A Framework for Python Web Apps

This tutorial is intended as a quick setup guide, designed to get you started as quickly as possible. I’ve found the best way to learn is to jump in and get your hands dirty. Then when you read the documentation, there’s context  behind it, and it sticks a little better. …