Happy birthday, #SonicTheHedgehog! Today I would like to share public builds of two projects based on my #sonic1cport I've had on the back burner while I look for formal employment. I am offering them in an incomplete state, as a gift to the community and to show off my work more. Showing off below⬇
tonight, the #sonic1cport has reached an incredible milestone: it builds for other hardware. what you see here is a nintendo 64 rom running sonic 1 natively, no emulation of game logic, with minimal rendering implemented just to get some sprites onscreen
#homebrew #sonicthehedgehog #n64 #gamedev
i'm not terribly good with speedrunning the classic games, but i know enough to try out a few simpler strats on #sonic1cport to check for accuracy to the original code. it's cool to see the skip still works in widescreen! #sonicthehedgehog #gamedev
bluesky's video compression doesn't seem to be doing it justice, so here's some still screenshots that show off the effects more clearly #sonicthehedgehog #gamedev #sonic1cport
rewrote the renderer for #sonic1cport and it now supports realtime swapping of shaders, for both individual planes & the whole screen. here i use a combination of a light gaussian blur on the bg + ntsc filter on the entire screen. check out the blending on the waterfalls!
#sonicthehedgehog #gamedev
fun fact: the original game's credits demo data works wonderfully in widescreen, no major desync errors. the lack of lag when loading levels does make the music desync though, i'll have to work on that... #sonic1cport #sonicthehedgehog #gamedev
two major milestones in the #sonic1cport have been hit!
- we now have sound! the sound driver from the rom has been fully ported, using libvgm for emulation
- the engine can now render gameplay offline. this allows me to encode videos like this one without frame dips
#sonicthehedgehog #gamedev 🧵⏬
tweaked a lot of object code + camera, game looks a lot more normal in widescreen now. as proof of this being a native port, i do a few level clips in this that are impossible in rsdk #sonicthehedgehog #gamedev #sonic1cport
update on the #sonic1cport: it can now do this. i still have a lot of code to change but here's the start of widescreen support. this isn't rsdk, this is native code running with a modified emulator of the mega drive graphics chip (video does not have sound)
#sonicthehedgehog #gamedev #romhacking
It's a Christmas Island miracle! Presenting the native PC port of Sonic 1. All ~25k CPU instructions in the game have been painstakingly reimplemented in C. A revision 1 ROM of the game is required to play (for reading data). github.com/foreverWIP/s...
#sonic1cport #sonicthehedgehog #gamedev
while testing the #sonic1cport more i decided to do a release build of the game dll and the runner executable, and found that after a trip through upx, the total size of both is just under 2.5mb. currently a lot larger than the original rom, but still small enough to fit on a real md cartridge...
The #sonic1cport is now public! It's not yet finished, but it stands as a showcase of all the work and skill I've built up to get here. Things aren't stable yet; you can build locally, but don't expect a whole working game right out of the gate!
github.com/foreverWIP/s...
#sonicthehedgehog #gamedev
#sonic1cport status: currently working on splitting up all my converted code into dedicated files. almost all non-object code has been ported. just gotta tweak the generated code for... 100+ different objects 🥴
but this does mean that we're close to a playable demo!!! which is exciting!!!
working on the #sonic1cport has been funny because whenever i run into inaccuracies it's usually subtle and leads to stuff like this. what if this happened to you
Exciting news! Most of the busywork needed for the #sonic1cport is done. Most core drawing/vdp management + some of Sonic's code is ported. Just gotta comb through all functions and verify everything... Will write a thread getting into the nitty gritty ⬇
#sonicthehedgehog #programming #gamedev