5 ms·
Making a SNES game in 2020 using modern tools
- drludos 6y agoHi everyone! Here is an article I've just published about making a brand new game for the Super Nintendo (SNES) console using today's technology. It starts with the various steps to designing and program the game, and then details how me manufacture new cartridges (with box and manual) for a console whose commercial support ceased more than 20 years ago! I hope you'll enjoy it, and don't hesitate to ask me if you have any question!
- gwbas1c 6y agoWhen you made your own cart, did you do anything about the lockout chip? (I think it's called 10nes?) Or do you carts only work on a modded SNES?
- thristian 6y ago10NES is the algorithm running on the CIC lockout chip of the original Nintendo Entertainment System; the SNES had a similar lockout chip, but used a different algorithm. These days, the SNES CIC algorithm is fully understood, and you can program an ordinary microcontroller to run either the "cartridge" or "console" ends of the algorithm for every region, or even for a cartridge to detect at runtime what region the console expects. See https://sd2snes.de/blog/cool-stuff/supercic https://sd2snes.de/blog/cool-stuff/supercic
- deleted 6y ago[deleted]
- drludos 6y agoHi! The cart works on all SNES consoles from any region. For the lockout chip, it uses an "aftermarket" lockout chip that is able to play on any console region (you simply need to hit reset 5 times to change region). Today, there are several different lockoutchip available on the market, including the opensource "SuperCIC" one: https://sd2snes.de/blog/cool-stuff/supercic https://sd2snes.de/blog/cool-stuff/supercic For Yo-Yo Shuriken, we used the CIC chip made by Infinite NES Lives (a great producer of NES and SNES hardware supplies!): http://www.infiniteneslives.com/snessupplies.php http://www.infiniteneslives.com/snessupplies.php
- weewee2018 6y agoCongratulations. This is truly amazing! Thank you for spending the time to write this... I am sure it look a long time to write.
- drludos 6y agoThanks for your feedback! :) I did take a long time to write (I didn't keep track of it, but I'll say somewhere between 20-30 hours in total), so I'm glad you enjoyed it!
- tompagenet2 6y agoThanks for writing! I'm impressed by your dedication and effort, but also a thanks for your writing style, which was really easy to follow. I've read a lot about the SNES and Mega Drive before, but you've given me the best understanding of how the sprite updates per frame are limited by CPU time (and it's nice to see someone else who suffered with bad 50Hz versions). Are you tempted to try this for another console. I've always wondered how horrible programming the N64 must be!
- drludos 6y agoThanks, I'm glad you enjoyed the article! I actually have made several games for other consoles (GB, Mega Drive, Atari 2600, Atari Lynx, Neo Geo), that you can find here: https://drludos.itch.io/ https://drludos.itch.io/ And I wrote two other articles like this one, that try to cover "how the console works" and their limitations I faced during each project: - Making a Game Boy Game in 2017: https://www.gamasutra.com/blogs/DoctorLudos/20171207/311143/ https://www.gamasutra.com/blogs/DoctorLudos/20171207/311143/ - Making a Mega Drive /Genesis game in 2019: https://www.gamasutra.com/blogs/DoctorLudos/20191019/352537/ https://www.gamasutra.com/blogs/DoctorLudos/20191019/352537/ I hope you'll enjoy them too! :) For the Nintendo 64, this is way beyond my current programming skills (3d and all that). But I know that Matt Philips (who made the incredible Mega Drive game Tanglewood in 2018) was toying with N64 development and sharing about his experiments on Twitter: https://twitter.com/bigevilboss https://twitter.com/bigevilboss
- ido 6y agowhich of the consoles you've developed for was the most pleasurable/least hassle to work with?
- hivacruz 6y agoThat was a fantastic read thank you — even If I'm far to understand the whole programming part. The cartridge with the box (and pictures) plus the manual really make it feels like it was done 20 years ago. Nice feeling.
- Shared404 6y agoThanks for writing this! I just recommended the first half of your article to a friend who's been wanting to get into game development. The second half was super interesting to me, especially the manufacturing of the cartridges.
- drludos 6y agoThanks, I'm glad you enjoyed the article! :)
- petepete 6y agoThis is amazing, it's the sort of content that keeps me coming back to HN. For people interested in some of the tricks, tips and approaches that went into building games at the time (mainly in the late 80s to late 90s), I can highly recommend GameHut on YouTube. https://www.youtube.com/channel/UCfVFSjHQ57zyxajhhRc7i0g https://www.youtube.com/channel/UCfVFSjHQ57zyxajhhRc7i0g
- 29athrowaway 6y agoNot licensed by Nintendo, though. Can you elaborate on the legality of your CIC chip?
- eropple 6y agoThe patent has expired. Rabbits are clean reverse engineering of the Tengen chip, besides. Also, don't be a narc.
- kalium-xyz 6y agoThe CIC on the SNES is a different one, turns out it was already reverse engineered during the lifetime of the product.
- eropple 6y agoYou're right that it's a different one, but the patent's still expired. I was confusing the Rabbit with the more generic SNES CIC clones, though.
- 29athrowaway 6y agoI am asking a legitimate question here that is not explicit in the article. They say they are using a CIC chip from a supplier other than Nintendo.
- kalium-xyz 6y agoSeems like someone up above answered your question: https://news.ycombinator.com/item?id=23366883 https://news.ycombinator.com/item?id=23366883
- 29athrowaway 6y agoIs it legal?
- 6y ago
- zamadatix 6y agoSee also Micro Mages https://youtu.be/ZWQ0591PAxM https://youtu.be/ZWQ0591PAxM
- terrycody 6y agoPeople like you spent years of years time, effort, sleepless nights and a lot more than talked to sharpen skills in one hardcore area very few people want to try and then willing to share everything within a mere article, thanks so much for sharing this and kudos to all the people like you.
- drludos 6y agoThanks a lot for your comment, it's really motivating :)
- flobosg 6y agoThanks for the write-up! Glad to see that the SNES is still getting some love.
- kalium-xyz 6y agoinfinite NES lives is super cool, have you seen his (with others) recent efforts to get wifi for multiplayer on NES cartridges? He live-streams his progress weekly: https://www.youtube.com/channel/UCZr5Jc9hj6z5mlAYxELq_xQ https://www.youtube.com/channel/UCZr5Jc9hj6z5mlAYxELq_xQ
- drludos 6y agoYes, I've seen this project, this is incredible! I can't wait to be able to play a NES multiplayer game over the network! :)
- dillutedfixer 6y agoAwesome. Simply awesome. Such a fun, interesting and refreshing read. I really needed to take my mind off the news for a while and this was perfect. Congratulations, this is an amazing project.
- drludos 6y agoThanks!
- shultays 6y agoI am extremely jelly that you were able to build a cartridge of your game. I have made a NES game myself and I am hoping that I will be skilled enough & have necessary tools to make it a physical product (I can play it using everdrive cartridge, which is close enough!)
- drludos 6y agoWell, you're lucky, because there are a lot of people making very high quality NES cartridge already (the NES homebrew scene is very vibrant compared to the SNES scene). I can recommend you to shopping at Infinite NES Lives, they are selling blank cartridge (loads of mappers variants available) and a tool to "write" the game on the cartridge: http://www.infiniteneslives.com/nessupplies.php http://www.infiniteneslives.com/nessupplies.php (we actually used their flasher to write the SNES cartridges of Yo-Yo Shuriken, as it works for SNES too!) With that you can make your own physical release too! :)
- shultays 6y agoThat feels like a bit of cheating if you are not designing & soldering your own cartridge :P I wonder how this was like 40 years ago. Would developers use services similar to this: find a company that makes the mapper you use, send them your binaries and leave them to production details? Or would you design your own boards and use a service to create and assemble them? Perhaps very large companies could even afford build their own boards. There are some complex/unique mappers out there which makes me believe at least some companies out there were designing those mappers and building their own boards
- drludos 6y agoWell, for my project I did partner with someone to make the PCB, as I have about 0 electronics skills (maybe someday...). People like INL or Catskull are usually one-man operations, and they design their own PCB from scratch, so we are still in the "homebrew" spirit ;). But I get your feeling of wanting to build your own PCB on your own - I think you may find some schematics / documentation online to get you started if you want. During the 80's-90's, AFAIK, Nintendo was the only company authorized to manufacture cartridges. So any publisher / developer would have to buy hardware from them. And you wouldn't be able to make a small lot, but you had to buy tens thousands or maybe hundreds thousands of units - this was a large scale business! From what I've read, the process was indeed: build the final rom, have it pass a thorough QA session at Nintendo, pay for the cartridges and Nintendo will build them for you. For the NES era, several companies did manage to make their own mappers. For example Konami designed a mapper to add extra audio channels in a NES cart. But, for some reasons, Nintendo didn't allow third party mappers in US and European releases. That's why only Japanese version of games like Castlevania III have such mappers "not made by Nintendo". And of course, many unlicensed companies did create their own cartridges from the ground up, like Codemaster and Color Dreams/Wisdom Tree. They were not big companies at the time. So I think even middle sized ones could create their own cartridges and mappers if they had the skill inhouse!
- fomine3 6y agoNEKOTAKO is another new SNES game released in 2019 that uses original sound driver. http://pagam.es/ http://pagam.es/
- drludos 6y agoThanks, I wasn't aware of this one, it looks very cool! I love how they wrote their full MML based driver! (my game use the SNESmod driver, that can take Impulse Tracker (.it) files for input)
- jokoon 6y agoI wish nintendo or any other hardware company would release a well-made console, without the game licensing stuff. The nintendo DS was such a success, and it did not have fast hardware. Even if it's a little expensive and not fast, being able to run free games and software would really be an awesome feature. People say there's no money in it, but hardware is fast and cheap today, so any slow device would be cheap to make. The raspberry pi is really awesome, but I don't understand why they're not making the final step of releasing a full device. Of course there are many projects out there, but they're not produced in high quantities, meaning not cheap, not well marketed, not always well designed, and often require non-trivial additional tweaking.
- fit2rule 6y agoThe OpenPandora / Pyra Handheld consoles represent what you describe .. and there is a budding ecosystem around the scene. I think the problem with these projects is that there isn't really a rigorous, solid systems-software approach to building the base platform for other developers. There used to be an art to designing operating systems and environments/frameworks for others - but this subject has been well and truly usurped by the marketing executives who want to exploit the devs rather than make them successful.
- duskwuff 6y agoEhhh. The OpenPandora has been out of production since 2013, and the Pyra has been in development hell since 2014. The ecosystem surrounding these devices is not in a healthy state, in large part because there aren't a lot of them left.
- timknauf 6y agoI’m pretty excited about the upcoming Playdate: https://play.date/ https://play.date/
- sukilot 6y agoI don't get why they don't support 3rd party games, only the (very!) few games they publish themselves.
- anta40 6y agoI've seen some SNES coding tutorials with emulator. But you don't stop with that, and also make the actual game cartridges. Certainly very impressive :)