Reset Hard is in active development; more details will be incoming throughout September. Interested in learning more about Reset Hard? Want to follow up about something in this article? Want to get notified when demos are available? Visit the site, or come chat with me directly on Discord!

Prototype game footage

Some philosophy

Reset Hard’s approach to modding is informed by four design…


Interested in learning more about Reset Hard? Want to follow up about something in this article? Visit the site or come chat with me directly on Discord!

In Reset Hard, I eschew tricks and clever programming in favor of direct, honest systems.

Tactical Time Travel

The gameplay is based around that amazing feeling you get when a new idea or concept clicks and you start thinking about all of the crazy things you can do with it. …


This story has been reformatted and condensed so that it reads better on Medium. You can find the (much longer) version on my personal blog. Still too long for your taste? Skip directly to the demo!

In Chrome 66 for desktop Google announced a new policy around how the browser plays audio, blocking autoplay for video and audio content when pages are initially loaded. Pages are still able to play video and audio, but only after a user gesture has occurred.

Not all pages have their audio blocked. Chrome ships with a global whitelist of over 1000 sites which are…


Just want to see the project? Check it out at https://piglet-plays.gitlab.io/ludum-dare-41/

Over the weekend I participated in Ludum Dare 41.

If you don’t know, Ludum Dare is a game jam that takes place over 48–72 hours where teams and individuals attempt to make a game from scratch based on a theme they’ve just been told. It’s a pretty casual affair meant more for personal development than for prizes or competition.

Game Jams and Hackathons are opportunities to try new things and aggressively experiment in a controlled environment. Some of those experiments work, and some of them don’t, but the process is often more important than the result.

I’ve been pretty busy…


Neurons, Credit https://www.maxpixel.net/Brain-Cells-Neurons-Brain-Structure-Nachahmnung-877577

It’s an uncomfortable and sometimes under-discussed fact right now that a lot of the highest-profile products relying on AI are terrible.

Using AI for moderation has largely turned out to be a bust. Many users prefer chronologically sorted feeds over attempts to sort for engagement. There’s decent evidence that targeted ads are less effective than companies like Facebook and Google claim. And Youtube still hasn’t figured out how to filter videos in recommendations that belong to playlists.

AI was sold to consumers and businesses with the promise of transparent, seamless, objective results. …


The following post has been adapted for Medium from my personal blog.

When I started rewriting the build process for my website, one of my goals was to have a comprehensive set of integration tests and browser tests, meaning tests that would literally run in a real web browser.

As with testing in general, the theory behind controlling a browser is often presented as something arcane or difficult to learn. But it’s a lot more straightforward than you might expect.

TLDR Summary

  • launching a browser (preferably one that’s headless)
  • communicating with that…


On Friday, March 16th, I’ll be leaving my job as a software engineer at Oracle CEGBU in order to try my hand at self employment.

I’ve been working with Oracle for just over three years now, so moving jobs isn’t necessarily a surprising or unusual decision in itself. However, my choice not to immediately start working at another company was more difficult for me to make.

I’ve been researching and planning for this decision for almost a full year, and I have a number of projects lined up that I’ll be starting to monetize over the next several months. …


‘Transition’ image showing overlays of start to finished drawing

Things are made out of other things.

This can be a difficult lesson for new illustrators to learn. Ostensibly, drawing is about representing the world as it appears. The underlying mechanics, hidden or obscured portions of your artwork — these should be of no concern.

In practice however, breaking apart an illustration into its modular building blocks is often the only way to enforce a sense of internal consistency and to avoid pitfalls where a drawing ends up “feeling” wrong.

This is especially true for organic subjects like humans and other animals.


You’ve probably heard people talk about Unit Testing before — that it’s an amazing thing, that it reduces bugs, that you should include it in all of your projects. And it’s possible you’ve been interested, but have looked at libraries like QUnit or Mocha and felt ever so slightly intimidated.

The good news is that if you’re already writing Javascript, it’s not unlikely that you’ve already done some forms of testing. Javascript lends itself to the concept so well that many developers stumble across unautomated unit tests completely on their own.

In this post, we’ll walk through the theory of…


Distilled is a young, unvetted library, hardly ready to be used in production development. If you have input, please provide it; I am eager and hungry for your perspective and suggestions.

Distilled logo

Distilled is an aggressively elegant Javascript testing library, built to be highly extensible while remaining conceptually simple. At first glance it may seem weird that this library exists, because if you want to do unit testing in Javascript, you already have some options.

However even with a rich ecosystem already in place, Distilled was built out of necessity, and I want to take a moment to talk about what…

Daniel Shumway

I build things on the Internet and write about them here. Learn more at danshumway.com. Want me to write more? Help fund my salary at patreon.com/danshumway.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store