Designer and developer from Finland. Made websites for 20 years, now making video games. Posting about every part of gamedev. Working on a tactics RPG. Not using AI.
Public Key
npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Profile Code
nprofile1qqs8m5l22vfft04cvr622gcn9ht5dqn6yarh4mmf5nzhp30zr682h3gpz3mhxue69uhhyetvv9ujuerpd46hxtnfduqs6amnwvaz7tmwdaejumr0dsh6lakl
Show more details
Published at
2026-09-16T16:17:43Z Event JSON
{
"id": "7e0426ac00130a44fa9e6dbb52d438f6faa5a6eaaebd2f5aef26f74f3e8393ea" ,
"pubkey": "7dd3ea531295beb860f4a523132dd746827a27477aef69a4c570c5e21e8eabc5" ,
"created_at": 1789575463 ,
"kind": 0 ,
"tags": [
[
"proxy",
"https://mastodon.gamedev.place/users/jonikorpi",
"activitypub"
],
[
"client",
"Mostr",
"31990:6be38f8c63df7dbf84db7ec4a6e6fbbd8d19dca3b980efad18585c46f04b26f9:mostr",
"wss://relay.ditto.pub"
]
],
"content": "{\"name\":\"Joni Korpi\",\"about\":\"Designer and developer from Finland. Made websites for 20 years, now making video games. Posting about every part of gamedev.\\n\\nWorking on a tactics RPG. Not using AI.\",\"picture\":\"https://cdn.masto.host/mastodongamedevplace/accounts/avatars/000/018/439/original/dbf42cc79f979a66.png\",\"banner\":\"https://cdn.masto.host/mastodongamedevplace/accounts/headers/000/018/439/original/da6bf70256838453.jpeg\",\"nip05\":\"[email protected] \",\"fields\":[[\"Website\",\"https://jonikorpi.com\"],[\"Bluesky\",\"https://bsky.app/profile/jonikorpi.com\"],[\"GitHub\",\"https://github.com/jonikorpi\"],[\"Email\",\"[email protected] \"]]}" ,
"sig": "2302582c503a9d4bd4ac41bb81974e22310ac319e5c5a5e48fb47d43a7449dd5868e69e5d555b173b653e0f2dde6c82a6e3f2610feb24658ef3717821f98da66"
}
Last Notes npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi If you saw a game described as "a turn-based tactics battler", what would you imagine it to be like? npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi @nprofile…3q9y lmao npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi I’m way past due coming up with a name for my game. This is a plea for help. Please send me your name ideas: smart ones, dumb ones, puns, anything. I will treasure them all. It’s a tactics game about collaboration: the good, bad, and potential evils of it. You form RPG parties and take them on mildly roguelike adventures. A bit of Hearthstone, a bit of Final Fantasy Tactics, and maybe a sliver of Breath of the Wild. Some clips from across many years of meandering development: https://cdn.masto.host/mastodongamedevplace/media_attachments/files/116/325/498/748/338/213/original/2fdb76e8f638fa44.mp4 https://cdn.masto.host/mastodongamedevplace/media_attachments/files/116/325/499/140/124/936/original/600fcc03a1cf0902.mp4 https://cdn.masto.host/mastodongamedevplace/media_attachments/files/116/325/499/782/001/185/original/f9f738f5b51749e2.mp4 https://cdn.masto.host/mastodongamedevplace/media_attachments/files/116/325/500/363/857/567/original/31af8e73c32d8014.mp4 npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi spectacular terrain rendering bug #gamedev #screenshotsaturday https://cdn.masto.host/mastodongamedevplace/media_attachments/files/116/261/601/736/369/664/original/2e70ddfef13ec4e8.mp4 npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi TIL `Math.hypot(x, y)` in JS is waaaaay slower than `Math.sqrt(x*x + y*y)`. Apparently it uses a more precise algorithm under the hood: something something underflows overflows numerical stability. Time to strip them all out of my codebase. >< https://cdn.masto.host/mastodongamedevplace/media_attachments/files/116/170/120/111/920/457/original/dc961240cf19586e.png npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi Trying to come up with a cheap JS abstraction for the “structure of arrays“ pattern. https://cdn.masto.host/mastodongamedevplace/media_attachments/files/116/136/098/267/118/314/original/38a795afe786cbea.png npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi My problems with JS: 1. Allocating objects or closures results in death by garbage collection. 2. So I spend tons of effort managing indices, juggling reused objects, and passing them around awkwardly because functions can only return 1 value. 3. As for the objects, only TypedArrays/ArrayBuffers are fast, but they too require juggling due to having fixed maximum lengths. If I started using Rust or something instead, would it ease these specific problems? Or is this just my life now? npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi @nprofile…3q9y they really do, don't they npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi @nprofile…3q9y yeah baby! npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi Man the AI coding doomerism is in full swing on my timelines. Guys, have some pride in your work, confidence in your abilities. npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi Here’s an export of my big tab group of indie font foundries. If I need a font and can pay a few eurobucks for it, I look here. Far wider range of expression than you’ll find on Google Fonts. Licenses are still annoying, but some have begun to adopt better ones. https://www.arcanetype.com/ https://www.arrowtype.com/ https://beastsofengland.co/ https://www.boldmonday.com/ https://djr.com/ https://lettermatic.com/ https://frerejones.com/ https://www.futurefonts.com/ https://hex.xyz/ … npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi @nprofile…3q9y and a new one enters npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi @nprofile…3q9y the yearly anxiety-induced refactoring npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi Confused how people can just straight up follow hashtags on here. That’s gonna flood your home feed. I’d love to have a separate # gamedev feed though. Surely I could follow it as a List? Oh… it’s not supported on Mastodon. https://github.com/mastodon/mastodon/issues/7692 But wait, it _is_ supported in @nprofile…z0sl! Even lets you combine multiple hashtags, and filter out non-media posts. Perfect. https://cdn.masto.host/mastodongamedevplace/media_attachments/files/115/949/855/662/386/724/original/03f49f32f1359736.jpeg npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi This has been my biggest hinderance getting into graphics programming. It’s like graphics people don’t want their code to be read! “See, most Shadertoys read to me as if the authors thought they were in an obfuscation contest. Variables are commonly one or two letters long, and it's your lucky day if there's even just a word or two of comments.” https://blog.runevision.com/2026/01/phacelle-cheap-directional-noise.html npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi @nprofile…xvmr To make interactive things. Anything that needs to nontrivially update the page client-side. Almost every modern website with some kind of interactive component does that. This is one of the simpler and nicer ways to do so. npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi More people need to know about lit-html. (It’s not a framework or a web components thing.) https://lit.dev/docs/libraries/standalone-templates/ You get to render HTML like this: ``` render( html`<h1>Hello</h1>`, document.body ) ``` and then to update it like this: ``` render( html`<h1>Hello <b>world</b></h1>`, document.body ) ``` It takes care of all the diffing, patching, and memoizing. The performance is good. You get to structure your program around it any way you like. It’s great. npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi @nprofile…3q9y Still learning too but so far it looks like: 1. Do the usual art stuff: theme, subject, dig up childhood trauma 2. Design a chunk of rhythm, aligned to a time signature 3. Assign notes to important parts of the rhythm (use inconsonant note intervals to add tension, and consonant ones to release it), and assign to a cool instrument 4. Assign remaining notes, but to less cool instruments 5. Remove, add, reassign notes as necessary 6. Repeat 2–5 until enough, while varying instrument roles npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi Beautiful concept art drop for Gardens Interactive‘s upcoming game https://gardens.dev/press https://cdn.masto.host/mastodongamedevplace/media_attachments/files/115/867/138/711/747/589/original/d02f98e6f721b673.jpeg npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi @nprofile…3q9y If you’re interested, I think Raph Koster has the best theory so far. (Spoiler: it’s about learning.) https://www.theoryoffun.com/ I’ve found it to hold true so far. However in practice it seems to need to combine with other systems like “game feel” and “presence” before an engaging/fun experience appears, so it’s hard to pin down and measure. npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi Flabbergasted at this series of Final Fantasy release dates. 1997: VII, Tactics 1999: VIII 2000: IX 2001: X 2002: XI 2003: Tactics Advance That's 7 remarkable games in the time it takes to develop a single game today. npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi I’ve been a Safari main for many years, mainly to make sure everything I make definitely works in it. My patience is starting to wear out though. Big corps like Valve and Twitch clearly don’t test with it seriously anymore. And its adblockers struggle to keep up with the internet’s enshittification, despite heroic efforts by uBlock Origin and Wipr developers. As a result every day is filled with random jank, as if I’m using a device that hasn’t been updated for the past 10 years or so. npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi Three bugs appear. “Ah, with my senior software developer senses I detect these are in fact not three separate bugs, but a single bug manifesting in different ways. A greener developer would have fallen into this trap and spent all day chasing shadows!” *7 hours of struggling* They are three separate bugs. npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi @nprofile…f4xf Did a test with untextured gl.POINTS and it's kinda rad https://mastodon.gamedev.place/@jonikorpi/115701682989060496 npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi People were asking about seriously rendering this kind of world as a point cloud, so here's a quick test. #gamedev - It's neat! Very "3D". - Gaps are impossible to avoid without tanking performance. Art style would have to deal with them. - Videos of this compress like 10x better than anything else lol. https://cdn.masto.host/mastodongamedevplace/media_attachments/files/115/701/682/361/187/949/original/7a260508828a8dfb.mp4 npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi can't decide whether this bug is beautiful or upsetting #gamedev https://cdn.masto.host/mastodongamedevplace/media_attachments/files/115/700/965/701/854/514/original/42c6bfc32fd32590.mp4 npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi goddamnit batman theme song leave me alone https://cdn.masto.host/mastodongamedevplace/media_attachments/files/115/700/768/509/880/798/original/6a768ce749091b88.png npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi @nprofile…f4xf Oh shit that looks crazy nice :O npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi @nprofile…f4xf I’d like to try “each point is a paintstroke billboard”. Bit hesitant because I don’t have good references for that kind of art style, unlike the one I’ve been using so far. Might give it a quick try tomorrow in any case. Friday fun task! npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi Finally got this working right: flat areas of the world use an optimal 1 vertex per hex tile, while more interesting areas use much more. #gamedev Next up: applying some easing curves to these, to make rounded woods, boxy buildings, nicer cliffs, flatter shorelines and so on. https://cdn.masto.host/mastodongamedevplace/media_attachments/files/115/695/548/271/218/199/original/2b6e31057b2cf8bd.mp4 npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi @nprofile…9vka @nprofile…04cx For what it’s worth, I have the same problem and a separate living room PC isn’t helping. I barely play anything. :s Pondering if a Steam Deck might do the trick. Playing on Switch or mobile devices feels different at least. Something about not being rooted in place. npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi @nprofile…f4xf Do weird keyboards count? I’ve been drooling after this for months https://dualo.com/en/exquis/ npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi @nprofile…e330 Sweet! I think I’ll end up getting a similar ratio here. The temptation to throw like 96 vertices at every cliff is strong now though…. npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi This is probably basic stuff for more experienced devs, but I'm proud I managed to convert my procedurally generated hex world to use varying vertex density. 1 vertex per tile by default, and the option to use more wherever detail is needed. Previously it was always 24 per tile, lol. #gamedev https://cdn.masto.host/mastodongamedevplace/media_attachments/files/115/606/247/578/909/455/original/d545f37c326cdf77.mp4 npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi @nprofile…xlvy I (genuinely) recommend taking some 2D SDFs and drawing black lines with them against a white background. Figuring out how to draw a face with them is especially illuminating, and I’m pretty sure it teaches all the same arting skills. npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi Wish I'd taken the time to figure out Oskar Stålberg’s dual grid concept earlier. It simplifies everything so much while also enabling nicer tile shapes. In short: instead of designing tiles, design the boundary slices between them. https://cdn.masto.host/mastodongamedevplace/media_attachments/files/115/587/039/066/670/720/original/50cb2f45ea865755.jpeg npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi @nprofile…f4xf @nprofile…t5tr Here's a fun one: was the “interactable things are unlit" thing in early 3D games diegetic or non-diegetic? npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi This is actually a great point. Diegetic (yellow paint) vs. non-diegetic UI elements doing the same job, but eliciting very different reactions. Diegetic elements try to maintain immersion/presence by not feeling like UI, but maybe they actually hurt it more by “intruding” into the world like this. (Reposted from https://bsky.app/profile/adamtots.bsky.social/post/3m5uymo6h5c2a because it wouldn't embed properly) https://cdn.masto.host/mastodongamedevplace/media_attachments/files/115/569/987/041/847/990/original/cea78776b942f9e7.mp4 npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi @nprofile…f4xf @nprofile…9vka they no longer contain enough signals for your eyes to construct the equivalent of what games call “immersion” or “game feel” and what VR calls “presence” npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi @nprofile…e330 I think the hope is that it's a console for Steam. No Windows, no faffing about with a custom Linux build. Just Steam games, and not necessarily the latest AAA ones because those mostly aren't very good. npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi This has to be quite a leap forward for Windows-free PC gaming. New mini-desktop + controller + VR headset and they all sound rather good. https://store.steampowered.com/sale/hardware npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi @nprofile…kmgq I switched to TS a year or so ago and… well, it’s worth the trouble, but there’s definitely trouble. I don’t think it speeds anything up in the short term, but definitely helps prevent painful mistakes in stuff like saving/loading data. It’s also an annoying dependency (I think they’re working to improve the config hassles), but dependencies are hard to avoid when making interactive apps. npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi @nprofile…f4xf Yes! IIRC FF12 is the same team, but on the PS2. Having trouble finding a good screenshot for reference because of the HD remaster, but these show something at least. In motion they look better than most modern AAA characters. https://cdn.masto.host/mastodongamedevplace/media_attachments/files/115/507/634/773/300/089/original/bcb2e3a0f34b31a9.png https://cdn.masto.host/mastodongamedevplace/media_attachments/files/115/507/635/071/963/892/original/e3287044efd8cf8e.jpeg npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi @nprofile…f4xf Love the exceptionally good examples of low-poly, like this one, Vagrant Story, FFXII, and any of @nprofile…pzld’s work. But I have this weirdo thing where in everything else it feels like the vertices are about to poke me in the eyeball. Almost like a food sensitivity, but visual. 🤷 So it’s a struggle whenever I try to make some myself. https://cdn.masto.host/mastodongamedevplace/media_attachments/files/115/502/126/900/016/175/original/e53138439b839ade.mp4 npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi starting to see a pattern here https://mastodon.social/@arstechnica/115499578403400832 npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi Consensus seems to be basically: make them less low-poly. This is a bummer because it leaves less room for doing dumb expensive things in the vertex shader. Like, say, computing 34 octaves of gerstner waves to make your fog look cooler. :s npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi @nprofile…f4xf @nprofile…d23k Can’t swap to WebGPU for this project anymore, but will for the next one. It still has some growing pains, but will probably be great in a year or two. I think I can do some LOD variants with more vertices. I guess that’s basically CPU tessellation? :D npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi @nprofile…d23k @nprofile…f4xf womp womp wooomp :D npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi Graphics programming question: are there any well known techniques for adding detail to the _silhouettes_ of low-poly 3D geometries? Perhaps some kind of postprocessing extrusion trick? (I hate the sharp corners, but love the performance.) npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi @nprofile…f4xf Fun fact: on the web it was seemingly first decided pressure in Pointer Events should default to 0. Then it was changed to 0.5. Now it’s a tossup which one each browser defaults to, so the whole API is unusable as is. \o/ npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi https://cdn.masto.host/mastodongamedevplace/media_attachments/files/115/408/139/985/799/520/original/ef270b101a6becf2.png npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi @nprofile…e330 In short, yup! There’s some fun scifi in those books… partially overshadowed by the author’s not so fun views on some other things. Still worth reading if you’re into this sort of stuff though. npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi It's Bandcamp Friday (they waive their cut and more money goes directly to artists), and a good time to nurture your local music library. I recommend starting with this single from @nprofile…snkv: https://chipzelmusic.bandcamp.com/track/shaman npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi For almost 20 years my technique for attacking any design problem has been to multiply things with the golden ratio until the problem goes away. Multiplying rotation angles is especially effective, and that’s exactly what this does. Can’t wait to use it! https://bsky.app/profile/xordev.com/post/3lxcrxxhxws2n npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi @nprofile…d23x true! npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi This is an interesting bit of skeuomorphism I've been seeing lately. An "album cover" for a digital album that kind of condenses the back, front, and spine of what you'd usually see wrapped around a physical CD case. I think it's a pretty good compromise: preserves both the art and functionality of the original form, and is still useful in its new digital form. https://cdn.masto.host/mastodongamedevplace/media_attachments/files/115/048/720/369/589/286/original/4672abeb52e2b2bb.jpeg npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi @nprofile…d23x omg “garbage faucet” is a good one npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi @nprofile…d23x Same, but I do worry if I have to start working for someone other than myself again. Sounds like execs are forcing it on everyone under them. npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi @nprofile…d23x I won’t use it either, unless absolutely forced to. Simply because I fucking hate the people building it. Thieves. (It’s good to hear you decided to just be patient. I’ve been in similar situations and they’re always an absolute pain to deal with. Far from an easy decision to make or implement.) npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi hit by existential dread after hearing how many of the people I know use ChatGPT/Copilot/Claude for work already npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi @nprofile…4tpe 11. like a toolbox, rather than a… what’s the opposite of a toolbox? npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi As a society we really need to stop calling it “AI”. People are getting dangerously confused. npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi “Visionary ideas derive directly from centering people at the margins.” Fuck yeah. https://chelseatroy.com/2021/07/30/the-oxymoron-of-data-driven-innovation/ npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi @nprofile…d23x There’s lots of dumb tech to be annoyed about, but I don’t think passkeys is one of them. - They’re basically just a password manager automation protocol. So if you use one, nothing much new to learn or worry about. - They just replace your passwords (except the one you access your password manager with) and 2FA apps. - They use a web standard. - The official sites are good. https://www.passkeys.io/ https://passkeys.dev/ npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi Super interesting writeup about making, basically, a tiny but whole MMO https://eieio.games/blog/a-million-realtime-chess-boards-in-a-single-process/ npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi Getting some weird @nprofile…79ya macOS bug where selecting text in the Compose panel sometimes mangles it. Not sure how to repro, but it's somehow related to undo/redo history… maybe. Made some garbled posts because of it, but good thing Mastodon has editing. https://cdn.masto.host/mastodongamedevplace/media_attachments/files/114/754/270/924/960/580/original/967be055f3545011.mp4 npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi Re: recent Spotify news I’d like to remind everyone a local music library is still 100% viable in 2025. I recommend: 1. Buy music from Bandcamp, 37digital, iTunes, or Amazon 2. Sync with Plex (requires home server + sub) or iTunes Match (cheap sub) 3. Backup with something like Backblaze or Arq npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi Gecko Gods is another lovely one. Breath of the Wild type of thing, but you play a gecko. https://store.steampowered.com/app/1290760/Gecko_Gods/ npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi Best of Steam Next Fest so far: Squeakross! I’d never done nonograms before, but it taught them well and quickly got me hooked. https://store.steampowered.com/app/2871440/Squeakross_Home_Squeak_Home/ npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi @nprofile…xq7g Intelligence has agency, autocomplete does not. npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi @nprofile…d23x Indeed. The last major piece of software to have great icons was like… World of Warcraft? After that we as an industry started chasing consistency, and somehow forgot almost every principle of graphic design. npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi @nprofile…d23x @nprofile…w9qq the grid goes wild when I pinch-zoom it (not sure what video compression will do to it but here hoes nothing) https://cdn.masto.host/mastodongamedevplace/media_attachments/files/114/598/972/651/695/974/original/5b70392f9cec062e.mp4 npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi Super proud of that lone patch of woods atop the peak. Manages to feel 3D despite being drawn with some very 2D techniques. #gamedev #webgl https://cdn.masto.host/mastodongamedevplace/media_attachments/files/114/587/422/968/964/549/original/3dc58de94d98677b.mp4 npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi This looks both fun and surprisingly well put together https://www.youtube.com/watch?v=UROMioNwoXs npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi This has been here for 3 months. https://cdn.masto.host/mastodongamedevplace/media_attachments/files/114/448/477/521/143/769/original/c192d28aa8e5b47f.png npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi Phew, had a 3-hour long run in Blue Prince last night. Highly recommended. https://store.steampowered.com/app/1569580/Blue_Prince/ After two disappointing AAA purchases (FF7 Rebirth and Assassin's Creed Shadows) it was nice to find a new game that's more than worth its price. npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi Coping mechanism: mentally substitute "I asked AI…” with "I asked my dog”. Fits every time. npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi Looks like someone on the Discord native apps team has made a little oopsie https://cdn.masto.host/mastodongamedevplace/media_attachments/files/114/258/720/616/049/868/original/439abf5b801f1f05.png npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi I’ve long wondered why game worlds seen through perspective cameras look so much worse than images of worlds in traditional art. I think this post has finally answered that question. https://aaronhertzmann.com/2024/09/09/dvc-multiperspective.html In short: human visual perception is highly contextual, and traditional human artists can emulate it in ways that would be difficult (and probably nauseating) for realtime graphics. npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi @nprofile…t3wn @nprofile…q8cn I was just staring at an empty instances.ts file, getting annoyed at the thought of everything I’d have to write there. Last time I did it it was a huge pain, especially adding/removing instances on the fly. I wrote so many bugs. npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi Graphics programmers: if you were given the job to render heightmap hex terrain like this _efficiently_, how would you do it? Constraints: - Each hex on the grid uses the same geometry. - The camera can translate and rotate freely, but will always look downwards. - The world is bigger than what fits on the screen. https://mastodon.gamedev.place/@jonikorpi/113340011803116308 npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi If anyone else needs visual design inspiration, old travel posters from Finland and Sweden are cool as hell. https://cometofinland.fi https://cometosweden.se https://cdn.masto.host/mastodongamedevplace/media_attachments/files/113/985/993/828/510/360/original/aca4a7373a6af6f6.jpeg https://cdn.masto.host/mastodongamedevplace/media_attachments/files/113/985/994/098/742/788/original/5da759440dba587d.jpeg https://cdn.masto.host/mastodongamedevplace/media_attachments/files/113/985/994/373/863/772/original/9810ba9c791bf68d.jpeg https://cdn.masto.host/mastodongamedevplace/media_attachments/files/113/985/994/648/945/194/original/dcbc84181723fe8e.jpeg npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi This may be a weird thing to ask, but have there been any particular advances in the design of personal websites or blogs in the last… decade or so? Any obviously good patterns to follow? I haven’t really paid attention, because everything happens on social media. npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi @nprofile…k0gr Well fuck. > We regret to inform you that your Matias order is again delayed. The reason is that there are still software problems for these new models , so the supplier needs more time to deliver them to us. The expected delivery time will most likely be in May 2025. npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi I think it's about time we start holding companies liable for damages caused by any shitty AI product they subscribe to. https://bsky.app/profile/itch.io/post/3lcu6h465bs2n https://cdn.masto.host/mastodongamedevplace/media_attachments/files/113/621/915/901/905/186/original/4497b7af472c51c7.png npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi @nprofile…k0gr Preordered this one over half a year ago. Supposed to finally ship soon. Hope it’s decent…. https://matias.store/collections/all/FK413 npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi Warning to people thinking of deleting their Twitter accounts: some shitheel can just grab your username, clone some of your posts from Wayback Machine, and start SEO/AI/crypto scamming people in your name. They do this with expiring domain names (happened to me). Just as easy with Twitter accounts. npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi Posting this strictly for anyone else here also trying to use social media for only for personal stuff, but business too: Bluesky is kind of blowing up since yesterday, and it's worth at least trying to establish a presence there. (I'm well aware of Bluesky’s shortcomings compared to Mastodon and am not trying to advertise it. Just posting because if I didn't know about this right now, I would want to know, and there are plenty of people in the same situation as me.) npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi So, Google Search is clearly garbage now. It can find obvious ultrapopular sites, Reddit threads and slop, but not much else. Are any of the alternative search engines _genuinely_ better? Like actually super honestly obviously seriously better? npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi Zillions spent on generative AI development and not a single thing produced that's anywhere near as novel as this https://www.boze-style.com https://cdn.masto.host/mastodongamedevplace/media_attachments/files/112/976/531/532/032/242/original/21505924d978f5a3.mp4 npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi After working with the web platform for 15+ years this is the first time I’m rather happy with it. CSS may have bloated, but is also the most flexible language for 2D UI and text layout. JS is still full of footguns, but once you learn to step around them it’s fun. And really fast too, thanks to mega-optimised engines. WebGL2’s fine, and so’s Web Audio. WebGPU will be nice. WASM too? HTML is the same as ever. Finally, tools like Tauri bring all of this outside the browser. Neat. npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi I have only 1 question about Apple’s generative AI: where is the training data from? npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi Oof, Cara seem to be regretting their infrastructure choices right about now. https://cara.app/post/7de50d6e-885c-4e69-80b7-d81fcb4b19ef https://cdn.masto.host/mastodongamedevplace/media_attachments/files/112/570/941/819/343/124/original/1d5fd36fee6b195e.jpeg npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi @npub1aw2…8vv5 Worry not! http://www.matias.ca/sculpted/wireless/ (Never used the original boards myself, but have been looking at this one anyway. Seems like the best way to do an ergo keyboard.) npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi @npub1nhw…g2sy Was just about to try that, but yeaaah… no chance I’m gonna remember to look there npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi I wish you could sort of “subscribe” to posts on Mastodon: get notified of replies without leaving a reply yourself. npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi @npub1g5t…xw4h Dragging with inertia (like Google Maps, or iOS scrolling), and WASD. npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi I just think it’s neat one of the best designed Mastodon apps is an open-source web app. https://phanpy.social npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi Surprised how reasonable these changes sound. Might still be too little and too late to revive the platform, but maybe I’ll consider an iOS version of my upcoming game after all. https://www.apple.com/newsroom/2024/01/apple-announces-changes-to-ios-safari-and-the-app-store-in-the-european-union/ Pretty funny if non-EU ends up keeping the crappy rules though. npub10hf755cjjkltsc855533xtwhg6p85f680thknfx9wrz7y85w40zs20d386 Joni Korpi @npub1ykd…6j2y it’s the sort of game that’s an enemy itself, for your friend group to overcome together