For todays scope-cut-thrursday I simplified all health calculations to be linear. I had exponential damage accumulation based on G loads done and some modifiers planned, but everything being linear is easier to tune and easier for players to understand.
Ville Vanninen
@sakamies.bsky.social
Senior dev at OP Minimalism, accessibility, ethical tech Best of: OP Kevytyrittäjä, Gridlover 🏳️🌈🏳️🌈🏳️🌈 pumpula.net
I was going to make device independent controls for space flight, and being a web developer that would be within my expertise... doesn't rhyme but I'm coining scope-cut-thrursday and I'll just make a traditional keyboard+mouse interface to get the game done some day.
Would there happen to exist a bluesky app that works like rss readers? Folders, where I can chuck accounts I follow and read posts by account, not as a feed. Bonus if it didn't support likes, replies, link previews or any of that stuff. Just like "I want to read what that person has said this week"
I've been dedicating my entire professional life to the pursuit of perfection, while what I've learned recently is that I'm much better off enjoying failure. Kinda the same thing, just framing the constant need for learning a bit different. Something like overachieving vs relax & learn.
I thought today is saturday. I don't even know what day is it when I'm on holiday, which is nice though. Got rudimentary scenario files loading so I'm not stuck to my hard coded ships side by side thingy any more. Trying to figure out some exciting maneuvers. #screenshotsaturday
Screenshots seem to so much sexier than unreadable scribbles, but scribbles are so human! I'd like to see more of them. Spent a week away from my computer because I felt sick and stuck for thinking about sensors too much. And of course it seems obvious now that it just dropped on me in the shower.
Incredibly hard to get low res pixelated vectors out of browsers. Didn't figure a (performant) way with svg so here go with webgpu at 640x400. If it's possible, let me know! Harrowing stuff when my brain is so hardwired for the dom and svg. It's sunday already but coded late so.. #screenshotsaturday
What if chess was a dance... in space! Show the area where things can maneuver within x time. Overlap is danger. Try to go where your adversary can't, so you're safe. Pretty much my whole game there. Can't be that hard to make, I thought. 😅
This week I've learned. - Computers can do scary amounts of math per frame - Won't need decorative UI, just stuff to even understand what's going on - More fun to streer ship close than avoid, dunno how to flip that for gameplay - Working on it always spawns even more work 🫠 #screenshotsaturday
Fill rate (?) may be the limiting factor with SVG. Thousand lines are fine, but fills tank fps quickly. Five torps is already too much. Anyway, I call that new overlay the possibility cone, tells you where you are able to maneuver within the (currently 3 second) tactical horizon. #screenshotsaturday
Look ma, I made asteroids! Not much of a game yet, but feels exciting for me at least. I've been playing this in my head for years though, so not quite sure about anybody else. 😄 I'm trying to follow a lineage of Auts, Wings, Liero, Hotline Miami, The Expanse and now this. And yeah, SVG is glorious!
I made a little 2 player game about overcoming mököttäminen. Doesn't really have a direct translation I guess, kind of like sulking, having a hard time connecting. Really lacking finishing, but I think the game is mainly there. It's kind of like an inversion of a fighting game. mokotan.netlify.app
PICO-8 Cartridge
mokotan.netlify.app
After more than a week of toiling on a spatial reference grid for insane speed spaceflight, I have discovered: *The starfield effect* One of those, how did I not see the obvious right away, moments. Everything forever has done it this way. Anyway, I guess I learned it from first principles today.
I'm rendering my game with SVG at 60fps and nobody can stop me. 😁 Tried to start with Godot but sort of gave up and restarted with a plain web page. Maybe I'll rearchitect when I have a good handle on the systems and such.
I'm a stress based lifeform. Good thing I melt in sunlight though. Reverts me to my low stress primordial form.
Started making a game! I've been trying to make this game since the moment I understood inertia and touched a computer. Just didn't realize until now that I think I might have tiny chance of being able to make it.
Well I actually did it. There were a couple services already to convert google docs to sites, but wasn't exactly sure what they'd do. My pipeline is now: mom & docs → fetch .docx via share url → doc tabs to markdown files → 11ty build. The conversion is quite the contortionist act but it does work!
Had the bright idea that my mom could do her website content in google docs. I'd just fetch it as markdon, split some pages and render with eleventy. I had no idea word processors could go totally bananas in so so many ways, but also markdown is the pinnacle of human achievement.
I've started listening quite a few podcasts at .8 speed. Maybe I'm slowing down or general speech is speeding up. I don't really want more content faster, rather I want to spend more time with my favourite internet people.
I'm working on a new version of Gridlover. It's 9kb over the wire, the whole app, everything. Not quite finished but still I'm a bit dumbfounded. Gotta admit I was trying to optimize a little but man. It's like I was trying to prove a point or something. gridlover8.netlify.app
Gridlover
Establish a typographic system with modular scale & vertical rhythm.
gridlover8.netlify.app
Today I learned there's a native node.normalize() method. Insanely useful at least when dealing with contenteditable=plaintext-only. Will fix a whole tree at once so there are no broken apart or empty dangling text nodes. developer.mozilla.org/en-US/docs/W...
Node: normalize() method - Web APIs | MDN
The normalize() method of the Node interface puts the specified node and all of its sub-tree into a normalized form. In a normalized sub-tree, no text nodes in the sub-tree are empty and there are no ...
developer.mozilla.org
In these times it's good to have a north star, so I wrote a manifesto. Trying to take some poetic licence here, might be a little clumsy at times. I'd welcome any discussion! pumpula.net/manifesto/
The gentle software manifesto
Let's be human to each other, even when our tools can be inhuman.
pumpula.net
Had the bright idea that my mom could do her website content in google docs. I'd just fetch it as markdon, split some pages and render with eleventy. I had no idea word processors could go totally bananas in so so many ways, but also markdown is the pinnacle of human achievement.
It's been below -20C for over a week now. Just about everything looks incredible every second of the day.
Can you believe I'm doing prompting workshops at work? My first advice: "Please don't, you human brains are so much better at all of this and your thoughts matter." But it's already happening anyway so I'm trying my best to defuse any bombs before they go off.
Nothing too glamorous, but managed to delete a lot of old code at work with this. The old loading spinner one was an svg file and a bunch of other stuff, now it's just a couple css gradients. codepen.io/sakamies/pen... Also you know @keyframes spin {to {rotate: 1turn}} is like poetry.
Loading spinner (radial + conical gradient)
...
codepen.io
Saw a 100% generated frontend refactor go verbatim into production. The file had now doubled in size, had a big block of js that did literally (not figuratively) nothing and custom styles because why use our own styles. 🤷♂️ My responsibility but didn't catch it in time. This will become exhausting.
Had an actual real summer vacation for the first time in my adult life and didn't do anything on my computer. It was glorious.
Looks like I never posted gridlover.css here. Modular type scale & pixel perfect grid snapping. Css math and round() made this so much easier. Gridlover used to have a bunch of javascript to figure this out and now it's just a couple lines of css. codepen.io/sakamies/pen...
gridlover.css (Gridlover in vanilla css)
...
codepen.io
Another sorta blog post is up. Code golfing a tabs custom element. Hopefully simple enough to read and understant the code to make your own. As usual I think the accessibility and progressive enhancement sections are the important bits. Otherwise nothing too fancy. github.com/sakamies/tab...
GitHub - sakamies/tabs-customelement: A minimal tabs custom element that tries to work exactly according to APG Tabs Pattern.
A minimal tabs custom element that tries to work exactly according to APG Tabs Pattern. - sakamies/tabs-customelement
github.com