I'm a just a small town AAA graphics programmer in Chicago. I worked on Gears 5, Gears Tactics, and other games. My work is secret, but my personal projects are not. 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
nprofile1qqsq85r7pxn8ntsr86enxg5l9ejcuwte4wlf9rjh4lpcc8dvksvqg9spz4mhxue69uhhyetvv9ujuerfw36x7tnsw43q5qzpn3
Show more details
Published at
2026-08-12T17:04:49Z Event JSON
{
"id": "eaa5b12d8c51b2024b53b8b6f6feb38a1c3f9bff8c62726c9b2482625e3440f6" ,
"pubkey": "03d07e09a679ae033eb333229f2e658e3979abbe928e57afc38c1dacb4180416" ,
"created_at": 1786554289 ,
"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 a just a small town AAA graphics programmer in Chicago. I worked on Gears 5, Gears Tactics, and other games. My work is secret, but my personal projects are not.\\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": "63e5cf1a47d5bd1c28c5b5decf6dfef010a44f715735ef539f7b5d687b5aaa3255fd3e3a78a2080da2896cd802fade8d8d5349c62cee7a7983c097c32ba34d15"
}
Last Notes npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva i wonder how cheaply one can buy and convert an old grain silo into a wizard tower 🤔 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 @nprofile…5dg2 the smile at the end is real good npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…d6hc @nprofile…26hz @nprofile…4fmn it's not a warning, it's always a prompt to install an addon 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 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 @nprofile…55k5 let me know how it goes! npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…55k5 oh noo :( npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva syntax is already intrinsic in the gui, so you can't write syntax errors. most let you make invalid connections and then admonish you for it (but it's easily corrected so I think most people don't mind anyway) and there's the tricky kind of error where the program was fine but now it isn't (which is harder to categorically eliminate but i think can be solved architecturally). also the main complaint of hell spaghetti can be solved procedurally, idk why most visual languages don't bother npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…lyy3 no, I'm just really excited about mazestalker specifically lol npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…lyy3 this is not a zelda? npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva you ever wonder why there's always ads all over the city for exactly one or two accident lawyers with improbable phone numbers at any given moment, but you never see an ad for those specific accident lawyers with improbable phone numbers again next time you go outside? do they retire once they score the big haul? do they take turns smiling powerfully from the sides of buses? npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…0yqm frankly this is the most liberating mindset one can possibly have i went from this https://mastodon.gamedev.place/@aeva/114612264992461462 to this https://mastodon.gamedev.place/@aeva/114946016340774053 over the course of roughly two months of simply building something because i really wanted to i made the mistake of thinking maybe i should pivot to Turning It Into $omething, but thankfully quickly realized that would be a huge mistake so i immediately pivoted back to just simply doing stuff i actually wanted to again npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva >>> len("longer") 6 >>> len("shorter") 7 npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…pppj why npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva getting fed up with not knowing the exact shape and scale of the visible sky after 38 years of looking at it and finally sitting down to work out the math and produce a model i can inspect was a surprisingly mind expanding experience. makes me wonder what other basic trig problems which let you reach out and touch the infinite have been hiding in plain sight all along? npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…7qx9 alright time for me to pass out gnight npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…7qx9 i am absolutely the sort of person who does that lmao npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…7qx9 imagine looking at the tech industry collapse and wave after wave of hardware shortages for the better part of a decade and jensen huang and thinking "this is just an anomaly, normal people will definitely be able to buy ram and high end RTX cards again any day now" npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…7qx9 yeah. also it still is the most portable graphics API npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…7qx9 i'm trying to see how far I can make with no intermediary render targets because my core 2 duo machine can't really handle them npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…7qx9 i worry the moment will be over by the time this game is playable but i'm hoping i can make something fun and pretty that runs on a potato and can crank out 4k 120hz with clean frames and it goes so hard AAA dies of embarrassment for their vaseline in your eyeballs "aesthetic" thankfully it seems like unreal at least has taken the "we want worse looking games" meme to heart without understanding the message npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…7qx9 absolutely not. i'm in my clean frames era npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…7qx9 i ended up deciding to yeet SDFs from the project for other reasons, but the splat renderer would have ended up being untenable because mollytime ended up being CPU based instead of GPU based so the CPU ends up being the more important resource to free up lol npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…7qx9 i'm also intending on using it in mollytime for visualization stuff in the future npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva my current understanding is 1. make game 2. ??? 3. profit npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva how does one "go indie" npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva they should make a prequel to Cyberpunk 2077 called Regular Punk 1977 npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva i'm never going to try it because i don't drink alcohol but i suspect amontillado would be unlikely to live up to its hype npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva inconvenience store npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…0q2q it definitely makes a real difference to be able to just participate in one's communities directly instead of via an engagement algorithm. the way I post changed a lot after quitting twitter even though there was a significant overlap in my community there and here, and I think a big part of that was because simply I did not need to optimize for their ever changing engagement algorithm anymore to be heard. npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…50gl >:( npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva i reimplemented sin and cos ALL BY MYSELF because the people at the c++ factory in their finite wisdom decided constexpr shouldn't be able to do trig, only to discover that the people at the c++ factory also felt that constexpr should only be allowed to iterate just a teensie tiny number of iterations i'm now wondering what exactly constexpr is actually useful for npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…c5ug @nprofile…hm63 I moved mollytime over to codeberg earlier today. I'm sick of github's bullshit npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…hm63 probably better not to upload it into the ai training dumpster if it isn't already there npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva i was feeling like my web site was too plain and too flat and not anachronistic enough so i went and fixed that today ^_^ https://zone.dog/ npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…x3ej self hosting with a raspi is more to the spirit of the open web but unless you've got decent upload bandwidth scrapists probably can saturate your bandwidth relatively easily npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…x3ej i highly recommend a simple static serve website if your site can be one. apparently most of the costs scrapists generate (regardless of your webhost) is from CPU time if you're hosting pretty much any backend web framework npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…x3ej these wonderful people: https://www.nearlyfreespeech.net/ npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva i think it costs me a couple of cents a month to keep it online lol npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva slop engines aint killing my web-site because i never collected any telemetry in the first place 😎 as far as i know the only traffic comes from when i post links to new pages on here and from the real ones who look every now and then out of curiosity and/or boredom npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…g3yr when did "covjd" end lol npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…td04 i think any sheen at all would break the spell, but i've wondered about how black blackest black is npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva if vantablack were real and i could buy it as like a normal safe durable house paint, i'd use paint the floor in a corner of a room such that it looks like the non-void parts were painted, and the painter painted themself into a corner and had to walk across the floor they freshly painted with reality. the hardest part though would be the foot steps where they smudged the drying reality on their way to the door. maybe this is more of an art installation piece npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva limited edition toilet paper npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva imagine being the first person to eat a burrito npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva I really hate basically everything about Slack's UI npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…7qx9 what are you talking about linux is soo played out. BSD and Haiku are where the action is happening now. 9front if you're brave npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva now this is critical: the hipster revival is imminent but hasn't happened yet! it's before it was cool again *right now* :O npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva you ever think about object capabilities npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…uwyr i wonder if i should consider doing the same 🤔 npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…7qx9 well none of it is mine, blessedly, and also it's probably the ram upgrade i installed recently npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva i've never seen a computer fail memtest86+ this fast before ;_; npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…0am6 Generally I encourage my team to do small changes, but right now I'm reviewing a real doozy that really absolutely could not be done any smaller than a few thousand lines. My policy is that the contributor need to plan ahead for the code review to take an amount of time that is proportional to the surface area and complexity of the changes. npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva [approves 10,000 line pull request, slowly removes glasses and thoughtfully cleans them with a small cloth] I honestly don't think any bugs are in there. npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…2juj i think it's an eyeball of someone with jaundice, and they're using they finger to pull the lower eyelid down a bit npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva side thought, I'm convinced that chasing after "industry standard" feature parity isn't actually necessary for free software projects aiming to unseat the big proprietary goliath so much as simply understanding what needs are actually being met or not. like godot for example, they could clean house tomorrow if they realized the thing big studios are willing to pay top dollar for is "10000 people can work on the same game at the same time" not rendering feature parity with fucking unreal engine npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva i think its hilarious that the blender folks took all this trouble to rip out the Blender Internal renderer and very pointedly have only given us respectable rendering options like PBR and ray tracing and greasy pencils and that super cool paint thing, and yet all i seem to want to do these days is to punch in vertex colors i picked out myself and feed them directly to the shader output with no lighting what so ever npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva some of the trees are punching through the sky dome lol npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva added some normal trees to bring it together :) https://cdn.masto.host/mastodongamedevplace/media_attachments/files/116/593/932/187/895/441/original/90296271c92d30b5.png npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva experimenting with this outline technique a bit more. I'm really happy with how stable it is :O https://cdn.masto.host/mastodongamedevplace/media_attachments/files/116/593/731/007/746/262/original/412f07d24a510c1a.png npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva if you were to just displace by the surface normal without scaling it, the sphere would have a substantially thicker outline than the cube npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva i figured out a way to generate displacement outlines with nearly uniform thickness :O the trick is to scale based on local curvature. i'm sure this is probably a well known method, but i feel clever for figuring it out on my own :) https://cdn.masto.host/mastodongamedevplace/media_attachments/files/116/593/555/431/571/592/original/62cea4482e00beeb.png npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…m8d2 if people's wages were also always adjusted for inflation the effect is you save less money (at least, if you don't invest it in something or convert it into an asset), but your debts vanish faster. however right now almost nobody gets a guaranteed cost of living adjustment like that so inflation just ends up slowly starving everybody npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…x3ej rude npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva "but how will we force people to work without the threat of poverty" buddy it's not like I'm gonna stop making video games npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva they literally can't run out of money they're the government they can just make more of it "but what about inflation" buddy we literally cannot run out of numbers npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva i think society would be better if they just handed out money to people no questions asked, but i suppose it's true some people might use it to be happy npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva i think more architecture should feature giant faces npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…a65n did one of the rust parts of the kernel shit the bed this time? npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…jf96 a proprietary product isn't useful to me here, especially since it doesn't support linux npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva i'm open to implementation suggestions. it's been a hot minute since i've had a hardware project like this. npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva i had this idea pop into my head recently of making a midi mandolin, and after brewing in the thought cabinet for a bit a design is starting to coalesce. i'm thinking the fretboard would be a bunch of capacitive inputs so it could do polyphonic pressure, and then there'd probably be 8 capacitive pads for where you'd strum. i've never built any capacitive interfaces before with a micro controller, but i gather you can make them with ADC pins? is there a μc that has ~90-100 ADC inputs? 😅 npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva This is the second version of the patch (voicing the Milk Bar theme from Majora's Mask), where I turned the resonance way up on the filters to see what would happen and what happened is it turned into a weird cross between a gameboy and a carillon. https://cdn.masto.host/mastodongamedevplace/media_attachments/files/116/568/147/999/681/744/original/2c1dbc1ee1d2e436.mp3 npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva This is the first version of the patch, voicing a song from Atelier Marie. The goal was for this to sound vaguely mandolin-like, but I think it sounds a bit more like a gameboy would sound like if you added a nice wooden resonance chamber to it. This is probably because I used a square wave as the only oscillator instead of a saw wave. https://cdn.masto.host/mastodongamedevplace/media_attachments/files/116/568/120/826/384/394/original/426c1aa85c2d8783.mp3 npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva i'll try to remember to post a recording later but i'm giddy about this patch i made tonight. i tried making a mandolin and failed spectacularly :D and then with some iteration turned it into something extremely pleasant to listen to (sounds nothing like a mandolin lol) npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva swordium npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…mqhy printf ;_; npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…7qx9 oh the other reason why i want to rewrite the UI is so I can yeet python entirely, which will greatly simplify the build system and make distribution much simpler npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…7qx9 describing everything parametrically was a good idea because it makes resolution independence easy and it also makes it fast to iterate on things. i want to take it a step further so that it can also be the basis for a theming system npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…7qx9 yeah, i'm doing everything with their basic 2D renderer and the sdl font library. everything that isn't text is drawn with single color polygons, even the sweet gradient illusion background. i want to transition that to using ES2 directly instead so i can do shaders and stuff easier npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…7qx9 I genuinely love writing UI code it's really fun, I just wasn't sure what my needs were going to be for the project up front, so I prioritized building things quickly so I could figure out what they were going to be npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…7qx9 oh no it's not that; *mine* is specifically a nightmare because it's largely still the same prototype code i wrote last summer in a fugue of transcendent lucidity that allowed me to bang out the basic ui in a few weeks. that also means if i want to change how something renders on all of the major screens i have to modify all of the places where i copy and pasted that drawing routine because i was following the DDRY principle of antiabstraction (don't DRY (don't repeat yourself)) npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…7qx9 it's a planned feature, i've just been putting it off features with significant ui elements for tech debt reasons npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva sixth idea: add some basic sampling capabilities to mollytime and build instruments out of field recordings instead of just analog synthesis npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…uffe paste me an example npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva fifth idea: use a fun narrative to make it work. maybe do an album where it starts off with a song or two of, say, bluegrass music, but then the mandolinist gets abducted by aliens. main problem here is scope creep npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva fourth idea: lie to the audience and say I was just practicing the mandolin next to the hole in reality in the corner of my apartment and hope none of you know that the hole in reality in the corner of my apartment doesn't sound anything like that npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva third idea: same as the first idea but backwards, leave the mandolin alone, figure out how to mutate the synth sounds into something that feels more acousticy without necessarily trying to emulate any particular traditional instrument. i have no idea how that would work npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva second idea: keep the sound of the instrument the same, but also maybe explore an additive approach involving delay loops and/or granular synthesis stuff. especially if it can put the different voices can sorta bleed into the same conductive media so to speak. maybe worth exploring npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva first idea: mic the mandolin and obliterate the sound with filters so it matches the chiptunes better. I think this is a non-starter though because it's a pretty instrument and it feels wrong to remove that from the sound. npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva ok so the broader thought experiment here is i'm really enjoying learning the mandolin, and i'm really enjoying building and exploring mollytime, and i'm feeling a gap where i'm not really good enough to play music with people but it is nevertheless an unmet need but i could maybe use a sequencer to practice with but mollytime mostly sounds like snes sounds which makes it a somewhat odd pairing so like how do i make that not sound ironic or like i didn't buy enough daw plugins to sound good lol npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…qcgs they do a good job at making the chips blend in, but it doesn't sound like they're ever really in the foreground so much as peeking out occasionally? regardless, this song is amazing and thank you for sharing it i'm gonna have to play this game npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva guys the guitar is like the doctor who immortal time traveler guy that doesn't count npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva do people ever mix traditional instruments with chiptunes or is that like watching a serious guy get dunked on by a muppet npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…9g3x chess is soccer npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva it's not much but i figured out how to wasm today https://zone.dog/fnord/hello_wasm/ npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva @nprofile…fnex looks like it might be specific to playing MIDI files which is not quite what I want npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva anyone know of a cross platform midi library that supports sndio (BSD) and whatever haiku uses? rtmidi and portaudio both do not list haiku or BSDs as supported platforms npub1q0g8uzdx0xhqx04nxv3f7tn93cuhn2a7j2890t7r3sw6edqcqstq2u9ssx aeva you ever wonder what your skeleton looks like when your bones are sorted in order of length