Opens profile photo
Follow
Donald Hays
@Dovuro
iOS Developer
donaldhays.comJoined March 2009

Donald Hays’s Tweets

After getting all the core game rules implemented on GBA, I’ve been going through and cleaning up the logic to give myself a straightforward blueprint for the GB. In the process, it became way more efficient. About 1/3 faster overall, with much smaller CPU spikes when you move.
10
After you beat a level I fade out, load the next level, then fade in. The GBA is so fast that I’m able to start fading in almost immediately. I might want to let it linger on a black screen for a fraction of a second—even though loading doesn’t need it—purely for pacing reasons.
4
14
Added performance metric markers. White diamond: graphics code White square: gameplay code Blue diamond: end of VBlank Blue square: beginning of next frame’s VBlank To be within budget, the white markers must be to the left of their matching blue marker. GBA seems pretty fast.
1
12
Took about an hour to implement collision for the hero against terrain, pushing gems, gems blocking the hero if they can’t move, and gems breaking when they move against matching gems. I expect it’ll take much longer than an hour to do that on the GB version 😆
4
I also showed this photo on today’s stream. I’ve been beginning to experiment with Game Boy Advance programming! Not planning to stream GBA dev in the near term, but it’s been a fun learning experience.
Image
1
7
I *technically* added Game Boy Color support to the game in today’s #gbdev stream, it’s just that right now all the palettes are still grayscale, so you can’t really tell visually. But still, progress!
Image
10
Finished my second #gbdev stream! And I successfully saved a video of it, so I’ll be able to upload it to YouTube! After four hours of work, got the first part of map loading done. Assembly takes a while 😆
Image
27
Had fun! The stream went twice as long and I got half as much done as I intended. But, after two hours of Assembly coding, I only had one tiny little bug (as far as I know), and I’m VERY proud of that. But, I hadn’t set it up right to save the stream, so I have no proof :(
2
Show this thread
The issue also appears on iOS. Anyone have an Intel Mac and want to load up e1m3 in Quakespasm to see if it affects Intel, too? Doesn't happen on Windows. I might have to file a "Quake e1m3 graphics glitch" bug report on Metal. Which seems delightfully anachronistic.
1
Show this thread
So, like, Quakespasm and my BSP viewer have entirely different codebases, but apparently we triangulate brush faces the same way. And there’s an issue with a single triangle at the start of e1m3 on both. Look at the floor. Goes away as soon as you turn the camera in both.
Image
Image
1
1
Show this thread
I figure a lot of the work goes into shading final on-screen pixels, and that work doesn’t change. The TBDR GPU prevents shading pixels that’ll be overwritten. So using the vis data mostly just culls vertex data from what’s already a small data set to modern devices.
2
Show this thread