8 ms·
The art and engineering of Sega CD Silpheed
- possibilistic 4mo ago[flagged]
- cisophrene 3mo agoFYI, besides the obvious shilling, you’re being downvoted because Fabien Sanglard has been writing this kind of deep software RE analysis for the last 15 years, is one of the most knowledgeable people in the world on classic game-engine internals, and certainly did not involve AI in doing any of this.
- jjk7 3mo agoIf you read the article, he admits he used AI for this.
- ndiddy 3mo agoFrom the article: > I spent the past two weeks reverse engineering the FMV format in my spare time. That was a departure from how I normally work since I did not write a single line of code. I will likely write something about my A.I framework (and opensource it) next month. But I can already tell this is an overall pleasant way to work.
- RodgerTheGreat 3mo agoIt's tremendously disappointing to see Fabien stoop to using slop for his research; completely antithetical to the love for software craftsmanship I had inferred from his previous work.
- fabiensanglard 3mo agoI am curious to understand why you are disappointed. I used A.I to write code on a personal project. It allowed me to go much faster than if I had tried by hand. Given my time constraints, it is likely I would have never found the time to complete this project. The article was entirely written by me without A.I. Please, help me to understand.
- RodgerTheGreat 3mo agoThe articles you publish are, in principle, a celebration of the cleverness in programming and hardware design behind video games; a vehicle for appreciating human craftsmanship and artistry. LLMs are the product of taking the creative output of countless millions of people and turning it into a statistical model which completely erases the attribution for all that material. They can regurgitate interpolated, plagiarized copies of someone else's code, divorced from its original context, but they are structurally incapable of showing where that code came from, who wrote it, or why. Using these tools, and using your public profile to contribute to the normalization of these tools, is profoundly disrespectful to the programmers, artists, and writers whose work was strip-mined by megacorporations to build those LLMs. You are prioritizing your personal convenience while enriching bad actors who are bent on obliterating the open web, open-source culture, and the craft of programming. It's dissonant.
- grg0 3mo agoI don't disagree with your views, but attacking Fabien and saying he's being disrespectful seems like a stretch to me. I think a better way to put it is that Fabien's blog is an inspiration to anyone looking to understand computers and programming in detail while taking a history tour of old games and systems. He personally has the skill to do so and then present the interesting bits of the system in a very compelling narrative. It gives people someone/thing to look up to. To find out that part of the analysis/output was produced by an LLM crunching through the code base is a major disappointment since it removes or diminishes the human element of the work.
- possibilistic 3mo agoThis IS AI. What's with the comment flagging?
- pram 4mo agoCool article, but Silpheed is a genuinely awful game. Just warning if you are tempted to play it after this lol
- toast0 4mo agoI mean, the gameplay isn't amazing. But I wouldn't call it awful. I've played games that are a lot worse... many of which are less fun while also being much less visually appealing. IIRC the sound design for silpheed is good too?
- ihgfhkihh 3mo ago> I’ve played games that are a lot worse… These things aren’t mutually exclusive. This can be an awful game (which it is) and not be the worst game ever made. And as with anything, it has its strong points too, just that as a complete package, it can’t be called a good game.
- toast0 3mo agoIf your scale has only good and awful, you miss nuance. I don't think the same adjective should be used to describe both both Trolls on Treasure Island and Silpheed. :P
- jonhohle 3mo agoThe sound design is amazing! Having the squadron announcing incoming threats on comms in full CD quality was also a unique and fresh experience. I’m sure Wing Commander and others did it earlier on PC, but for a console game it was very immersive. Seeing gigantic lasers take out huge ships and hearing the panic from the other pilots is fun, even if it plays out the same way every time. 7 of the audio tracks are CDDA audio as well. I seem to recall playing those in my discman at the time.
- Eric_WVGG 3mo agoIt’s a shmup, they can’t all be Ikaruga.
- 3mo ago
- jonhohle 4mo agoThe Sega CD is my favorite console and I was fortunate enough to have one growing up. Silpheed was unlike anything else. Unlike most FMV games, Silpheed actually felt like controlling a movie. During the first level when laser blasts are tearing through the fleet gigantic ships filling the screen with debris, I could barely believe what I was seeing. As the article points out, while it is an FMV game, it tries to fool you into thinking it’s a polygon based game. The Sega CD had no 3D capabilities at all (just 2D rotation and scale). But GameArts pulls off the FMV so convincingly, down to the aliasing, that it’s hard to understand (at least to my 12-year old self) how it could be anything other than 3D rendering. It’s often panned as not the best shooter, but the gameplay was secondary to the experience. I don’t know how it would play for someone who didn’t experience it at the time, but it will always be one of my favorites on the system.
- xutopia 3mo agoI remember when people would talk about a new game they hadn't yet tried and the first question was "How are the graphics?". They truly did amazing work back then to push the limits of systems so they could present things that the machine wasn't expressly built to accomplish.
- ndiddy 3mo agoYeah Silpheed is a great example of designing a game around the strengths of its target hardware. Because they were able to focus the art design around what could be streamed at high quality off a 1x CD drive, the FMV works a lot better than it did in games like Night Trap and Wirehead that tried to shoehorn live action video into a console that wasn't capable of displaying it at a decent quality. The actual gameplay is similar to an early 1980s arcade game like Galaga, but I agree with you that the presentation makes it worth playing at least a few levels of Silpheed even now.
- glimshe 3mo agoI just saw a video of it. Impressive. Were the enemy ships hand drawn 3D plastered on sprites? Or was there some actual realtime 3D rendered by the CPU? The boss ship I saw looked like realtime 3D.
- bantunes 4mo agoThis was submitted by a bot :D I subscribe to Fabien's RSS and he must have changed something in the server because I got this post on my RSS reader (again, as it's an old post), and here it is submitted to HN (again)
- fabiensanglard 3mo agoI manage my RSS by hand (I should really fix this) and update it when I am ready to publish something. Someone emailed me to tell I had a typo in the URL of the Silpheed article. This must have unlocked the bot maybe?
- actionfromafar 4mo agoUsing the ASIC meant for bitmap rotation and font rendering in an almost MPEG like fashion. Super clever.
- fleahunter 3mo ago[flagged]
- flockonus 3mo ago> That was a departure from how I normally work since I did not write a single line of code. I will likely write something about my A.I framework (and opensource it) next month. If the author is around, super curious how they got to enjoy their workflow here in a side project, working with AI. This kind of situation, to me, is often where the joy is gone.
- fabiensanglard 3mo agoI have a writeup I want to publish about it. - I felt like Tony Stark inverting Möbius strip to solve time-space navigation with AI. - Any idea or gut feeling I had, I could verify very fast. - I had to write a mini Genesis emulator to test the pipeline and it was very pleasant to direct the LLM to write it for me (with clean code and architecture).
- flockonus 3mo agoExcited to read if you ever get to publish! In particular 1. made me even more curious. I do get most of my AI value on prototyping [small codebase] & summarizing.
- jchw 3mo agoPersonally, I find LLMs really fun to work with, and the more capable they are the more fun it will get. It's one hell of a force multiplier. It is fun in a totally different way than programming is. The "fun" or "joy" isn't coming from the sense of accomplishment of writing code or building software per se. Now it feels like it is just the joy of being able to prototype or debug or reverse engineer literally anything at a pace way beyond what you could've ever hoped to before. Have you ever dreamed of developing some software, but realized it was simply too big of a scope for one person? It might not be, anymore, even if you don't go full vibecoder. The only real problem I ever had with this was the quality of the code. Sometimes it doesn't matter, like for pure prototypes or even reverse engineering, but sometimes it does. My heart sank a bit when I tried Fable to find that it was much better at long tasks and more ambitious in general, but I still didn't like the code much more than Opus 4.7 or 4.8. However, I'm pretty pleased with the code quality of GPT 5.6 Sol. This is a silly thing to care about but I love that by default it doesn't print code comments like a CVS receipt printer adding all kinds of pointless crap that is either apparent from context or irrelevant outside of the conversation you were having. Generally I've also found it to be super good at debugging, usually able to zero in on the actual problem with surprisingly little effort, even with not much context; I wish my debugging foo was that good. I gave Codex a spare machine to test something with real hardware and it has done a fantastic job making use of it. Then of course there's the problem that I really don't like OpenAI or Anthropic very much. But it seems the news is good there too: even if we assume open weight Chinese models are at least less than 12 months behind on coding performance, then by next year we should have quite a lot of options for how to go about things. Evidence suggests 12 months is probably an over-estimation, and even now I use GLM 5.2 quite a lot at work since it is simply good enough. So... we're getting there too. Obviously it's a little scary to think the world may need fewer programmers when you are one, and this is maybe not the way that I wanted programming to become accessible and democratized, but beggars can't be choosers. If the future is me being able to run an army of virtual programmers on a GPU cluster, I am interested in seeing what cool shit can be done with it. And when the hype and doom cycle finally ends, I hope everyone else will realize how fucking cool it is, too.
- fredoralive 3mo agoI think the article is sorta wrong about the sound setup, the Mega Drive I does have a sound input on the expansion port, and mixes it into its sound output. Otherwise stuff like RF cables wouldn't get Mega CD based audio (and you can do silly stuff like a Mega Drive II, which doesn't have a headphone port, with a Mega CD I). I was going to say the patch cable setup was just a passive aid to take the Mega Drive I's minijack stereo output (the big DIN AV connector on the rear only does mono) to a more serious two RCA jack setup. But looking at a schematic to check, it does do more stuff, and apparently connecting the patch cable will reroute stuff so the sound mixing is done on the Mega CD side, not the Mega Drive side (early Mega Drive revisions are somewhat infamous for showing that Sega hadn’t quite mastered the dark arts of analogue sound circuitry). (I would double check some of this, but my Mega Drive / Mega CD setup isn't to hand, and the CD drive is broken anyway, although I understand the JP/PAL piano tune on the logo screen is all from the Mega CD side?).
- ndiddy 3mo agoThe Sega CD manual says that the RCA jacks are for connecting the Sega CD to a stereo system or stereo TV. I guess they found that doing the sound mixing on the Sega CD made the output cleaner which would have been useful for people wanting to use it as a CD player instead of just for games. The mixing cable is necessary to use the RCA jacks on the Genesis 1 because the system does not have a sound OUTPUT on the expansion connector, only a sound INPUT. The Genesis 2 repurposed a couple of previously unused expansion pins as sound outputs, which let the model 2 Sega CD do the audio mixing without needing a patch cable.
- mikepavone 3mo agoSo the problem with the Model 1 that the mixing cable is trying to solve is that the expansion port on that model has audio input pins, but no audio output pins. Now strictly speaking, this is sufficient if you just want to use the MD1's headphone jack (stereo) or A/V out (mono), but in addition to the analog audio circuitry not being amazing (though honestly the MD1 is much better than the MD2 here in general) it also imposes a fairly aggressive low-pass filter. This is rather undesirable for 44.1 kHz CDDA. As you note, the mixing cable allows the RCA outputs to be mixed on the CD hardware side which works around this issue. On the MD2, they added audio output pins to the expansion port in addition to the existing audio input pins. This allows them to achieve the same effect with no mixing cable.
- chromadon 3mo agoIf you've never seen Overdrive 2 by Titan (a demo scene group), it's unbelievable what the MegaDrive can do stock. https://www.youtube.com/watch?v=gWVmPtr9O0g https://www.youtube.com/watch?v=gWVmPtr9O0g I'm reasonably familiar with the hardware, I've written some games from scratch and I still have absolutely no idea how they did most of it.
- bbminner 3mo agohttps://youtu.be/IehwV2K60r8?is=WWZU3R1PMAQksHhj https://youtu.be/IehwV2K60r8?is=WWZU3R1PMAQksHhj How they fit the Sonic 3D intro onto a sega mega drive _cartridge_!
- vikingerik 3mo agoSummary: It's low resolution at only 256 x 80, stretched vertically to the screen size. It's only 16 colors so only 4 bits/pixel. That comes to 10kb per frame. A variant of Huffman coding gets it to 3.52kb per frame. It's at 15 fps and is 12.5 seconds in length. 15 x 12.5 x 3.52kb = 660kb, which fits in a 4mb cartridge. There is dithering to give the appearance of more colors, and it's done in vertical stripes rather than checkerboards because that compresses better. Then at runtime, every other scanline is offset by 1 pixel, and in opposite directions every other frame, so the dithering blurs back together to give the appearance of many more colors.
- inigyou 3mo agoDelete the si parameter from your YouTube link. It identifies your YouTube account to Google. Fixed link: https://youtu.be/GBS332N6wig?t=1749 https://youtu.be/GBS332N6wig?t=1749
- rcvassallo83 3mo agoAm I the only one who's no longer impressed by demonstrations that one turning machine can emulate another?
- nevster 3mo agoThe Apple IIGS version was great!
- regus 3mo agoI had this game as a kid. Although it looked good, the gameplay left a lot to be desired. Anyway, another great article from Fabien.
- chungusamongus 3mo agoNow do snatcher
- silpheed5 3mo agoJust thought I'd chime in! Started on the IIgs, loved the graphics, music and artwork from the manual. I even use the hand drawn sketch of the 'dogfighter' as my twitter pic.