I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
ajazz.

i forgot programming was fun

Aug 02 2024

technology

there's a reason i learned how to do this at 13, i guess

A tiny sprite of a fantasy hero on a large teal background.

i’ve long been wanting to indulge in my unrealized childhood fantasy of making flash games, and i thought that it was pretty pathetic that i haven’t tried to do so since, y’know, becoming a professional web developer. so i tried a little today.

what you’re looking at above is the fruits of about a few hours of labor. i hubristically wanted to go without a fully-featured HTML5 game engine or framework - instead, i grabbed pixi.js (which is just a convenient wrapper around WebGL) and tried to get something resembling an entity component system up and running.

as you might imagine most of the work was not in just “getting the sprite to appear” - the pixi.js tutorial will get you that far in ten seconds. instead it was trying to build the infrastructure for a much larger rpg project (which will hopefully be revealed here at some point), which meant learning how ECS architecture works. getting the sprite in there is very easy - getting it in there such that i can do what i want with it later was much harder.

but in spite of that i noticed something - i was having fun.

i often use time tracking tools to track my work hours. it’s always been a bit imprecise, because the line between my work and my hobbies is fuzzy at best, but generally i try to use the timer as my motivation to get things done. this works fairly well - but it has the downside of making the timer represent cold utility. when i have it on, i constantly am wondering if this is the best way to be spending my time, and i’m aggressively triaging to make sure i’m only focusing on the “productive” part of the workflow.

the problem is that isn’t really conducive to having fun - and i always had the timer running when working on a programming project because i always imagined that every project, no matter how facially recreational, was a potential “portfolio” piece. this had the side-effect of making me kind of hate all programming and made it much harder for me to indulge in the idea of working on a “fun” side project. if it wasn’t necessary for business, i didn’t really want to open my code editor at all.

i am currently potentially infected with covid (i was exposed a few days ago, long story) and thus have been forced to quarantine - and i wanted to use that time to work on projects i wouldn’t normally work on when i had time taken up with social engagements. when i decided i’d do some work on the aforementioned RPG project, i almost put the timer on like normal - but then i deliberately decided not to. and turns out, i had more fun getting that little guy on a teal background than i had doing basically any programming over the last year.

i’m going to make a point to do my hobbies purely recreationally more often - not just programming, but writing and musicianship as well. i think it’s necessary to sometimes to remind yourself why you liked something in the first place.

Clip art of an alligator wearing sunglasses.