Sign in

NON-TOXICNo ads · No shady algorithms

iiinova is part of the Atmosphere — an open, public network where you own your identity.

Amy Farbright

@amy.fruitbasket.gay
2K followers 91 following 797 posts

single-threaded girl Programmer & gamedev, specializing in porting/retro/reverse engineering. Named Xenia the Linux fox. foreverwip.github.io Keep me afloat: linktr.ee/amyfarbright

PostsRepliesMedia
Amy Farbright @amy.fruitbasket.gay · 22/05/2026
the sonic x logo head was stock???
0115 11
Amy Farbright @amy.fruitbasket.gay · 31/03/2026
hey #tdov! i'm a transfem programmer and gamedev for work and for fun, currently trying to secure any sort of stable job. i've got info about that in my pinned, but if you'd like to pitch in otherwise and help me stay afloat alongside my gf's, today's a great day to do so! linktr.ee/amyfarbright
03721 37
Amy Farbright @amy.fruitbasket.gay · 27/02/2026
Bump for today! I've also included here some progress screenshots of various projects I've worked on in the past. Check the alt text for some context beyond the pretty shapes. #lookingforwork #lfw #commissions #gamedev #retro #programming
Screenshot of RenderDoc debugging a custom game engine I wrote. It's a full source port of Retro Engine v3 to C#, and it includes a custom hardware-accelerated 2D renderer to accurately mimic the color blending and effects seen in the software renderer.8bpp indexed graphics data extracted from NiGHTS into Dreams, shown in a raw graphics viewer. This data is normally compressed on the disk; I ported the decompression routine for found in the game to a modern programming language in order to extract the data.Screenshot of Dolphin Emulator running the 2013 version of Sonic 2. I modified the engine and wrote a platform backend so it could be loaded and played on a Wii.
01613 16
Amy Farbright @amy.fruitbasket.gay · 24/02/2026
to anyone desperate for gig work that's considered searching on upwork: don't a while back i got cold-emailed by a prospective client about recording my voice for use in ai models. i just ignored it. but today, i got This email, showing the company that wanted my data is *itself* owned by upwork
011 1
Amy Farbright @amy.fruitbasket.gay · 22/02/2026
this is stuff i did for fun on a shoestring, just imagine what a human with better resources could make for you
1150 15
Amy Farbright @amy.fruitbasket.gay · 13/01/2026
Hey #PortfolioDay! I'm a gamedev and programmer currently looking for work. If you want the expertise of a polymath capable of untangling complicated technical knots, and delivering polish no matter the workflow, get in touch! foreverwip.github.io #gamedev #programming #lfw
0138 13
Amy Farbright @amy.fruitbasket.gay · 01/01/2026
also happy new year #dailydev
2162 16
Amy Farbright @amy.fruitbasket.gay · 16/12/2025
I'm a programmer with a knack for tinkering and reverse engineering. With 7+ years experience across environments, I excel at efficient and practical integration of tech at multiple levels of the codebase. If you think I would make a good fit for your team, please reach out! #gamedev #lookingforwork
05341 53
Amy Farbright @amy.fruitbasket.gay · 30/11/2025
as part of working on my own tooling for my other projects, i've started to explore how static analysis can be used to find additional code paths in a binary. here's a snippet of my game boy disassembler where i'm working on emulating a subset of the cpu to find constants and deduce indirect jumps
252 5
Amy Farbright @amy.fruitbasket.gay · 28/10/2025
tfw you push to production
140 4
Amy Farbright @amy.fruitbasket.gay · 28/10/2025
laptop's starting to display this screen on boot. its battery's starting to wear out. would like to be able to replace it sooner than later
01843 43
Amy Farbright @amy.fruitbasket.gay · 22/10/2025
indeed asking the hard-hitting questions
030 3
Amy Farbright @amy.fruitbasket.gay · 19/10/2025
you know a museum trip isn't all it's cracked up to be when the best thing a trip review can put in the thumbnail is the cafeteria food
Screen capture of a youtube video thumbnail. The video title reads, "Exploring the AMAZING Nintendo Museum in Kyoto, Japan". Pictured in the thumbnail is an outside shot of the museum, inexplicably layered over with a picture of a meal from the museum's cafeteria.
3414 41
Amy Farbright @amy.fruitbasket.gay · 17/10/2025
hmmmmm
110 1
Amy Farbright @amy.fruitbasket.gay · 16/10/2025
midnight testing. working on getting lygia.xyz working with godot's shading language. with godot 4's addition of a preprocessor i've been able to use the library with relatively little changes! here's a working example from github.com/guidoschmidt... #godot #shaders
022 2
Amy Farbright @amy.fruitbasket.gay · 14/10/2025
hey #portfolioday and #gamedev! i'm a programmer with >7 years of commercial+hobby gamedev experience, across many disciplines. recently a commercial game i worked on shipped! but now i'm looking for other work to cover my bases. check out my site for other projects+contact info foreverwip.github.io
In late 2022 I was hired by GalaxyTrail under contract to work on various projects, with work centered around prototyping core game systems, integration of assets, and implementation of certain graphical effects. The first project out of this to release is Chrono Gear: Warden of Time, a hololive game published under the holo Indie label, released in September 2025. Shown here is one of my contributions, the "Stasis" ability which was adapted from a variable-timescale prototype I designed for another project. The technical design of this ability was used throughout the game for similar time-control effects.In late 2023 I started working with STUDIO//LYNFLO offering general development assistance with their upcoming game DRAGONFRUIT: a mother's love, powered by Godot Engine. Here is just one example of what I've worked on: a dynamic shadow system that switches between realtime shadow casting and a static "directionless" shadow sprite based on distance and intensity of surrounding lights.This is a work-in-progress full port of Sonic the Hedgehog (revision 1) for the Mega Drive to C, designed and built over the course of roughly 19 months as of April 2025.

The intent of this project is to provide a base from which the game and its mechanics can be experienced and ported to a variety of platforms, without any compromise to how the gameplay handed in the original. The version of Sonic 1 currently promoted by Sega is not a port but a remake of the original, made with a completely different game engine (in fact, it's the same Retro Engine that I've hacked on in my other hobby projects, go figure). Unlike that version, this project is built off of the original Mega Drive game's machine code, with as few changes made as possible.

All game code has been successfully converted (barring some inaccuracies my testing might not have picked up), so now all current work is centered on cleaning up the generated code, further decoupling the drawing code from the VDP, and adding additional features. In this screenshot, I demonstrate the additional features such as widescreen support and custom shaders (blurring the background to make the foreground more readable).Screenshot of work on Sonic the Hedgehog 2 HD, a fan remake of the original game, showing a full 3D rendition of the special stage. What was once a 2D background with perspective tricks is now a full 3D scene, with objects positioned in three axes instead of two. When I first joined the team, there was already some work done on a procedural 3D renderer that generated polygons on the fly based on the original game's data, but it was very simple and offered a very limited view of the stage.

One of the main goals I wanted to achieve with the new renderer was for the player to be able to see the twists and turns of the rest of the track in the distance as they went through the stage; The main draw of the stages in the original was their 3D look and being able to look ahead of you, so it felt like a natural step forward. At the time though, the renderer was only designed to generate the track relative to where you were in it.

I ended up doing an almost complete rewrite of the renderer; I wrote my own spatial hash implementation and camera class in order to cull geometry, and rewrote our geometry generator to calculate all vertices only once at load time. Along with some extra shaders I integrated into the renderer, it provided an incomplete, but still more engaging visual demonstration of what the game could do to give a classic scene a modern coat of paint.
18935 89
Amy Farbright @amy.fruitbasket.gay · 12/10/2025
alternative solution: writing raw scancodes to the registry lets you remap keys at the kernel level instead of the user level, so i can disable the ghost enter presses and it's guaranteed to do nothing... except windows doesn't just eat them, it remaps to scancode 0, which still hogs hid bandwidth
110 1
Amy Farbright @amy.fruitbasket.gay · 11/10/2025
yeah no my laptop keyboard is broken broken. even with the enter key fully disassembled, membrane taken off, and contacts cleaned, it still pulls this... impossible to do consistent work atm. i know it's a physical/hardware thing too because this even happens in bios
190 9
Amy Farbright @amy.fruitbasket.gay · 03/10/2025
see what happens. see what happens when you decide to act on your ambitions
Screenshot of a work-in-progress document outlining a moveset for Classic Amy in Rivals of Aether. It doesn't fit the alt text description, but here is a truncated version:
Classic Amy is a combination rushdown and gimmick character specializing in bursts of close-range pressure, speed as defense, and specials that trade setup time for a wide variety of results. While many of her moves pull from her appearance in Sonic Championship/Sonic the Fighters, her defining feature is her fortune cards, which let her challenge fate and reinterpret the course of battle in her favor.
Base Moves
- Dash Attack: Push/Head Slide. Amy pushes her hands out in front of her, but trips and falls in the process. Her hands provide little damage but decent knockback, and the trip provides more damage and knockback. However, only one of these hitboxes can land; This is not a multihit move
- Up Tilt: Umbrella Swat. Amy waves her umbrella in an arc above her head. The direction of the arc always starts behind her, and knockback brings the opponent towards the direction she's facing. Effectively, getting hit from behind brings you in front of her, and getting hit from in front pushes you away from her
Specials
- Neutral Special: Draw Card. A random card from the her fortune deck will be drawn, and stored in a card slot, in order of first available slot. Up to 3 cards total can be stored. If this move is used while all card slots are used up, it will replace the last card. No hitboxes
- Side Special: Dis-card. The most recently-added card will be removed from its slow and thrown out as a normal projectile instead. Low cooldown, but can only be used 3 times
- Down Special: Ordain. Invoke the effects of the cards in your slots. This can be used as long as there's at least one filled slot, but the effects are more powerful the more cards that are present. Effects only stack when minor fortunes of the same suit are present; otherwise minor fortunes augment any present major fortunes
250 5
Amy Farbright @amy.fruitbasket.gay · 02/10/2025
protomen act 3 actually got finished, around 15 years later. pinch me, i must be dreaming
190 9
Amy Farbright @amy.fruitbasket.gay · 23/09/2025
i've never seen so much passive aggressiveness in a system message before
screenshot of a discord system message, displayed as a blue bar at the top of the window. it reads: "How is blocking users on Discord working for you?", with a button labeled "Give feedback" right by it
051 5
Amy Farbright @amy.fruitbasket.gay · 23/09/2025
happy anniversary sonic cd
screenshot of a discord post. user "Station Squeer" (that's me) at 8:47 am says: "this morning i had a dream that more of amy in movie 4 was officially shared and everyone was joyous because they made her a little fat"
0111 11
Amy Farbright @amy.fruitbasket.gay · 21/09/2025
looks like it's all owned by the same corp mu.se (the length of this url scares me btw)
020 2
Amy Farbright @amy.fruitbasket.gay · 18/09/2025
smaller side project: game boy/dmg whole-rom disassembler in ~1.5k lines of rust. it uses execution data provided by the mesen emulator to find branching paths. output is a bit-perfect assembly listing ready to be used by rgbds. video shows it being used on mario land 2 #retrodev #reverseengineering
0136 13
Amy Farbright @amy.fruitbasket.gay · 10/09/2025
happy dreamcast day, here's something based on the xbox game instead lol #jsr #mymusic
185 8
Amy Farbright @amy.fruitbasket.gay · 02/09/2025
here's a modified version of pokemon yellow's pcm playback engine running within crystal. i modified it to support 2-bit samples as opposed to the 1-bit samples of the original. allows for slightly cleaner samples, but not by much lol. this is for a project that'll be seen eventually... #homebrew
0113 11
Amy Farbright @amy.fruitbasket.gay · 29/08/2025
070 7
Amy Farbright @amy.fruitbasket.gay · 20/08/2025
(wip) tfw you love tv #deltarune #mymusic
031 3
Amy Farbright @amy.fruitbasket.gay · 15/08/2025
been working on something terrible
0332 33
Amy Farbright @amy.fruitbasket.gay · 14/08/2025
wplace is so cool. you can just say whatever about someone's work
a sprite of miles edgeworth scowling at the viewer, recreated from the original game sprite by someone else. next to it, i've drawn an arrow pointing to him alongside the word "HANGRY"
091 9
Amy Farbright @amy.fruitbasket.gay · 09/08/2025
wplace is making me do things i never thought i'd do before, such as: redrawing & cleanup of a scaled-down image to look better at lowres. i really should try and do more pixel art... #celestegame #myart
0111 11
Amy Farbright @amy.fruitbasket.gay · 08/08/2025
recreated this sprite somewhere in wplace. can you find her?
Pixel art overlaid on part of a map. The pixel art depicts sprite Milla from the game Freedom Planet in the style of her guest appearance in the game Petal Crash.
0227 22
Amy Farbright @amy.fruitbasket.gay · 05/08/2025
current project: a more flexible way to patch mega cd games from jp -> us/eu. security code is useless at ip entry, so i sneak a decompression routine in that area and use it to write the original ip back into where it would be in jp version. this preserves absolute addressing in the original ip
132 3
Amy Farbright @amy.fruitbasket.gay · 29/07/2025
Hi! Help me find work, & help me live! HIRE me if you think I'd fit on your team! Portfolio is at foreverwip.github.io COMMISSION me if you'd like me to work on a smaller project. Prices in video! DONATE otherwise. Cash is cash.me/$amyfarbright PayPal is paypal.me/fwiprose #lookingforwork #donations
13342 42
Amy Farbright @amy.fruitbasket.gay · 26/07/2025
<3
It gave me what I put into it. Like looking into a mirror. It felt like a wakeup call. We're so much more than just the choices we make, and whatever we choose, we have to mean it.
091 9
Amy Farbright @amy.fruitbasket.gay · 25/07/2025
saw this show up in my inbox and it makes me feel. a certain way. as if language isn't a natural consequence of distance and something to embrace as something cultural. i haven't even clicked the link but i hate to think what game sees positive purpose in "making everyone speak the same language"
010 1
Amy Farbright @amy.fruitbasket.gay · 20/07/2025
today i started writing a neat little script that pulls data from an online spreadsheet as csv and turns it into data usable by the pokecrystal disassembly. i wouldn't be surprised if teams working on existing pokemon romhacks have some sort of automation like this but it was fun to roll my own ^^
142 4
Amy Farbright @amy.fruitbasket.gay · 20/07/2025
wip of a cover that turned into something a little more (spoilers for music that plays at the end of chapter 4) #deltarune #mymusic #deltarunespoilers
053 5
Amy Farbright @amy.fruitbasket.gay · 20/07/2025
12510 25
Amy Farbright @amy.fruitbasket.gay · 14/07/2025
change of plans! i'm keeping my car, but i'll still need help paying for its registration (this means i'll also need help paying monthly expenses on top of that). will work for pay, portfolio is: foreverwip.github.io donation links: paypal.me/fwiprose cash.me/$amyfarbright #commissions #mutualaid
03732 37
Amy Farbright @amy.fruitbasket.gay · 11/07/2025
ongoing commission: with help from @canon.megane-moe.com, i'm reverse engineering "Zero4 Champ DooZy-J" for #ps1! the goal is to map out enough of game's script interpreter and engine to make an english fanlation possible. more info on the game + its structure here: doozyj.megane-moe.com #romhacking
0115 11
Amy Farbright @amy.fruitbasket.gay · 10/07/2025
everything reminds me of her
120 2
Amy Farbright @amy.fruitbasket.gay · 10/07/2025
late night baloney: trying to look up the name of a standard-looking function used by a psx game and getting some wild seo bait
060 6
Amy Farbright @amy.fruitbasket.gay · 10/07/2025
been looking at the pokecrystal disassembly today, inspired me to make this tiny thing
090 9
Amy Farbright @amy.fruitbasket.gay · 08/07/2025
Hey #PortfolioDay! I'm a #gamedev and programmer currently looking for work. If you or your team could benefit from someone proactive & flexible engine-side, with deep low-level knowledge of multiple platforms old and new, and reverse-engineering experience, please get in touch! foreverwip.github.io
Screenshot showcasing work I've done on DRAGONFRUIT: a mother's love (https://studiolynflo.itch.io/dragonfruit). I designed the dynamic lighting and shadow system shown here.Screenshot of Chrono Gear: Warden of Time (https://store.steampowered.com/app/3081840/Chrono_Gear_Warden_of_Time). I assisted with prototyping multiple things, including what would become the Haste and Stasis mechanics.Screenshot of my native port of Sonic the Hedgehog. I wrote my own emulator and static recompiler to port the game's assembly code to C, then added additional features like widescreen and custom shader support.Showcase of a Rust program I wrote to convert graphics to a format usable by Donkey Kong Country. To the right of the code is the new Donkey Kong sprite displaying in an emulator, alongside debug views of sprite and video memory.
24721 47
Amy Farbright @amy.fruitbasket.gay · 07/07/2025
i cannot believe you right now
a black and white kitten is laying on my laptop keyboard, preventing me from working
0140 14
Amy Farbright @amy.fruitbasket.gay · 02/07/2025
currently saving up to pay off car fees (i intend to sell it to help pay my bills). if you'd like to help me cover the costs, consider commissioning me or donating outright. for comms, just dm me. for donations, use one of these links: paypal.me/fwiprose cash.me/$amyfarbright #commissions #mutualaid
0815 15
Amy Farbright @amy.fruitbasket.gay · 01/07/2025
first footage of the game running in gens! still need to iron out a lot of stuff (drawing lines/rects/circles/text, a *lot* more optimization) but this at least looks like a game you can play lol #megadrive #homebrew #pico8
4249 24
Amy Farbright @amy.fruitbasket.gay · 30/06/2025
ok, now we're getting somewhere
3111 11
Amy Farbright @amy.fruitbasket.gay · 30/06/2025
attempting something funny this evening. seeing how much it takes to get celeste classic compiling for mega drive (via github.com/lemon32767/c... and sgdk). doesn't boot yet, but seeing the pico8 palette loaded in cram gives me a certain feeling
1375 37