Indie game developer, procedural generation enthusiast, Dane in Finland. I made Eye of the Temple, now working on The Big Forest.
Public Key
npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Profile Code
nprofile1qqsxp2v7ugekzrul4zk4sehjrspvf06gvkwczwy5jr7k9uup5ezr88cpz3mhxue69uhhyetvv9ujuerpd46hxtnfduqs6amnwvaz7tmwdaejumr0dsxd2s67
Show more details
Published at
2026-06-28T05:30:36Z Event JSON
{
"id": "91605ffd657fcc9ac0673d7abd47f086d5f3e5bb073af69a1ae7f9af5ecb526d" ,
"pubkey": "60a99ee233610f9fa8ad5866f21c02c4bf48659d81389490fd62f381a644339f" ,
"created_at": 1782624636 ,
"kind": 0 ,
"tags": [
[
"proxy",
"https://mastodon.gamedev.place/users/runevision",
"activitypub"
],
[
"client",
"Mostr",
"31990:6be38f8c63df7dbf84db7ec4a6e6fbbd8d19dca3b980efad18585c46f04b26f9:mostr",
"wss://relay.ditto.pub"
]
],
"content": "{\"name\":\"Rune Skovbo Johansen\",\"about\":\"Indie game developer, procedural generation enthusiast, Dane in Finland. I made Eye of the Temple, now working on The Big Forest.\",\"picture\":\"https://cdn.masto.host/mastodongamedevplace/accounts/avatars/000/007/636/original/2b14d80546a78a7f.png\",\"banner\":\"https://cdn.masto.host/mastodongamedevplace/accounts/headers/000/007/636/original/449db4f6c0baa550.png\",\"nip05\":\"[email protected] \",\"fields\":[[\"Website \u0026 blog\",\"https://runevision.com\"],[\"YouTube\",\"https://www.youtube.com/c/runevision\"],[\"Bluesky\",\"https://bsky.app/profile/runevision.bsky.social\"],[\"Discord server\",\"https://discord.gg/yGN7bDQ\"]]}" ,
"sig": "0649e2779a9fce421b8bfe7a8674f8a6b5b48977190cb6215a1f5b51529a03467b3a1f1091663247e72aa8dcac63045202d21b36b2af55c7ea57b36e62bff958"
}
Last Notes npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen For my game's terrain, I've long mulled over how to combine the epicness of grand mountains with the "what's around the corner?" intrigue of smaller cliffs and hills. On top of that, how to meaningfully integrate my erosion technique into it. After a lot of fiddling over the past two days, I think I may be onto something. #GameDev #ProcGen https://cdn.masto.host/mastodongamedevplace/media_attachments/files/116/419/324/306/692/594/original/f8d707968aabc37e.mp4 npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen @nprofile…5x8e Thanks a lot Aras! Yeah I think you have mentioned it before :) My skills as a programmer are very spotty and uneven, but I do try to make the most of the things I excel at, and am fortunate to be in a position where I can focus on that. Now, if I could also learn one day how to do profiling properly... npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen Here's the Shadertoy where you can paint eroded mountains and islands with your mouse, right in the browser: https://www.shadertoy.com/view/sf23W1 #ProcGen #vfx #GameDev https://cdn.masto.host/mastodongamedevplace/media_attachments/files/116/318/676/974/582/673/original/1618446d7e95de28.mp4 npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen My erosion filter is out! Video, blog post, and shader source. It emulates erosion without simulation, so it's fast, GPU friendly, and trivial to generate in chunks. Explainer video: https://www.youtube.com/watch?v=r4V21_uUK8Y Companion blog post: https://blog.runevision.com/2026/03/fast-and-gorgeous-erosion-filter.html #ProcGen #vfx #GameDev https://cdn.masto.host/mastodongamedevplace/media_attachments/files/116/318/406/903/982/804/original/4793a811d361d3b6.mp4 npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen I know I've been talking about this for over six months now, but I swear I'm working towards releasing the source 😅 - along with an explainer video and a blog post. https://cdn.masto.host/mastodongamedevplace/media_attachments/files/116/294/530/107/771/273/original/e9cc8a806bdb0f7b.png npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen Archipelago #ProcGen https://cdn.masto.host/mastodongamedevplace/media_attachments/files/116/266/950/417/614/768/original/afd2a97dd7fac7df.mp4 npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen @nprofile…5x8e Do you know what the performance is like for tiny input sizes, specifically generating a hash based on one to four integers? As you know, this is relevant for procedural generation, but do I understand right that the small input sizes for this use case was not the focus of the comparison? npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen @nprofile…3q9y I don’t know much about this, but I know that @nprofile…csyt definitely does. https://mastodon.social/@JulianOliver/113489003640111152 npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen I think I can safely conclude by now that no one uses the term AI to refer to classic game AI like pathfinding and state machines etc., so new mute word finally added. Now if everyone posting (ranting) about AI / LLMs could use those words or tags rather than subtweeting, that would be swell. npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen @nprofile…3q9y Sure, but then all comparisons to the existing real world most wealthy people go out the window, as they'd be dead poor compared to hypothetical you. npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen @nprofile…3q9y A trillion dollars divided by eight billion is 125 dollars. Is that what you mean by a life changing amount? npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen As part of exploring getting away from Google products, I thought it would be a good idea to go back to using a mail client (via IMAP) instead of a web interface for email, so I could switch providers in the future without having to switch workflow. But damn, how can most mail clients still be so bad? Gmail popularized threaded conversations (with sent and received mails in one) in 2004, and yet neither Apple Mail or Thunderbird support it in 2026? npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen Aww, AI generated puppy is sad that I canceled my Spotify subscription https://cdn.masto.host/mastodongamedevplace/media_attachments/files/115/995/144/322/180/909/original/7f8726d30ed9c6d8.png npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen I made a directional noise type I call Phacelle Noise which is pretty fast! Is it new or does something functionally identical already exist out there? I don't know! But I didn't come across one like this yet anyway, so here's my findings: https://blog.runevision.com/2026/01/phacelle-cheap-directional-noise.html If you can add any insight, please do :) #Graphics #Shaders #Shadertoy https://cdn.masto.host/mastodongamedevplace/media_attachments/files/115/938/446/515/542/184/original/bce86fc978e220d9.mp4 npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen @nprofile…f4xf *does a mime routine placing the palm of my hands against the boundary of the three-dimensional subspace I’m trapped inside* npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen I got a "tessellation" approach working for "growing" my spatial level design graph. I can now inject nodes anywhere, and the graph will adapt the triangulation to accommodate them while keeping close to ideal distances between nodes and avoiding triangles being stretched too thin, or inverted. #ProcGen #GameDev https://cdn.masto.host/mastodongamedevplace/media_attachments/files/115/741/557/113/553/804/original/b4549bbd0fbc21d2.mp4 npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen @nprofile…f4xf Yeah! I think it's intentional, kind of. This form factor for some reason feels more at home in the living room than something shaped like a flat tower or a VHS player. E.g. some wifi routers also look a lot like speakers. npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen @nprofile…f4xf Lamb mixes various genres but is certainly DnB adjacent. Most of their tracks have prominent vocals but here's a fun instrumental track I really like (it evolves a lot over its duration). https://www.youtube.com/watch?v=J1M2hfDMJHU npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen @nprofile…fnpd Thanks! npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen @nprofile…3jr3 Thanks! Apparently six weeks minimum in cast, then maybe six weeks more. But the fact I’m not in any pain makes me cautiously optimistic. npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen @nprofile…xlvy Well I’m already not bipedal anymore. npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen Foot cast and crutches was not on my bingo card when this week started, but sometimes you just stumble while walking around in your home, catch the fall with your foot in a most unfortunate way, and there you go, a Jones fracture for you. Apparently. npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen So, I made a hair shader that doesn't require any specially made meshes or textures. Initially I made this work by sampling many normal directions rotated around the hair strand direction, but I eventually got an approximation working that doesn't rely on multi-sampling. https://github.com/runevision/HairShader https://cdn.masto.host/mastodongamedevplace/media_attachments/files/115/422/416/882/761/649/original/392dd10202acdb5d.mp4 npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen @nprofile…fnpd Heads up, a recent conversation elsewhere suggested that trying to get Linux installed as dual-boot co-existing with another OS has an elevated risk of leading to all kinds of trouble. https://bsky.app/profile/nifflas.bsky.social/post/3m3f5miy75c2m npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen @nprofile…gvnm Thanks! I just realized I forgot how to open the settings window though... npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen Help guys, is this a shadow bias issue or a z-fighting issue? There's also some weird bug with the day-night cycle lighting. https://cdn.masto.host/mastodongamedevplace/media_attachments/files/115/349/981/774/053/155/original/d67aa6d221ca36f0.mp4 npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen @nprofile…t3wn To be fair I don't know who broke what when. My emails have probably always been unauthenticated, and there are real issues with spam that are currently getting worse, and which probably only authentication can solve. So there may be good reasons for Yahoo now bouncing unauthenticated mails, and in the world we live in, I probably do need authentication. But not offering any solutions for individuals sucks, as does not making it clear that the "send mail as" feature is unreliable. npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen What do other people with their own domains use? Running my own mail server or similar is out of the question, I'm not very technical when it comes to IT/admin work. I have no experience with Google Workspace; it seems highly geared towards large organizations, with lots of bloat that's useless to me. It has an "individual" tier too, but that doesn't have the custom domain email authentication support as far as I can see. Apparently being an individual with one's own domain is unheard of. 2/2 npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen For decades I've been using Gmail with its "send mail as" feature to have my own domain (runevision.com) appearing as the "from" address. Today I experienced a mail outright bouncing due to lack of SPF or DKIM authentication. A bit of research reveals that without paying for Google Workspace, there's no way to fix this. Regular Gmail's "send mail as" feature is broken in practice, as email handlers such as Yahoo will now categorically reject mails using it. 1/2 npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen I made a configurable multi-plot utility Shadertoy https://www.shadertoy.com/view/WclyzB For the erosion video I'm working on, I want to show some function graph synced with erosion parameter changes. I wasn't happy with the existing function plotting examples I could find, so made my own here. https://cdn.masto.host/mastodongamedevplace/media_attachments/files/115/072/577/015/362/170/original/aaf35b9c6eb9b7f2.mp4 npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen @nprofile…kmgm I can't see anything there about being able to animate shader variables via keyframes? npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen @nprofile…qfys @nprofile…kksy Shadertoy has various syntax that's specific to Shadertoy, so no general shader support in other apps or tools will support Shadertoy unless specifically designed to support it. npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen There is an graphics application called Natron which has a Shadergraph node, and this might be the closest to what I'm thinking of. Unfortunately it seems like a daunting tool to learn, and it only support Shadertoy 0.8.8 (WebGL 1.0) and not the current Shadertoy 0.9 (WebGL 2.0). https://natron.readthedocs.io/en/v2.3.15/plugins/net.sf.openfx.Shadertoy.html npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen I'm working on a video where I use Shadertoy for a lot of the visualizations. It's quick and fun to test things and make simple procedural animations, but I really really miss a keyframe editor. Shadertoy plus a timeline with keyframes would be so powerful. npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen @nprofile…z4fl Exactly, that’s what I normally do. It just sounded like maybe there was a quicker way to check at a glance based on the reply from @nprofile…v284, but I guess not. npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen @nprofile…v284 @nprofile…z4fl How do you request “feed” from the blog’s root? Blogs generally encode the feed URL via website metadata in the HTML header, but I don’t know how to check if a blog has a feed without checking the HTML source or trying adding it to my feed reader. npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen I finally managed to apply the erosion filter to my game's terrain. 1st image is without erosion. 2nd image is applying erosion naively. The high-frequency details confuse the erosion filter and creates lots of little spikes. 3rd image is applying the erosion to low frequency parts of the terrain only, and adding the high frequency details afterwards. Plus some parameter tweaks to make peaks less sharp and add a third erosion octave. #ProcGen #GameDev https://cdn.masto.host/mastodongamedevplace/media_attachments/files/114/904/183/551/480/183/original/dc4f2792afbcb85a.png https://cdn.masto.host/mastodongamedevplace/media_attachments/files/114/904/183/636/658/582/original/7a82169f1ec8b15c.png https://cdn.masto.host/mastodongamedevplace/media_attachments/files/114/904/183/568/108/578/original/ac8a54b3664a79c6.png npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen Really cool video that made me understand sound harmony and dissonance at a more fundamental level: https://www.youtube.com/watch?v=tCsl6ZcY9ag npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen @nprofile…a729 @nprofile…d23x I dunno, it was pretty close to that in the first iPhone? https://cdn.masto.host/mastodongamedevplace/media_attachments/files/114/873/607/236/055/119/original/17b4e401b8073a69.jpg npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen @nprofile…gvnm I don’t bike much in Winter here, but some people do. It’s possible to get studded bike tires. npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen @nprofile…gvnm Here in Turku there's often only a bike lane on one side of the road, which is used for both directions. I think hand sign for stopping is not used. Bell is almost never used; more chill approach. No experience with biking in other cities. Oh, and oddly, bikes have yield to cars in Finland in some cases where the opposite would be the case in Denmark. npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen @nprofile…gvnm It was great seeing you Aras, I'm glad that worked out! And nice meeting your family :) Enjoy the rest of your Finland stay! npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen The tree leaves are now swaying in the wind. The "Grasslands - Stylized Nature" pack the trees are from actually already included a wind effect, but I implemented some simple tweaks to make it more to my liking. What do you think? #GameDev #IndieGameDev https://cdn.masto.host/mastodongamedevplace/media_attachments/files/114/840/254/787/643/068/original/d58a18e628b08fbc.mp4 npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen Here's a fly-by with the new trees. The fact that they cast/receive shadows even in the distance makes a huge difference compared to the old Unity billboard ones, which destroyed the sense of depth in the distance. #ProcGen #GameDev (Video of old trees here: https://mastodon.gamedev.place/@runevision/112186261304893345) https://cdn.masto.host/mastodongamedevplace/media_attachments/files/114/835/020/923/036/964/original/9a62b846480a1e58.mp4 npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen I got translucency working on the trees ☀️🌳 Hell yeah, let's stroll! #GameDev #ProcGen https://cdn.masto.host/mastodongamedevplace/media_attachments/files/114/824/353/423/124/298/original/0ce292b1f8f74a8c.mp4 npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen @nprofile…sq5t Do you mean alpha to coverage when you say dither to alpha? Otherwise I’m not familiar with what it means. npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen @nprofile…sq5t Is that in a custom engine? I’m using Unity - currently built-in pipeline, forward rendering. What you wrote is mostly already over my head. npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen Is this something that would get slightly easier if I use deferred rendering instead of forward? I have an intuition that then the imposters and the real models would add the same kind of data to the buffers which could then be handled the same way in the deferred passes? I don’t know much about how custom shaders work in deferred rendering though. npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen @nprofile…sq5t Yeah I’m currently trying to use GPU Instancer Pro and that adds a further layer of complications. npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen I’m once again looking into the problem of getting trees to look decent in the distance by using octahedral impostors which support shadows and intersections. Problem is, I really need custom shading to make the tree foliage look nice, but then I also have to make impostor versions of those shaders, but also, the foliage and bark doesn’t use the same shader, and argh, everything is so complex. npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen These days I use Bluesky and Mastodon equally, and usually cross-post to both. I do it manually, which is often not an issue, but for posts with multiple images it's really a drag due to the alt text requiring a lot of clicks on both ends to copy-paste. I wish there was a simple automated Bluesky-to-Mastodon cross-posting solution. (The other way is not great, as the Bluesky character limit is smaller.) I tried Buffer a while ago, but it was bloated and didn't cover the basics well. npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen @nprofile…d23x The real answers were the items we made along the way npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen While in Japan on holiday, I’m seizing the chance to do important research on aerial perspective. https://cdn.masto.host/mastodongamedevplace/media_attachments/files/114/646/066/391/099/161/original/03c13b36510dd898.jpeg https://cdn.masto.host/mastodongamedevplace/media_attachments/files/114/646/066/472/810/456/original/17e9c16b33533d49.jpeg https://cdn.masto.host/mastodongamedevplace/media_attachments/files/114/646/066/488/076/003/original/939b08323f27f116.jpeg npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen @nprofile…d23x @nprofile…mrwr @nprofile…rwsn Sure, sure. To the average user they aren't significant issues, and certainly smaller than the issues/hassle of base stations. By now there are way more inside-out headsets out there than ones using base stations. But different people have different needs. npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen @nprofile…d23x @nprofile…mrwr @nprofile…rwsn Inside-out tracking without base stations has worked great for years, at least in the headsets that does it best. When people can play Beat Saber at Expert+ difficulty, tracking can’t be too much of an issue. That said, it does have the issue of not supporting custom trackers, and it’s sensitive to too dark or too bright (outdoor) lighting of the environment. npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen With over a hundred pages, my personal website is on the larger side. I started it all the way back in 1998, and I've lost track of all the ways it has looked and functioned over the years. I've done a bit of digital archaeology to rediscover its past: https://runevision.com/about/evolution/ #webdesign https://cdn.masto.host/mastodongamedevplace/media_attachments/files/114/586/005/552/156/449/original/6bdcad9bcd7bde63.png npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen @nprofile…gvnm Thanks! Yeah, somewhat sad. Then again, I'm happy where I am now, and Unity - eh - maybe Unity will be able to turn things around one day? And there's probably at least a few people who work there now who like their job there, even if it's no longer a good place for most of us old-timers. npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen @nprofile…gvnm Congrats! By the way, I finally got around to listening to that Wookash podcast episode you were in (since I was traveling, and that's the only time I listen to podcasts). Very nice listen! npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen I wrote a bit about the many features I worked on at Unity Technologies 2009-2020, while the company grew from 20 to 3000 people. Get a peek behind the scenes of some familiar Unity features, as well as a few that never shipped. https://runevision.com/tech/unitywork/ #gamedev #unity3d npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen I'm taking a break from gamedev to work on some improvements to my personal website. Did you know that for 20+ years it's been powered by a Microsoft Access database of all things? Apart from the blog (which is only one part of the website) all pages have to be edited in this ancient database program, since I never bothered to implement online editing functionality. https://cdn.masto.host/mastodongamedevplace/media_attachments/files/114/443/802/410/926/728/original/442e049accc1e3bd.png npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen @nprofile…k0gr good writeup. My primary reference for pros/cons is this document by nothke: https://gist.github.com/nothke/a3ba1d26668e33955b5ed44b59c67c3f So many of the cons there are deal breakers to me. A few of them has since been addressed, but I think most still remain? npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen @nprofile…sq5t I assumed these already didn't operate within the law, but I have no idea. npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen I'm kind of fascinated by the fact that spam emails (at least almost all the ones I receive) have dropped all pretense of coming from real people or organizations and instead treat the "from" name as a mini subject line. Presumably the target audience are none the wiser, but still... Hello mr. Kills your liver (if that is even your real name), https://cdn.masto.host/mastodongamedevplace/media_attachments/files/114/342/869/699/715/845/original/2eaddc71cb8548cd.png npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen @nprofile…gvnm I think so? But it's not yet the recommended solution for game UI in Unity as they acknowledge it doesn't do everything as well yet. So I'll have to wait passing any judgement ;) npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen Isn't it curious that Unity, Unreal and Godot all use very similar UI (and underlying representation) for how a UI element is anchored to its parent container? This is based on the work I did for Unity's UI system that shipped in Unity 4.6 in 2015. It was later copied by Unreal and Godot - in Unreal's case, even before Unity 4.6 went out of beta! No hard feelings - I'm proud to have been behind this "industry standard" :) #gamedev #ui #ux https://cdn.masto.host/mastodongamedevplace/media_attachments/files/114/314/209/288/731/336/original/8731f382abfb5e7a.png npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen Current look of my procedural creature generation. Some progress - more of them look quite decent now, though there are still frequent artefacts and unacceptable results. (Yes yes I know, shipit! etc.) Classic procedural generation; no AI involved. #ProcGen https://cdn.masto.host/mastodongamedevplace/media_attachments/files/114/303/912/965/185/749/original/a6ffe09e21fe92cd.mp4 npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen @nprofile…gvnm Watched it now too. Great movie to watch in the cinema! The only rendering things that kept distracting me was that the dark grey cat every so often appeared light grey or nearly white to me. Like it’s lighting was inconsistent with the environment immediately around it. Limitations of a hacky fur shader? Or was it only me who perceived it’s shade to change? npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen I can finally work on my procedural creature parametrization again, now on a much better foundation. After working on parametrization matrix math and custom tools for the past five weeks, the results are coming together. Here's a demo of my derived parametrization tool. #ProcGen https://cdn.masto.host/mastodongamedevplace/media_attachments/files/114/224/011/105/676/048/original/fb5458a1f5a56d11.mp4 npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen For my procedural creatures, I'm still working on a (generic mathematical) system for manually creating a derived higher-level parametrization based on an original parametrization. I got some great pointers about using the matrix pseudoinverse and made a working implementation of that which works for one level of "parents", but I'm still unsure how to expand this approach to support an arbitrary hierarchy of parent parameters. #math https://cdn.masto.host/mastodongamedevplace/media_attachments/files/114/121/633/536/404/648/original/a7e7e1c6e1b5f31c.png npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen I've been pondering a new paradigm for my procedural creatures, where instead of trying to design a high-level parametrization by reducing the amount of parameters, I aim for a hierarchy of parameters where some have large effects and others are for fine tuning. I've been exploring the mathematical foundation of this on paper and noted down my thoughts in this Google doc. Not sure if it makes sense to anyone but me, but if it does, I'd love to hear your thoughts! https://docs.google.com/document/d/1rHYf1wPzj5-fvcGvRwSpNB0JinX-j387WPyRPkzgR34/edit?usp=sharing npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen @nprofile…gvnm How much of the "going to shit" is impacting your own everyday life in a tangible way here and now? I mean, if you stopped using the Internet and reading the news, how much of the "going to shit" would you still perceive? I'm genuinely asking, because I don't know your situation. In mine, I'm fortunate that a lot of it is only via Internet and news, and I'm very deliberately curating how I consume that in order to minimize the negative impact on my well-being. npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen By popular request I've added support for color RGB dithering, CMYK halftone, true 1-bit low-res effects, and much more to the Surface-Stable Fractal Dithering repo! See it all in this groovy feature demo video (I spent a long time on it) and 🔊sound on: https://www.youtube.com/watch?v=EzjWBmhO_1E #gamedev #vfx https://cdn.masto.host/mastodongamedevplace/media_attachments/files/113/962/869/866/679/126/original/89c1d412465c4737.mp4 npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen For my game The Big Forest I want to have creatures that are both procedurally generated and animated. And not just crawly critters or aliens, but specifically mammals. This is quite a research challenge. Here's a write-up on my progress over the past few years: https://blog.runevision.com/2025/01/procedural-creature-progress-2021-2024.html #ProcGen #SoloDev #IndieDev #GameDev https://cdn.masto.host/mastodongamedevplace/media_attachments/files/113/809/931/541/607/266/original/568c9528b2c1a1cf.png npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen @nprofile…k0gr Here's mine. Can confirm outlasting centralized platforms, my blog/site has content from 1998-2024 :) https://blog.runevision.com/ npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen @npub17wr…prsu I'm not familiar with usage of industry lists. How could they ever be checked for what they are used for? And if someone mails everyone in an entire industry, isn't this always spam regardless of the topic? npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen I'm very confused why I received a spam email from Marc Merrill, co-founder of Riot Games, promoting his new movie about American nonpartisan election reform. I have no relation to Marc or Riot Games and am not even American. The mail is sent from his Riot Games email address, not a personal one or one from the Unite America fund that he apparently co-chairs. All the links are legitimate and the mail passes DKIM and DMARC checks. It's just - weird. npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen Hi! I'm Rune, a full-time solo indie game developer (art, design, code, ...). After releasing my first game 'Eye of the Temple' I've been busy developing procedural generation tech for my current game 'The Big Forest'. I often post about it; here's a sampling of my experiments. #GameDev #IndieDev #ProcGen https://cdn.masto.host/mastodongamedevplace/media_attachments/files/113/232/515/428/817/330/original/4246be8c433f43b0.mp4 npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen Shortly after the LayerProcGen release, @npub1ukh…44ss got the core framework running in Godot 4. He's since been working on getting the various included utilities and demo scenes working as well and is making steady progress. https://social.tchncs.de/@Sythelux/112549180902464266 npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen We may not yet have leaves on the trees here in Turku, but today we were beckoned by these mossy stones in the sun. #Mosstodon https://cdn.masto.host/mastodongamedevplace/media_attachments/files/112/365/968/833/820/748/original/2bab1ee65c772905.jpg npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen @npub1aw2…8vv5 Splitting up a company into multiple separately publicly listed ones is no more a rebranding than merging multiple companies is? Or what am I missing? npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen @npub1aw2…8vv5 Oh indeed, even ignoring the hand-drawn style, the one on the front page just has better proportions for a logo. Curiously they are using wider proportions for the website favicon too, but without the middle gap going further in, like in the drawn one. Seems they are very inconsistent in logo use. npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen @npub1aw2…8vv5 This is just making explicit in legal-compatible speak how roadmaps always work. Talking about your plans for the future should not be a legally binding contract. And potential customers should not buy/subscribe based on future plans anyway, but based on the value proposition of the present offering. npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen @npub1ykd…6j2y @npub1u7r…ckye Looks like all my Burst methods are shown in the Burst Inspector for now, but for reference I'd love to know more about those discriminators that will silently fail Burst optimization. Are they documented anywhere? npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen @npub1ykd…6j2y @npub1tv5…0sp7 Ah, I was about to ask how you know about silent failing code, since for all I know, some of my smaller functions might be without me having noticed. Time to look into the Burst Inspector. npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen @npub1ykd…6j2y I've noticed that Burst compile errors, unlike regular compile errors, are cleared when pressing the Clear button in the Console, and don't disappear on their own when the issue is fixed. So I have to constantly clear them myself and change the script after that to see what the actual current issues are. That's very annoying indeed. Is that it? If there are cases where it doesn't produce errors at all, that sounds very bad. npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen @npub1ykd…6j2y Oh! I've been porting code to Burst over the past three days and found it quite approachable once I'd gotten into it and had made myself a few array wrapper structs. I had never used Burst before that, nor coded in C or similar. Do you mean a pain to get it to compile to get base-level Burst advantage, or how to take it further than that (which I have not looked into yet)? I'd be curious to hear some examples. npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen @npub1aw2…8vv5 @npub1jgf…qswx Firefox is open source. Must be easier to make a fork with AI crap ripped out than to start from scratch. npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen @npub1mc3…nkdg Oh you're also working on procedural quests! Does this involve procedurally generating dependency graphs/charts? I've been working a bit on that myself (https://mastodon.gamedev.place/@runevision/109450733163210666). I know I and many others would love to hear more about your implementation approach. npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen @npub1aw2…8vv5 What crash? It's about the same as it was 6 months ago and also about the same as it was 12 months ago. It goes up and down all the time. You can look up analyses, but they sound like reading tea leaves (after the fact) to me. npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen @npub1aw2…8vv5 Most of the ups and downs of a given stock comes down to general trends in the stock market; not anything that company did. Here's Unity vs ARK (a fund comprised of many tech companies). Look how closely they follow. https://cdn.masto.host/mastodongamedevplace/media_attachments/files/111/137/487/028/909/408/original/8a814619a199cfd3.png npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen https://cdn.masto.host/mastodongamedevplace/media_attachments/files/111/090/821/016/993/191/original/653bdd1a9cd8cf2d.png npub1vz5eac3nvy8el29dtpn0y8qzcjl5sevasyuffy8avtecrfjyxw0st6pys7 Rune Skovbo Johansen Contrary to what Unity says themselves, Unity 2022.x or earlier and Unity 2021.x LTS or earlier are NOT affected by the Unity Runtime Fee as far as I can tell, based on Unity's own Terms of Service. Read the details here: https://gist.github.com/runevision/1c0d6a856dda1461577cf7f84574253a