It's that time again, the new year. Where we're compelled to reflect on the passage of time and that we still haven't magically become the idealistic version of ourselves we dreamed of just 12 months ago.
I personally enjoy annual reviews, I often forget just how much I've done in a year and it makes me feel considerably more accomplished to see it all in one place. So I'm going to subject you to that very process right now!
There have been a few broad themes in my work over 2021. Both 2020 and 2021 ended up focusing a big question: what do I actually want to put my energy towards ongoing? I've learned a lot about web3 and the cultural changes it carries. This in turn lead me to a much deeper interest in generative art, taking me on a whirlwind tour of graphics programming and ultimately leading me to a new web-based toolkit for creative coding and game development. At this point it seems clear to me that The Song of The Fae will likely be the first and last game I make using “mainstream” tools.
I've started a lot of new projects this year and that's actually been somewhat more intentional than usual, because… I will be leaving my full-time job starting early next year to focus on: whatever I want! (makes me wonder how long next year’s review will be with all that extra time…)
Well, that, and freelance work while I work out how I'm going to make money ongoing. I'll tell you about my plans for 2022 but first, let's review what happened this year. As always, I feel like I could have done more but realistically I spend 4 days a week at my day-job and I’m very proud of myself for achieving what I have.
Fair warning, this is a long post and your email client might cut off the end (gmail does this), please read the full article in the browser.
Projects
The Song of The Fae
First up, after almost 3 years Ricky and I shipped our game The Song of The Fae (SoTF for short) into Early Access.
Shipping a game is hard, shipping a game with no budget is harder but shipping a game with no budget in your spare time? That’s impossible mode. I’m incredibly proud of what we’ve achieved so far and excited to see how the game continues to develop. We’ve already shipped 8 patches since the launch in October.
Thanks to our Patreon supporters and those who’ve purchased the game already, your support warms my heart.
View SoTF on Steam - TwoPM on Patreon
fundamental.sh
I started fundamental this year in an effort to give back to the internet programming community that has taught me just about everything I know about code (90% internet 10% university). I’m still getting the hang of technical writing but it’s been a fun learning experience so far.
I’m documenting my personal R&D efforts in the form of UI, games and graphics tutorials for the web. I hope to grow fundamental into a community over time, perhaps even working on courses down the line.
bf.wtf
I bit the bullet and redesigned my personal website this year. I felt like I should show off what I’ve learned recently and I’m very proud of how it came out. It got a huge response on twitter and has lead to some great new professional and personal connections.
Generative Art
I started dabbling in generative art last year, but this year I experimented on hicetnunc, fxhash as well as posting on instagram and are.na.
Games
Ricky and I also released Frogue this year as part of 7DRL 2021.
For the uninitiated, 7DRL is a game jam where you have 7 days to make a Roguelike. These are retro, procedurally generated games that are typically brutally difficult and graphically sparse. Instead of the usual fantasy setting we opted for frogs, gnats and lilypads.
Thanks to aj for the music.
Open Source
I spent a lot of time thinking about web games this year. I’ve grown increasingly frustrated with the popular game making tools, mostly because of their clunky workflows and verbose programming models.
As part of my work on fundamental.sh I’ve developed several libraries for creating 2D/3D games and interactive experiences in the web browser that work on phones, tablets and gaming PCs.
use-control - an input management library supporting keyboard, mouse and gamepad
use-animation - an animation library based on reactive stream programming
use-spritesheet - utilities to parse and render spritesheet animations and pixel art
furo - a global message bus library
Content Creation
I started experimenting with Twitch and YouTube this year, sharing more behind-the-scenes detail of The Song of The Fae’s development. I hope to share even more next year as I slowly conquer my fear of being on camera.
I’ve also been improving my writing consistency. While this newsletter is sporadic, the TwoPM newsletter has become a consistent monthly ritual, along with writing patch notes and tweeting across many different accounts.
Quietly, I am also proud that I’ve organically grown to ~1800 twitter followers at the time of writing. It’s not exactly the big leagues, but the curve seems to be accelerating.
Experiments
While I released a lot this year there was just as much (perhaps more) left on the cutting room floor.
I have made dozens of codesandbox sketches this year, it’s very refreshing to be able to prototype, share and remix small ideas so easily. Shoutout to the team (especially ggsimm).
Despite a working technical implementation and a fairly good pitch, I decided to put slashcommand in the icebox. I still like this idea but I think I may be the wrong person to develop it, I just don’t care about solving this problem enough right now. I thought I would need telemetry tooling for SoTF but in the end I have made do with logging & debugging.
Personal
Going backwards to go forwards has been the prevailing theme for me this year. I’ve been trying to tune in to what I really want, untainted by monetization models and excessive ambition. I’ve realised that, historically, I’ve been too focused on how to earn a living from my creative work, to the detriment of the actual creative process and my enjoyment of it. I think, now, that this was born out of a stubborn need to create stability instead of being comfortable with the unknown.
A confluence of sources helped me here: twitter, generative art, books, podcasts, meditation, Buddhist philosophy and a general boredom with the status quo.
Ultimately I had to put this conclusion together for myself though. Distilling my vague dissatisfaction into a concrete direction would have been impossible without a writing habit. I haven’t been especially consistent all year but I would say I write ~1000-1500 words of reflection on about 75% of my days. This would also be impossible without Roam Research, my home for all my ramblings.
Rethinking your perspective is difficult, it feels like you’ve wasted time looking at things the wrong way. But it’s an illusion, we’re always starting from scratch, each and every day. Beginner’s mind is where innovation is found.
It’s possible to stop questioning and demanding answers from reality. Who are you? It’s not to be answered. Pay close attention and find out.
Meditation and Mindfulness
My meditation practice has been a little less consistent than previous years. I’m not entirely sure why, it seems to come in waves these days. After almost 5 years of daily practice I have learned not to beat myself up about consistency.
I dug deeper into Zen and Tibetan Buddhism this year, watching hours of talks from the Dalai Lama and other Zen / Dzogchen masters and taking copious notes. I still don’t call myself a Buddhist, but I have glimpsed a truly mind-blowing perspective from these schools. I can only hope to spend more time seeing things that way ongoing.
I consistently find meditation and the study of conscious experience to be the most rewarding use of my time.
New and Renewed Interests
Along with getting nerdy about Buddhism, I’ve found myself studying and thinking deeply on many topics (some new, some old):
Mathematics
Functional Programming
Perceptual Control Theory
Diet and Nutrition
Networking and Queuing Theory
Tools for Thought
Conceptual Design of Software
Game Design
Language and Grammar
Cryptocurrency
Economics and Finance
Quantum Physics
Demoscene Culture
The Creative Process
Psychology
Human Connection
The best books I’ve read this year:
My favourite podcasts:
Favourite Youtubers:
Inspiring Artists:
Best Twitter follows:
Mental Health & Wellbeing
I continued tracking my “life stats” in Airtable this year and built out a basic dashboard using their new interface designer tools. I’ve included a snapshot here, but the full dataset is a little too personal to share.
I track how I feel about many aspects of my life each week, including:
Mental Health
Meditation Practice
Relationships
Diet
Exercise
Personal Projects
Programming
Learning
I continue to find this weekly tracking very useful. It keeps things in perspective and shows me exactly how short the half-life of both good and bad moods can be.
Fitness & Gym
2021 marked a return to strength training for me, I spent 2020 focusing on calisthenics and mobility and then tried to blend the two this year. As of writing I’ve made it back to 5x100kg squat and 5x160kg deadlift. I stopped training benchpress after injuring my shoulder last year and have stuck to dumbbells and body weight pushing since. Handstands and handstand pushups have become somewhat of a mainstay in my training.
I’m still making painstakingly slow progress towards the one-arm chin-up… Maybe next year?
Looking Forward
I am excited to see what I can come up with next year as I move into freelancing and funemployment. More graphics, more web and more boundary pushing games & software. I am asking myself what the projects that only I can make are, and I am slowly getting answers.
Quite frankly I have become bored with the state of indie games and gaming in general. I can't shake the feeling that the pattern of collecting wishlists and paying upfront for a game is old-world. I miss playing freeware indie games on forums in 2008 and I see a new wave of creators on itch.io rekindling that spirit.
I personally have become more and more inspired by games like Caves of Qud and Dwarf Fortress. These are massive undertakings to be certain, but my admiration comes from the sheer novelty these games provide. I want to make games, software and digital art that feel familiar while being totally unlike anything you've seen before.
I aspire to follow the ideas I think are personally interesting and I want to pursue them unencumbered by "corporate bullshit" activities. I do not know how I will monetize future projects but I expect to share many open source and freeware experiments along the way. I want to focus on what I love, combining human imagination with software, and I want to invite you to join me.
Follow on twitter for development updates, on twitch for livestreams, on youtube for monthly devlogs and talks, on fundamental.sh for programming tutorials and of course on this very newsletter for my candid personal thoughts.
That's all to say that I'm setting one simple intention for the next year: make computers fun again.
✌️ ben