I'm just a small town AAA graphics programmer in Chicago. Proud to have worked on Gears of War: E-Day, Gears Tactics, Gears 5, and other games. I like to post about my numerous personal projects, and I like to think out loud a lot. Expect weird humor, esoteric ramblings, odd thoughts, my home made synthesizer visual programming language, sculptures, digital painting, and lowfi 3D. Fervently anti-ai. Chronic pain enthusiast. 🏳️⚧️ Curses are blessings with caveats.
Public Key
npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx Profile Code
nprofile1qqsq85r7pxn8ntsr86enxg5l9ejcuwte4wlf9rjh4lpcc8dvksvqg9spz3mhxue69uhhyetvv9ujuerpd46hxtnfduqs6amnwvaz7tmwdaejumr0dsr3qzgq
Show more details
Published at
2026-10-18T06:32:14Z Event JSON
{
"id": "a50751c419629ab44a084ae444c65c2b953c945e18288e6eaa04996e296ab078" ,
"pubkey": "03d07e09a679ae033eb333229f2e658e3979abbe928e57afc38c1dacb4180416" ,
"created_at": 1792305134 ,
"kind": 0 ,
"tags": [
[
"proxy",
"https://mastodon.gamedev.place/users/aeva",
"activitypub"
],
[
"client",
"Mostr",
"31990:6be38f8c63df7dbf84db7ec4a6e6fbbd8d19dca3b980efad18585c46f04b26f9:mostr",
"wss://relay.ditto.pub"
]
],
"content": "{\"name\":\"aeva\",\"about\":\"I'm just a small town AAA graphics programmer in Chicago. Proud to have worked on Gears of War: E-Day, Gears Tactics, Gears 5, and other games.\\n\\nI like to post about my numerous personal projects, and I like to think out loud a lot. Expect weird humor, esoteric ramblings, odd thoughts, my home made synthesizer visual programming language, sculptures, digital painting, and lowfi 3D.\\n\\nFervently anti-ai. Chronic pain enthusiast. 🏳️⚧️\\n\\nCurses are blessings with caveats.\",\"picture\":\"https://cdn.masto.host/mastodongamedevplace/accounts/avatars/000/004/029/original/7563c69400d14082.png\",\"banner\":\"https://cdn.masto.host/mastodongamedevplace/accounts/headers/000/004/029/original/62f52ec7f8111294.png\",\"nip05\":\"[email protected] \",\"fields\":[[\"pronouns\",\"she/her\"],[\"website\",\"http://zone.dog\"],[\"itch.io\",\"https://aeva.itch.io\"],[\"chicago\",\"bada bing bada toot baby\"]]}" ,
"sig": "0068456e2ac8025cbbbd6dd7707a24f8e2f2c796dacd4eb0c035fbe531c5baaf36ec3183228f2f12c9305985ae91e45bf347d574dfc98b4024ed7c0f72657745"
}
Last Notes npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva i think one of the interesting things about doing code reviews is that they demand different things of you as a reviewer depending on the nature of the changes. reviewing shaders, for example, often requires double checking math to confirm it works as intended and that edge cases are well handled, whereas reviewing boilerplate often requires a fidget toy. npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…pn4m I really wish the bubble would pop already and for all the AI bullshit to evaporate in an instant with it. I'm not optimistic about it though. npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva Mark Down, the inventor of markdown, npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…lsxd add bath. the water really pulls out the bubbles npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva "domestication by what???" fire, duh https://en.wikipedia.org/wiki/Cooking npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva you ever wonder what humans will be like after another million years of domestication npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…3vpz 6. even though you said the intent is for this to be generic, it would be a good idea to pin down some specific use cases you want this to be really good at so the design can account for them early and you're less likely to need to bring in painful breaking changes later. ie, being easily translatable to shaders or wasm, being part of a stable archival safe platform abstraction layer thingy, live reloading, etc. npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…3vpz 5. if you intend for the compiler to be portable to multiple architectures, it might be a good idea to pin down the exact behavior the instruction should be expected to do so you don't have backends doing different things because hardware npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…3vpz 4. i think it would be cool if the language could run interpreted. that might necessitate rethinking how the instruction struct is organized though unless it would be dumping the information into a more optimized internal form npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…3vpz my thoughts: 1. i think it would make more sense for the primitive types to only be differentiated by word size (ie, 8bits, 16bits, 32bits, 64bits, etc) and then have different instructions for int arithmetic and fp arithmetic 2. i think it would be better to make the API headers C compatible instead of C++ so other languages can be used to implement the high level compiler 3. i think jumps should be instructions npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…3vpz would this essentially be an IR defined in terms of C structs, and this IR/API would be for some sort of portable compiler? npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva i'm in need of examples of well known ordered sets of five things, anyone know of any well known ordered sets of five things? #OrderedSetsOfFiveThings npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva oh no, i have idea for a short platformer... i wonder how grumpy wayforward would be if i made "Shantae and the Unauthorized Fan Game" npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva i wonder how cheaply one can buy and convert an old grain silo into a wizard tower 🤔 npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva idk what i expected my late 30s to be like when i was a child, but i think it probably involved more candidly inventing things and living in a tower and less of whatever the hell all this is npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva conflicting feelings of everything's terrible and hopeless and i have no reason to believe that anything will get better VS what if i made a little house on my computer npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…96k2 i don't think the horrible orange man's mandate also included batman references but i could be wrong npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva you know what my home office is missing? a giant penny. I bet a giant penny would look dope as hell in the background of video calls. video call bookshelf backgrounds are so 2019 npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva how do you people watch major corporations rip all of the copper out of their own walls to sell for scrap in broad fucking daylight and go "oh yeah this the future this is definitely so sustainable we'll all have to do this some day whether i like it or not" npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva i feel like i'm taking crazy pills every time someone says that ai is inevitable in software development. like people say this even when they're denouncing it, and i don't understand what world they live in. this company has gone all in on this bullhockey and i've been staring at one of their flagship products and it's been at the very knife's edge of non-functional for at least a month now and i am completely beside myself how it is that anyone can pretend they have a real product anymore. npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva like... windows millennium edition was a better, more reliable product than this. like, somehow they hit rock bottom and said you know what this isn't good enough! get out the drilling machine we gotta keep going npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva anyways, I have to use another microsoft SAAS product at work, and for the last month or so every page on that more different service has a random change of a persistent 500 error that goes away if I wait like 5 minutes. My hands don't even shake at how shit it all is anymore. I'm just completely baffled at how mind mindbogglingly beyond the pale shit it all is now. npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva Last I remember looking, codeberg's messaging describes small low impact projects are something that is merely "tolerated", so I'm keeping old github repositories around as backups, and only moving over stuff I'm actively working on. So far it's been *really* nice, and I hope they keep "tolerating" small low impact projects. npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva I wasn't originally planning moving my shit off github since the service had been very reliable in the 15 years I've used it and I figured it was better for discoverability (which in retrospect, I'm unaware of anybody coming to one of my projects via any means other that me talking about it on socials or directly), but the quality of service has been so poor for such a sustained period of time I've already started moving things to codeberg. npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva I'm looking forward to the sudden influx of expensive data center GPUs on the steam hardware survey a year from now 😎 https://nerdculture.de/@fzer0/117004011410638187 npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva Under Where npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…8g7f simply pay attention to what you are doing and think carefully npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva anybody want to know my verification code npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva i wrote programming code today using my brain and my own two hands (i do this every day) it was really nice npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…6g7u idk what will end up being the most popular reaction, but the direct consequence of it for me is because I know the slopists don't understand or actually care about art and their training sets are all very heavily weighted towards only being able to make "high value" "art" for the sake of benchmark dick waving, I'm more inclined to stick to techniques that would be superficially scored low by shithead slopists, and instead put the polish and attention where it actually counts. npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…6ddv I would love to be able to see these all as still images on a webpage + the combined view I could compare with. Do you have them online anywhere? npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva get a tub of vaseline and write "TAA" on the label with a sharpie npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…f63v if you don't know the answer don't copy and paste over ai generated bullshit that's super rude npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…f63v last i checked the regular kernel has improved tremendously for realtime use, and the realtime kernel patches are no longer maintained. i don't think the clock randomly running fast is likely to be a problem with the scheduler though. regardless, i'm not changing distros. npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva my linux sound problems in 2006: i can't have more than one program play sound at once, but i usually open xmms first so it's basically a non-issue idk why anyone would ever want anything better, my linux sound problems in 2026: sometimes, infrequently, midi playback speeds up slightly and it drives me up the fucking wall. i think it might only happen when my computer is plugged in, but i'm not sure. i will kill a hostage every hour, (disclaimer 4 spooks & losers: the hostage thing is joke) npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva throwing this on the small games ideas pile but wouldn't it be fun to make a little collaborative model rail road game where you get some tiles you can place to extend the map, and/or rearrange existing tiles, and then you can zip around on the tracks npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva also definitely not making a game engine again. this would be a game "doom pile" :3 npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…kflw i built mollytime up to something very functional in a few months and got polyphony online by the end of that year so like i can do complex stuff just fine it's not a lack of ability. I just only have weekends to make substantial progress most of the time because my work is super draining, and that's contingent on health npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…kflw I want to apply the skills I've already learned it just takes a long time and I've got no time npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva i was thinking the first smol game could be a 2D adventure that's basically a stripped down version of hero quest, no animation just 2D drawings. i've coded things like that before so it's not too crazy but it's actually over scoped so, probably not the first one. first one will probably be rebuilding my sigmar's garden clone as a 2D game and using mollytime for dope ambiance and interactive sound effects, and that could be the foundation needed to build the earlier idea npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva i'm thinking of putting my racing game on the back burner indefinitely and focusing on making substantially smaller scope games so it's just like, one new System at a time, and that way every one of these would produce new parts i can handily cannibalize for future projects. i'm just worried i'll never come back to it if i do that npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…6ddv i love the style of the early 3D era so much. the use of color was so much more direct and intentional, like paintings. i miss that. npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…5raw being the unicorn programmer who studied computer science at a liberal arts college, i can tell you with great confidence that this probably has nothing to do with sigmund freud npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva anyways the attack boils down to there being part of your program or the program that makes your program that you are not able or willing to read (eg nobody's got time to disassemble clang, and how do you know your disassembler isn't in on it too) I just think it's funny because the slopists don't even need a compiler to create those pockets once they give up trying to review anything npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva there's a hypothetical compiler exploit that i always thought was a bit out there but it was a big deal with some folks, and i haven't heard anyone talk about it in a hot minute. the gist is, you make a custom version of clang or whatever that adds a payload into what it builds (presumably not everything or it would be easy to track down) including itself such that it is self-perpetuating, and then you somehow trick the clang maintainers into shipping that instead of a real release build etc npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva me: "wouldn't it be great if squeezing two house cats together would cause them to tuvix together into a larger house cat and then they'd safely revert to normal next time they got the zoomies" the evil genie i accidentally freed from eternal torment who has been trying to trick me into wishing for normal things for like several months now: "ok now i want to see that too" npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva i think dr mario might be a psychiatrist actually cuz real doctors are usually less eager to click together random medications like legos npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…5dg2 the smile at the end is real good npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva imagine if snakes evolved to have a long row of tiny wheels on their bellies much like inline skates and moved around like someone rollerblading npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…d6hc @nprofile…26hz @nprofile…4fmn it's not a warning, it's always a prompt to install an addon npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…26hz @nprofile…4fmn how come when a site uses webmidi firefox pops up a big scare thing saying the site is installing an addon instead of just having webmidi be a normal api npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva this project is a dignified non-dogmatic rationalist marketplace-of-ideas meritocracy. that is why this particular controversial technical issue is beyond discussion, and we will be moving forward with my personal opinion without any community input. it is fine for me to have this position as the BDFL because if you don't like it you can always fork our open source code and spend decades building up the institutional material support necessary to maintain this critical infrastructure npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva is an arsonist someone who putts their arse on things npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva by some miracle zomg.bandcamp.com was not taken, so now its mine and I can move on with my life (I'll upload the album later) npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…r2vp i giggle every time i refer to my sky rendering project as "cloud computing" npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva i've got all these visions for wonderful things that i want to make, and it's too much to do all at once, but every day i make a little progress (and every day the visions change a little more) npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva the word "unnecessary" has very pleasing number of letter repetitions that do not aid in its recognition nor meaningfully change the pronunciation, but i think it could have gone harder npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva shaders would be better if they were made out of chocolate so you could gnaw on one while the remaining zillion are still compiling npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…fnex @nprofile…j05z SteamOS seems to steadily be taking up the mantle. Also RAM will get cheaper again if microsoft goes under. npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva what's the simplest way to generate a blue noise texture npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…vmag @nprofile…4e67 and since I didn't register distance tinting as being particularly significant in my recent cloud watching adventures, I suspect it wont make much of a difference in the periphery of the player's vision either npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…vmag @nprofile…4e67 I'm not too worried about the specifics of distance tinting for the clouds because I'm just trying to get the broad strokes of the sky rendering sorted out for now before moving on to other aspects of the game. The player's attention under normal gameplay is going to be below the horizon, so the purpose of having striking cloudscapes is in part to tantalize the player into look somewhere other than where they need to be looking. npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva ok so like no spoilers please but i honestly don't remember if joe biden is still alive or not npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…6ddv this is really neat :O npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…vmag as for the other stuff, continuously sorting the clouds was more distracting, so what I'm doing right now is only re-sorting them once every second or so and then cross fading to their new positions, except that cross fading via alpha blending wasn't workable so I opted for dithering instead. I suppose I could fade the pairs in and out one at a time such that one half is always at full opacity. npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva triple-aye pee bee arr "realism" only strives to capture what is mundane about physical reality whereas i'd like to leave that at the door and run away giggling with what is sublime about subjective reality, and i want it to run great on your computer even if you pulled it out of a time capsule from 2008 npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…hr75 the real ones know 😎 npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva also I've been staring at these too long and now they all look like thumbs to me lol npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva i really need to draw a greater variety of cloud sprites because I want it to periodically spawn some that look like horses and toasters and snails and stuff npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva this is more or less the same thing as yesterday, but now the ground is really fancy about how it uses the oklab ramps, and the sky has a different ramp. also more cloud layers https://zone.dog/games/firmament9/ https://cdn.masto.host/mastodongamedevplace/media_attachments/files/116/871/123/602/565/758/original/37c878242c723eb5.png npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva fun thing about this project is when i take a screenshot and am like ugh it looks better in motion i don't have to then go and record a video i can just be like HEY HERE'S THE URL SEE IT FOR YOURSELF IN YOUR WEB BROWSER https://zone.dog/games/firmament8/ also btw I put together a better gradient drawing system for the sky and also for the ground https://cdn.masto.host/mastodongamedevplace/media_attachments/files/116/865/827/050/067/912/original/ff5dfe772ba1941f.png npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva http status code 200: "You Got Served" npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…vmag several feedback loops with low and high pass filters. if you make a feedback loop's period 1/hz eg 1/440, and you feed noise into it you get something that sounds a lot like a string being agitated at that frequency, and then you can tinker with it by subtracting harmonics or adding resonance with low/high pass filters. npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva same patch as the breath controller resonator I posted four days ago, but i'm using my mandolin to agitate it instead anyways if you were just thinking "wow i'd love to hear aeva noodle on a mandolin for exactly 11 minutes and 14 seconds while trying (and intermittently failing) to be *very* careful to be super super gentle when hitting the notes that match the resonant frequencies of the cord she's simultaneously holding down with her foot on a midi controller", i've got fantastic news for you https://cdn.masto.host/mastodongamedevplace/media_attachments/files/116/848/732/877/997/477/original/2056d4a20b4d4fa3.mp3 npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva i was thinking something like this for the moon passing behind clouds: basically, have the moon drawn with an alpha masked texture after the atmosphere gradient but before the clouds. when the clouds draw, use the angle between the moon ray and the view ray to blend a different texture onto the cloud texture to add scattering and a halo or something weird like an iris https://mastodon.gamedev.place/@aeva/115993303072692434 npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva i had a bunch of cool ideas last night and upon waking up this morning for how to add celestial bodies to this (the moon should back light the clouds in cool ways, if i use a celestial sphere to determine the positions of the sun and moon and fixed stars, then i can animate time moving away too fast in a cool way, and also i should put some refraction on them when they're near the horizon) but i've gotta go to work in a few shakes, and i've got a commitment tonight, so probably not today npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva remember you swing every miss you take don't npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…pwwx oh wait sorry i misread i have no idea npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…pwwx !!!!! npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva i keep feeling like i should do some research into level design for racing games, but i'm not really sure what i'd search for to find what i'm looking for and deep down inside i know what i really want to know is what the fzero gx folks knew and i doubt they did any gdc talks npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva ok the PowerVR issue might be fixed now? so, if you tried this before on a phone or a tablet and you got a black screen, please try again and tell me how it goes :O https://mastodon.gamedev.place/@aeva/116814363698646279 npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva i made a horn in #mollytime that you operate by blowing into a microphone while holding down keys on a keyboard here's 9 minutes and 21 seconds of that :3 https://cdn.masto.host/mastodongamedevplace/media_attachments/files/116/825/415/083/584/908/original/8f03ff1fb8e44361.mp3 npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva the remaining known issues: 1) some PowerVR GPUs implement OES_texture_float without implementing OES_texture_float_linear. I think I might be able to remove the need for OES_texture_float, gonna look into that later 2) apple's GPUs seem to still have a similar problem as the nvidia GPUs but were not fixed by the nvidia fix. no leads on that yet npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva i'm never using a == to compare to floats in a shader ever again npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva I wonder if nvidia is compressing vertex buffers or something wild like that. npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva The lesson learned is that if you upload a 0.0 or an 1.0 as a vertex component what you get on an nvidia GPU is not always interpreted as a 0.0 or a 1.0, and thus a == test to either may fail when it shouldn't have? but not like, all the time, just sometimes??? There's a story here, but alas I don't think we'll get to hear it. npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…w54f solved it!!! https://booping.synth.download/notes/ao0bncwafk1505wz npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva alright, finally have a moment to dig into the nvidia bug on the actual hardware... ... codeberg is down npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…tsex try it again, I got a report of it working on a pixel 7a after I reworked things to get better fp precision npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…tsex which phone npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…55k5 let me know how it goes! npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…ks0x I haven't played it, but they have a really nice volumetric cloud rendering system. I'm guessing they're using stacks of ground-parallel alpha masked layers to make them so nice and round, and might be doing ray marching to figure out the light propagation. Much fancier than what I've got, though I have the math worked out such that I can generate the geometry needed to do layers like that. Those are aspirationally good clouds. npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…55k5 oh noo :( npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva I'm probably going to replace this with a system where the sprites mutate and fade out as they travel and new ones appear to replace them, since that'll likely look cooler and also let me draw more sprites at once. buuut, I'm gonna need to draw some more sprites first before I can do that well npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva I think I am probably on to something with this sky rendering system because I showed this to my mom and she exclaimed "oh my gosh!" when the page loaded :3 npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva okie I like this version a lot more (click the link to see it) https://zone.dog/games/firmament7/ this version has the clouds draw twice fading in and out in opposite phases. the clouds that are in the invisible phase are re-sorted, thus the system is able to make gentle intermittent corrections to the draw order without being super obvious. I'm using stochastic transparency to do the blending because it turns out using alpha transparency makes the math much harder to get right. https://cdn.masto.host/mastodongamedevplace/media_attachments/files/116/814/181/148/078/615/original/ed2b7af7e84d4f1e.png npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…hn2d I think you mixed me up with eniko :) npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva also, if anyone has recommendations on general reading on the topic of designing particle systems (both in the sense of engineering and in the sense of making cool art), or on the topic of particle sorting i'm all ears npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva I'm considering working around this by drawing every sprite twice so I can change their order intermittently and then blend out the old sorting position, but I'm wondering if anyone has any better ideas for how to handle the ordering problem without introducing popping? I'm keeping this strictly limited to forward rendering without any render targets or other newfangled rendering features so keep that in mind. npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva I'm building what a sprite instancing system, which means I'm building a particle system. I'm tracking their positions in a repeating coordinate space such that they can move and scroll past endlessly. These are drawn with pre-multiplied alpha blending and sorted in back-to-front order. However, because the sprites can overlap, the draw order can change as they move. As a work around I made it so they only re-sort when out of view, but that can lead to oddities when the camera moves. https://cdn.masto.host/mastodongamedevplace/media_attachments/files/116/808/093/421/410/289/original/04a9bce3d37b091f.png https://cdn.masto.host/mastodongamedevplace/media_attachments/files/116/808/099/185/430/716/original/e157c9adefe7909e.png