Reflecting on 2021Refocusing in 2022
Last year was very productive for me. S.E.A. received a year of expansive post-jam updates. E.X.O. was one of ten excellent submissions to No Video Jam 2. And I created Wurmus, Chimera, and Bladius for various jams.
Changelog: RedesignIt's been a while!
Today I tackled the impossible task of redesigning this site. I haven’t kept up with sharing updates here lately despite great news like several updates for S.E.A. and a new game release!
My goal with this change is to better showcase my games, with a better publishing process for whenever there’s something to share. Eventually I would like to import all of my itch.io devlogs to bring the archives to date.
Please join me on the shiftBacktick Discord server on Sunday, June 20, to ask me anything about my game S.E.A.
Introducing syngenA library for audio game development
Over the past year I’ve used web technologies to create audio games like soundStrider and participate in numerous game jams. With syngen I’m releasing my tools as open-source so folks can join me in crafting dynamic audio experiences and games for the web. Continue reading to dive into its features, view example code, and learn more about its future.
No Video Jam postmortemWhat I learned from hosting an audio gam jam without graphics
Last month it was my pleasure to host the No Video Jam, an audio game jam featuring accessible games without graphics. In two weeks dozens of developers created 20 games that were accessible to gamers who are blind. We had a variety of submissions, from action games to interactive fiction, that surprised and delighted. Continue reading to learn more about how it went and the lessons I learned from organizing my first jam.
Announcing the No Video JamAn audio game jam without graphics
Please join us on Friday, August 14, for the No Video Jam, an audio game jam featuring accessible games without graphics. Participants will create blind-friendly games of any genre using audio and accessible text. Submissions will then be judged by the public based on criteria like accessibility, fun, originality, and sound.
Since I began making audio games I’ve learned that it’s a niche and neglected market. Gamers who are blind often feel isolated from the mainstream gaming community and have few games made specifically for them. My hope with organizing this jam is to give them visibility by normalizing audio games with sighted developers and gamers. Then when it’s over they’ll have more games in their canon to enjoy and discuss.
I’m looking forward to hearing what everyone creates!
Hello SabbaticalA new start
Recently my position at my workplace was eliminated.
Honestly? It was the best worst news. What was destined to be a difficult decision—taking a year off to pursue my passions—was made for me, albeit slightly prematurely.
A Day With PythonWhere have you been all my life?
Today I installed Python for the first time.
Whenever I learn something new I like to stay motivated with a small project. A friend and data engineer told me that Python excels at crunching numbers—and lately I’ve been quite a Numberphile—so I built a small library for generating my favorite OEIS integer sequences. When I encounter exciting sequences in the future they’ll surely get added.
You can explore the result at this GitHub repository.
Web PerformanceAn empathetic pitch
Unlimited data and processing power is a privilege.
Ignoring this privilege adversely affects: user experience because true performance is the foundation of perceived performance; accessibility because every requirement for a baseline experience is exclusionary; the economy as long as our users are paying for each web request with their labor; and the environment because every web request has material costs.
It’s easy to forget that the web is for all people. So it’s a moral imperative to prioritize performance when we develop for the web.
Lazily Lazy LoadingCrafting a lazy loader for lazy folks
Lazy loading is one of the best accessibility wins available to front-end developers. By deferring the loading of assets until we need them, we save our users’ data—and consequently their money. For folks who pay disproportionately more for their data, this can be invaluable.
In this tutorial we will craft a lazy loader that can be deployed with minimal effort on any site. Because we’re lazy folks. So we’ll leverage the MutationObserver and IntersectionObserver interfaces to lazily lazy load lazy-loadable elements whenever they’re added to the DOM.
Please feel free to skip to the result at this GitHub repository.
Changelog: NowA new page appears!
I was inspired by nownownow.com to create my own now page.
Essentially it’s the latest snapshot of my life. It’s a place for me to be purposeful and transparent with my priorities. It’s where you can find a quick update if we haven’t connected recently.
I needed a page that could be easily edited, so there were no major code changes. There’s a lot to unpack from that. I’d love to write more about the thinking and technology that went into building the site in later posts.