RSSAmplifier

Blog

Ryan Kubik's Blog

I make video games, usually with JavaScript! I write here about things I learn during that process.

ryankubik.comRSS feed ↗80 posts

Latest posts

StretchText

Code by Charles Petzold

"Offset" constants are confusing

Cognitive overload in Drop Duchy and trade offs in design decisions

What I Read in 2024

What I Played in 2024

UFO 50

My Portland Recommendations

What I Played in 2023

What I Read in 2023

Hide YouTube Shorts Userscript

2023 Mid Year Fav Games Check-in

Reduce Entries: Array Utility Function

Hide Elements Over Games on Itch.io with Tampermonkey

Add a Spoiler Tag with Alpine.js

What I Read in 2022

What I played in 2021

10 Games That Influenced My Tastes

Remove Duplicates: Array Utility Function

JS13k 2021: Rocket Jockey Postmortem

Some lessons I learned building Rocket Jockey in 13kb for JS13k 2021.

useKeyPress: Respond to user key presses in React

How to respond to user key presses in React with useEffect and document.addEventListener.

Force date to a given time zone

Slipways Ranked Run: Week #6

What I learned from my Slipways ranked run from week #6.

What branch was I working on last?

What I played in 2020

Bose QC35 II: Fix Static Issue, Reinstall Firmware, and a Short Review

Don't Mix React Synthetic Events with Native DOM Events

Using Design Pillars to Keep Wildfire Swap's Development on Track

Clean up your Twitter Experience with TamperMonkey

Wildfire Swap March 2020 Newsletter

Scale and Center Pixel Art on the Command Line

Wildfire Swap February 2020 Newsletter

Wildfire Swap January 2020 Newsletter

A review of 2019 and a plan for 2020

Wildfire Swap: A puzzle game inspired by fires in the Pacific Northwest

My first time experience with wildfires after moving to the PNW.

Testing for a Race Condition in Async/Await Code

Showcase Season Retrospective: Wildfire Swap at SIX & XOXO 2019

🎣 useRefState Hook - Access state outside of a component

All the Indie Puzzle Games at PAX West 2019

Accessibility for Games - A Jumping Off Point

Using the Regex Global Flag with Test

When was this file added to version control?

Host a simple local web server using http-server

Create a Custom ESLint Rule: Automatically Share Your Team's Institutional Knowledge

How to Resize Pixel Art on the Command Line

Deliberate Game Jamming: A Global Game Jam 2019 Retrospective

A Personal Retrospective for 2018 and a Goal for 2019

Using Jest with Parcel Bundler

Cascadia.js Day Two Notes

Cascadia.js Day One Notes