Making an SNES Game the Way Nintendo Intended

Поділитися
Вставка
  • Опубліковано 26 січ 2025

КОМЕНТАРІ • 448

  • @Swampert_Tube
    @Swampert_Tube День тому +933

    When you finish it, you should ship off a playthrough to Nintendo and a floppy disk with the game on it with no context and see what happens.

    • @charlesturner897
      @charlesturner897 День тому +74

      Hit squads inbound

    • @SilasTheSilent
      @SilasTheSilent День тому +123

      Lawyers...lawyers is what would happen.

    • @NotAdachiPeople
      @NotAdachiPeople День тому +32

      As the Japanese would say, “Shinderu.”

    • @yellowwinner1
      @yellowwinner1 День тому +48

      @@SilasTheSilent I don't think so, I mean I'm no expert but unless he through Mario in it or used code from a preexisting game (which would be a copyright issue for either) he's legally clear. He even says that about the NES at 0:48.

    • @Nokia3310do
      @Nokia3310do День тому +52

      @@yellowwinner1 Yes, you're right. There is no legal issues. There are no permissions needed to sell a physical SNES release either, except if you want to use their trademarked logos. They're unlikely to grant a licence for that (they have policies about how their legacy branding is used, much like any company that pays people to run their branding)... but, all this could be a foot in the door to release the game on the Switch platform if the game proves to have commercial value. Stranger things have happened.

  • @Noruzenchi86
    @Noruzenchi86 День тому +303

    It would be incredible if Nintendo actually approves the final cartridge. Imagine being the only SNES game released in 2025.

    • @No_True_Scotsman
      @No_True_Scotsman День тому

      It wouldn't be. Angry Video Game Nerd just announced a NES game coming out this year.

    • @No_True_Scotsman
      @No_True_Scotsman 23 години тому +12

      Just noticed this is SNES and not NES like the Avgn game, my bad.

    • @javierortiz82
      @javierortiz82 23 години тому +5

      I think that the AVGN games will get a port for the NES this year, that would be a great combo.

    • @v-14415
      @v-14415 13 годин тому +4

      @@No_True_Scotsman Yeah, but the game is not officially approved by Nintendo, so it doesn't really count here.
      If it does count, then other NES and SNES homebrew games that are made this year also count

  • @nickdee5764
    @nickdee5764 День тому +604

    If only they had a seal of quality for the eShop.

    • @succojones
      @succojones День тому +28

      true as hell

    • @UltimatePerfection
      @UltimatePerfection День тому +25

      If they had it, we wouldn't get such masterpieces as "Vroom in the night sky".

    • @superhs
      @superhs День тому +44

      noo what do you mean you dont like 1 million ai slop games for only 1.99 ?!?!??!

    • @Thatdog420
      @Thatdog420 День тому +16

      You don’t want 99 cent hantai games?!?!?!?

    • @jesusramirezromo2037
      @jesusramirezromo2037 День тому +10

      Don't act like the NES wasn't full of shovelware

  • @ScottLahteine
    @ScottLahteine День тому +250

    I worked for a company in 1989 that got a NES development setup so they could start coding a game they eventually published as “Moon Ranger.” The sample 6502 code we received was full of bugs but George got those fixed up and optimized the code and we submitted the changes back to Nintendo. And that was the point where I move on to another job, so I never got the full Nintendo development experience. But today in 2025 anyone can dive in with free tools, and even build their own emulator if they feel like it, so there’s never been a better time to make your own Nintendo games!

    • @synxhro_fgc
      @synxhro_fgc День тому +13

      we love George

    • @grongy6122
      @grongy6122 День тому +8

      shoutouts to my man George

    • @LuwiigiMaster
      @LuwiigiMaster День тому +9

      Moon Ranger is a game published by "Bunch Games", the branch that Color Dreams (I think now called Wisdom Tree, at this point) relegated to cheaper games. None of these companies were ever licensed by Nintendo, perhaps Color Dreams was still dreaming of being a licensed publisher?

    • @ScottLahteine
      @ScottLahteine 12 годин тому

      @@LuwiigiMaster The contracted developers were the young nerds at Odyssey Software. Could be that the publisher was Bunch.

    • @LuwiigiMaster
      @LuwiigiMaster 10 годин тому

      @@ScottLahteineI see, they also made Deathbots for Color Dreams/Wisdom Tree/Bunch Games. I'm more curious about the part where changes were sent to Nintendo, this company (like others) didn't like the idea of paying Nintendo to produce their cartridges. I do know Nintendo had a requirement where NES games were discouraged from using illegal 6502 opcodes (for the proposed but ultimately scrapped backwards compatibility of the SNES), but I'm not sure if unlicensed publishers cared much about that.

  • @ryanreedgibson
    @ryanreedgibson 7 годин тому +7

    My uncle worked for Intel in Arizona. He was an engineer who would service their lithography machines. When I was 11 years old, he gave me an NES cartridge with a set of all the copied NES games. The copied game would be inserted into the larger cartridge and then inserted into the console. It was awesome! He passed away about 15 years ago and I gave it back to his son. He wouldn't tell me where he got it, but I have a feeling he made it with people at his work.

  • @bucket_mouse
    @bucket_mouse День тому +163

    Thanks for the shout-out :) great video! Since tackling the hardware, I've been meaning to try my hand at software at some point. This has inspired me :)

  • @taxicomicsGamedevCave-ne6zm
    @taxicomicsGamedevCave-ne6zm День тому +319

    It is WILD that they had to hand in a FULL PLAYTHROUGH of their game! ON VHS! I imagine the chunky box full of 240min VHS recorded by some poor play tester.

    • @NewMateo
      @NewMateo День тому +103

      Some poor schmuck had to play through the lion king for SNES in 1 playthrough with no cuts.

    • @UltimatePerfection
      @UltimatePerfection День тому +11

      I wonder what would they do had VHS or other home recordable video media (betamax, etc) never been invented.

    • @MrHamof
      @MrHamof День тому +7

      @@UltimatePerfection Tape to Tape reels I guess. Maybe an actual film camera. Both of which would be even more impractical.

    • @Aeduo
      @Aeduo День тому +23

      This is actually an incredibly smart idea, and probably why a lot of SNES games were a good bit more reasonable. And unlike super mario maker where there's no actual human moderation to assure something is beatable through the intended path, someone could of course, determine reasonably if there're shenanigans.

    • @Bobbias
      @Bobbias День тому +8

      ​@@Aeduoto be fair to Mario Maker, they do have a few things in place to try to avoid unbeatable levels. I'm not saying those systems were as effective as intended, they absolutely weren't, but it's not like they did nothing at all. And given the sheer number of levels submitted to those games there's simply no way a human could review them all.
      If you're making a veiled reference to Trimming The Herbs, recording a playthrough wouldn't have caught that since the playthrough would not show whether there was a human playing it or not.
      So while your point that many MM levels don't live up to SNES era Nintendo standards is valid, you do need to keep in mind that QCing MM levels is at a vastly different scale than Nintendo has to deal with when QCing SNES games.

  • @FireFox2313-di6bk
    @FireFox2313-di6bk День тому +234

    Do I understand these types of videos? No, not really
    Will I watch and enjoy them? Hell yeah

    • @LethalDamageGaming
      @LethalDamageGaming День тому +8

      i just came here after seeing the dude that built his own "anyon_e" laptop which i thought it's gonna be some slapped together parts, but noooo, it went way beyond that, like custom pcb stuff. Now i'm here. My brain hates me

    • @alexandersalazar9750
      @alexandersalazar9750 День тому +6

      He's actually explaining it all very clear to understand.

  • @trainedloser
    @trainedloser Годину тому +1

    The production quality of this video is arguably more impressive than writing a SNES game. So much work, thank you.

  • @silverismoney
    @silverismoney День тому +58

    mad respect for people who had to squeeze a fun playable game complete with audio and graphics into a tiny space in memory using a whole bunch of tricks to save space and writing it all in assembly. A far cry from cranking out a quick indie game with a game engine like unreal

    • @cryptocsguy9282
      @cryptocsguy9282 День тому +6

      @silverismoney Ikr , i'm trying to design a retro style game for a 6502 emulator that comes with it's own custom graphics hardware that's designed to work like something from the 80s but not an exact emulation of any hardware from back then , trying to get my head around the hardware is difficult enough (I don't fully understand it so I could be wrong but from what I can tell it has 64KB of RAM shared between the CPU/graphics hardware with 1KB of that 64 as VRAM that maps to 1024 pixels on screen with 4bit colour or 16 possible colours all of which can be displayed on screen at once , 2KB for code which is the equivalent of the cartridge ROM and same size as early Atari 2600 games ). Everything is coded in 6502 assembly although it doesn't appear to have any sound hardware from what I can tell so doing all of that while also coming up with a game design document is pretty fun but challenging :P

    • @ArneChristianRosenfeldt
      @ArneChristianRosenfeldt 21 годину тому +1

      @@cryptocsguy9282that looks like the C64 which had great sound. I think that it introduced sawtooth and triangular waveforms to the consumers.

    • @ArneChristianRosenfeldt
      @ArneChristianRosenfeldt 21 годину тому +1

      Or you take the older genesis and write in C. Sega does what Nintendont.

    • @cryptocsguy9282
      @cryptocsguy9282 12 годин тому +1

      @ArneChristianRosenfeldt Yeah the C64 had a great sound chip & I do plan to start learning how music trackers work to make retro sounding chiptunes. I know there's some homebrew development tools that allow you to make megadrive games in C which is pretty cool , yh maybe one day I can check that stuff out 👍🏾

    • @markpfeffer7487
      @markpfeffer7487 Годину тому +1

      And slapping dlss on there instead of optimizing anything

  • @James-eg3nf
    @James-eg3nf День тому +48

    It’s actually extremely impressive that they were able to make such high-quality games with that hardware and 6502 assembly language. Having done a bit of IBM Assembly myself, I know firsthand how tedious and difficult this can be, especially to debug. Every single byte had to be accounted for, so efficiency was essential. These days, even simple games use enormous amounts of storage and memory thanks to cheap hardware and bloated systems full of layers of abstraction.

    • @InkboxSoftware
      @InkboxSoftware  День тому +14

      Yep, I had to rewrite the collision check subroutine a couple times before it was efficient enough to be called by multiple objects per frame

    • @ArneChristianRosenfeldt
      @ArneChristianRosenfeldt 21 годину тому +1

      @@InkboxSoftwarememory and time constraints are different things .

    • @ArneChristianRosenfeldt
      @ArneChristianRosenfeldt 21 годину тому +2

      What is so difficult with accounting? A 6502 can only access 64k. So usually you have a big poster on the wall with your zeroPage memory map. And then you have a bunch of arrays in the rest of the memory.
      For the code you need to think in block scope. Is there some variable in the registers which I will need after the block? Then place some push and pop around the block. For parameters you need to make sure that they are popped in the same order inside the function every time. So branches might be a problem. Likewise return values need to be pushed in the same order.

    • @anon_y_mousse
      @anon_y_mousse 8 годин тому +1

      @@ArneChristianRosenfeldt I've seen you commenting on a lot of videos. If you really think it's so easy, then put your money where your mouth is and write a game for either the NES or SNES and do it entirely in assembly.

  • @Dezomm
    @Dezomm День тому +41

    I port games to modern consoles at my day job. It's very interesting to see just how different the process was back then! Great video!

    • @samuelbarrett5701
      @samuelbarrett5701 День тому +4

      When you port these games do you have access to the source code? NOT ASKING FOR LEAKS, i'm just curious. :)

    • @Dezomm
      @Dezomm 22 години тому +4

      @@samuelbarrett5701 Fortunately yes I do! My job would be tremendously difficult, maybe even impossible, if I didn't.

    • @samuelbarrett5701
      @samuelbarrett5701 19 годин тому

      @@Dezomm that's awesome! Are there any games you can disclose as of now that you're porting?

    • @Dezomm
      @Dezomm 18 годин тому +2

      @@samuelbarrett5701 It's not been announced yet so no I can't :(

    • @samuelbarrett5701
      @samuelbarrett5701 17 годин тому +1

      @Dezomm ok. I won't ask then :) how likely do you think it is the rogue squadron games get ported?

  • @Bofner
    @Bofner День тому +13

    24:40 That is one of the greatest feelings ever, I have to agree. I've been working on Sega Master System and Super Game Boy games as a hobby for the last couple of years, and being able to see all of your work up and and running on real hardware through a CRT is like nothing else

  • @al-5001
    @al-5001 День тому +42

    24:41 Looking at the game through a CRT gives it a special charm

  • @TheInfi
    @TheInfi День тому +68

    5:00 Joy-Cons on the SNES? 😅

    • @neoqwerty
      @neoqwerty День тому +10

      You laugh but I faintly remember an arcade fightstick peripheral with those! It was official AFAIK, my cousin had it instead of a normal second controller because he wanted a "fighting game controller" to go with his SNES Mortal Kombat 3.
      Had a full-out joystick, and the weirdest setup with the L and R being above the ABXY buttons, like a 6-button genesis controller on this HUGE box you basically needed either on a table or in your lap.
      The video probably meant joyPAD, but yeah, there were joycons/joysticks too.

    • @SlocumJoe7740
      @SlocumJoe7740 День тому

      @@neoqwerty Did they even call it a Joypad? The common nomenclature was just "SNES Controller" they didn't start with the "joy" thing till the Switch

    • @CMM47
      @CMM47 18 годин тому +2

      That emoji (😅) looks so punchable to me and I don't know why 🤔

  • @soundspark
    @soundspark День тому +27

    Nintendo ironically failed requirement 9 with Pilotwings when they started manufacturing it with a bug-fixed DSP1 chip. The buggy chip would play the attract mode perfectly, but the plane would crash when the revised DSP was installed in the cartridge due to a very slight effect on the physics engine.

    • @keiyakins
      @keiyakins День тому +8

      They also failed the "no SFC references" in Super Mario World, the logo is in the background of special world

    • @semajniomet981
      @semajniomet981 23 години тому

      @keiyakins The main reason they were able to get away with that is because they owned the copyright.

  • @block_place1232
    @block_place1232 13 годин тому +8

    Missed opportunity too call it "Making an SNES game like Nintendo Nintended"

  • @TheNeu3no
    @TheNeu3no 9 годин тому +1

    I need to point out, that it is extra impressive, that you learned all the different kinds of stuff, like arts, gamedesign, Programming in 6505 Assembly, learning about the SNES hardware and how to specifically program for that, soldering etc...
    Some things as you told only for this project. You're pretty versatile, so impressive.

  • @m72860
    @m72860 День тому +30

    thank you for the subtitles

    • @alexandersalazar9750
      @alexandersalazar9750 День тому

      UA-cam automatically puts closed caption on every video

    • @m72860
      @m72860 День тому +13

      @@alexandersalazar9750 these ones aren't generated

    • @memediatek
      @memediatek День тому +15

      ​@@alexandersalazar9750 to be honest they suck. Human written ones will always be better

  • @marcuslinkert1139
    @marcuslinkert1139 День тому +7

    I did this back in 1993 without the help of any modern hardware or software. My development computer wasnt even a PC. it was a 7mhz Commodore Amiga 500.

  • @subg9165
    @subg9165 День тому +69

    honestly i'm kinda curious what would happen if you tried to submit an snes game to nintendo for approval decades after the system's discontinuation

    • @General12th
      @General12th День тому +39

      They'll turn it down and probably blacklist you from ever working with Nintendo for the rest of your life. Same thing that happens when you try to send Pixar an idea for a movie.

    • @stuff31
      @stuff31 День тому +24

      They would send you a cease and desist, probably sue you and then give you generational debt for tampering with their hardware.

    • @mageofchaos
      @mageofchaos День тому +12

      @@General12th It's different. This game isn't a pitch, it's a game, with Nintendo acting as the publisher.

    • @Vexxter
      @Vexxter 20 годин тому +4

      @@stuff31 Why the hell would they do that if you followed all of the intended methods of creating and submitting a game. Even if you didn't, they wouldn't care because you doing that doesn't hurt their sales

    • @stuff31
      @stuff31 19 годин тому +1

      @Vexxter The manual was leaked illegally, they wouldn't be happy about that

  • @JensChristianRestemeier
    @JensChristianRestemeier 15 годин тому +2

    I know writing the editor is half of the fun, but I'd like to recommend the "Tiled" map editor. Some time ago I was evaluating lots of different 2D map editors with the goal of writing my own with the best ideas, and Tiled was pretty much exactly what I needed. So my build scripts are getting TMX files, and produce SNES specific binary and assembly data. Tile graphics are already pre-optimised for 16 colour/8 palettes, so just need to be converted to SNES format.

    • @famitory
      @famitory 38 хвилин тому

      same advice but for using YY-CHR for art instead of making the tiles in another program and converting.

  • @haydn9196
    @haydn9196 17 годин тому +1

    I will personally buy a snes to play your game good sir. Please finish this amazing project. Thank you for putting so much effort into this video. It’s incredible how intelligent you are.

  • @cdkw2
    @cdkw2 День тому +36

    Maybe some day I will be smart enough to understand your videos

    • @ZhuDaoLong
      @ZhuDaoLong День тому +2

      I feel ya, still very entertaining to watch

    • @cdkw2
      @cdkw2 День тому +1

      @@ZhuDaoLong yes sir!

    • @cube2fox
      @cube2fox День тому +1

      Unfortunately we don't get significantly smarter after reaching adulthood

    • @cdkw2
      @cdkw2 День тому +1

      @@cube2fox kinda sad seeing I will turn 18 in a few months, I'll try my best to learn though!

    • @cryptocsguy9282
      @cryptocsguy9282 День тому +1

      @cdkw2 You can be if you wanted to put in effort to learn computer science/electronics stuff

  • @thardump859
    @thardump859 13 годин тому +3

    Well at least you were able to have the effort find a program to actually compile your game and also figure out how the compiler works. I'm too lazy to even do that! All I have the effort to do is draw spritework. Also good job on learning how to draw. I'm really impressed! The more you practice the better you become!

  • @modlich_303
    @modlich_303 День тому +388

    hope its not gonna be like 8-bit Minecraft, where you go "I'll finish it later" and then never come back to it

    • @amogusenjoyer
      @amogusenjoyer День тому +92

      Eh, the process is just as interesting as the result imo. Like I don't care a lot about a NES game itself in 2024, but the way it's made is more timeless imo

    • @cube2fox
      @cube2fox День тому +63

      He is ultimately a UA-camr, not a game developer, and finishing a game would take a lot of work.

    • @PotheGreatDragonwarior
      @PotheGreatDragonwarior День тому +36

      He's probaly working on 8bit minecraft. Game dev takes a log time

    • @CsnlGuy_Da_Goadt
      @CsnlGuy_Da_Goadt День тому +48

      ​@@PotheGreatDragonwarior no it takes a wood time.

    • @chuck_muckle
      @chuck_muckle День тому +7

      ​@@CsnlGuy_Da_Goadt 😂

  • @tsakeboya
    @tsakeboya День тому +5

    I watched this at midnight on my birthday, making this the last video of my childhood

  • @gdmilk
    @gdmilk День тому +21

    As an IT person myself, holay molay

  • @Nikku4211
    @Nikku4211 День тому +24

    Nice video. It's really cool that you're making a game for the SNES, a system that not many homebrew developers like to develop for.
    Just one correction:
    8:05 Actually, sprites on the SNES are *always* 4BPP. You can't have 8BPP sprites like on Game Boy Advance, and sprites can't natively use a 2BPP format on SNES either. The only way to get graphics stored as 2BPP onto a sprite in runtime is to convert them to 4BPP, whether through a specific DMA transfer unit selection (the fastest way, but only works with NES-formatted 2BPP graphics, not SNES/GB-formatted 2BPP graphics) or manually.
    Also, why did you use layer 2 for the HUD when most SNES games use layer 3 for the HUD? Do you really need as many colours as 4BPP gives you for the HUD?
    If you had used layer 3 for the HUD, you would be able to use both layers for the foreground, allowing you to overlap tiles on top of each other while saving VRAM.
    Interesting game development nonetheless, and I'm interested in playing the full game whenever it comes out.

  • @JoeyHahn
    @JoeyHahn День тому +24

    Great video! Do you need music for your game? I've managed to program a music engine before for the Super Nintendo (it's hard), but the Super music is super important to SNES games

  • @Innuya
    @Innuya День тому +4

    22:12 yo being able to break the bamboo is actually sick! I'd have been hyped up as a kid doing that and would probably convince myself I was training for real 😹

  • @Xturnal
    @Xturnal День тому +5

    Hmm. Cool idea, but I'm a bit worried for the game. I've seen many projects on youtube ended up with their dev binning it or starting from scratch to rework core mechanics because they were focused on looks instead of the game loop. I am just a viewer though, it does look like you have worked it out with the mini demo, though, so I just hope you don't miss the forest for the trees with overbaked mechanics while leaving the core loop uncooked. Great video as always and I hope my criticism is at least has been followed before I wrote it.

  • @DarkShroom
    @DarkShroom День тому +2

    "yes that's me... you're probabally wondering how i got here" 😂.... shoulda joined that bit to the ending but still good video

  • @TuneInToAbacas
    @TuneInToAbacas День тому +7

    I love your videos so much! They bring a new perspective and personality to programming for me, inspiring me to continue with my own efforts in programming. I wish the best for you in this coming year!

    • @CallousCoder
      @CallousCoder День тому

      Perhaps you'd like my shenanigans too there's some similarity.

    • @TuneInToAbacas
      @TuneInToAbacas День тому +1

      CallousCoder It does not look good that the first thing I see when I visit your channel is an AI generated image for a thumbnail, sorry. I'm tired of AI generated media.

    • @CallousCoder
      @CallousCoder День тому

      @@TuneInToAbacas Oh that's the only one "What waas that saying again? About a judging a book by it's cover?" :D But there's a lot of old skool game hacking there. And very low-level coding and weird esoteric projects.

    • @TuneInToAbacas
      @TuneInToAbacas День тому

      @ I believe you, I just... am an artist, and I don't like AI being used whatsoever. Please take that how you will, unfortunately it means I have no interest in supporting your channel with my views. Also, I dug slightly deeper and I saw another image that was obviously AI, so don't tell me that's the only one.

    • @CallousCoder
      @CallousCoder День тому

      @@TuneInToAbacas All the rest is not AI only the kid with the hoodie. The rest is photoshop comping and some stuff for a game I did is an actual cartoon artist that I employed.
      But you have an interestingly weird way of looking at things :D Who gives a hoot what a the thumb tag is, it's about the content, that's what normal people would think.
      And I am an artist too, a musician song/writer as you would see/hear and I work as special effects artist and visual effects artist as well. I show some of my special effects arts work there too. Anything that's creative that I do I show case there. Hence it's a bit of everything. But in the end it is your choice ;)

  • @der.Schtefan
    @der.Schtefan День тому +46

    I always forget how weird the American SNES looks like to European eyes.

    • @Cantendo
      @Cantendo День тому +2

      Fr

    • @alexandersalazar9750
      @alexandersalazar9750 День тому

      Which one? We have more than one version

    • @Pehmokettu
      @Pehmokettu День тому +4

      ​@@alexandersalazar9750 All of the American ones look weird. I am from PAL region and I spent my childhood playing SNES games so seeing any ofthe American SNES consoles just feels really weird. Also the differences of PAL and NTSC games is fascinating, like the sound speed.

    • @SkellyMan42069
      @SkellyMan42069 17 годин тому +1

      @@Pehmokettu as an American I was always fascinated by the different look of the Japanese/PAL snes. It looked cooler to me.

  • @zenbusuchan
    @zenbusuchan День тому +11

    5:00 didn't know the SNES had Joycons

    • @zenbusuchan
      @zenbusuchan День тому +2

      I am not the first person to notice this at least.

  • @napoleonfeanor
    @napoleonfeanor День тому +58

    The European SNES looked like the Japanese Super Famicom. No idea why the US had this abomination

    • @minirop
      @minirop День тому +10

      Because NOA's Lance Barr thought it would be better to look like a VCR, and the roundness was "too soft".

    • @valentinkovshik
      @valentinkovshik День тому +4

      US version looks better IMO

    • @UkraineJames2000
      @UkraineJames2000 День тому +10

      I love the US version (probably because I grew up with it, and I love the sharp angles) but the PAL version is my favourite (Japanese second). 50hz can suck a lemon though.

    • @netwicks1126
      @netwicks1126 День тому

      I honestly prefer the US SNES

    • @neoqwerty
      @neoqwerty День тому +2

      @@netwicks1126 US SNES looks cooler, but the PAL controller was SO MUCH NICER to hold.
      Source: my aunt somehow ended up with a PAL controller along with an NA one for her SNES, so I got to compare speedrunning Donkey Kong Country 1, 2, and 3 with both. PAL one didn't give me massive finger cramps.

  • @champion_ofcloud-var
    @champion_ofcloud-var День тому +5

    "read the joy-cons"

  • @CallousCoder
    @CallousCoder День тому +19

    I never wrote for the SNES. I did a lot of NES reverse engineering and more development on the SEGA MegaDrive and a hell of a lot on the Atari ST (68000 for the win) and we need to get back to a lesser abstraction imo. All these interpreted languages now used wastes so much of our incredible hardware's potential

    • @talideon
      @talideon День тому +6

      The likes of Lua and other languages aren't the real bottleneck. The bottleneck, which is really hard to avoid, is hardware abstraction. Frankly, while I'd fun working directly on the metal on older machines, the idea of using, say, Vulkan directly isn't that enticing, and definitely not if I were working in the games industry on anything except engine development.

    • @CallousCoder
      @CallousCoder День тому

      @@talideon Well the scripting languages because they manage everything aren't hyper fast. Doing something in C over Javascript makes it run early 5-10 times faster.
      And yes hardware has become complex especially GPUs. But the abstraction is often way overdone. And also hardware should be engineered more friendly. Why does it take a sheet of A4 to write a pixel to the screen, when it should be as simple as being allowed to poke straight into the resulting framebuffer memory. But these days that's all locked off without the ability to enable it.
      And then you have libraries like OpenCV (which is incredible) but it's so inefficient as it's trying to over every scenario. And it becomes an algimation of many different languages and libaries and it's a hell to maintain/compile and distribute. And then you have the Python n00bs writing computer vision in OpenCV in python and barely doing 15 fps when if they just bothered to code in C++ (which is just as simple in OpenCV) they'd easily achieve 30fps.
      We need to go back to compiled languages and wrap down the abstraction and only abstract up if you need to and do it yourself and not take dozens of libraries.

    • @CallousCoder
      @CallousCoder День тому +3

      ​@@talideon Interpreted languages aren't a bottle neck because you don't write low level enough to code to let them become that. But they are! Global Interpreter Locks in case of Python or single interpreter binary in case of JS/LUA will never ever allow you to take full advantage of multi threading and multi cores.
      And yes, I agree that hardware gotten unnecessarily complex especially GPUs because of making things proprietary and shielding of direct access to the developers. It would be great if there was a standard that every GPU had a framebuffer that you could request a begin and end pointer to and just write directly to it, like we did in the old days. But nope, all needs to go through convoluted APIs.
      But the issues is not solely hardware it;s the fact that people can't be bothered to actually program. They just want to call a single simple function which does 100s of things low down. And those libraries are unnecessarily highly wrapped.
      You should always wrap up when you need to and preferably do it yourself but even a small library is okay. But you get complex massive frameworks like OpenCV, that is an algimation of many different libraries and languages and a massive hassle as a result to compile and distribute.
      And for some reason all the tutorials out there for this (incredible) library are done in python. Which really irks me because Python is so slow even when OpenCV bindings run in compiled machine code, the marshalling of the structures is so slow that Python aps run in say 15fps when you just write it in C++ you easily do 30fps.
      That's what I mean with wasting speed with interpreted languages, because 10X faster is a LOT! And those gains are easily made when using C/C++/Rust or Zig over the interpreted languages out there.

    • @CallousCoder
      @CallousCoder День тому

      @@talideon Oh great example of interpreted "nightmares" I have a google chromecast. I was amazed why the new version takes literally 20-30 seconds to start a new youtube stream. There's no need for it to take that long! Flush the buffer, switch the stream buffer 2 seconds and go. Turns out they actually run HTML5/Javascript.... Why?! Why?! How hard is it to code that in C++ and it would literally be 10 times faster.
      Ironically my internet connection is faster than the processing of that thing. So the buffer is filled in no time with my 1Gbps up/down stream. So what are we waiting for?!
      We ran 6000 page views on a modest SGI O200 (200 mhz 64MB) at the Dutch Broadcast assocation. Now for the same load my customer uses 3 docker containers! Why?! Because they use Python and Flask and not low level NSAPI what we did.

    • @CallousCoder
      @CallousCoder День тому +1

      @ Another example I recently replaced my chromecast. The old one broke after almost 12 years. Now ironically the new one has a way faster CPU yet starting a stream and changing a stream takes 20-30 seconds! The old one started in 5 seconds. It only buffered and started to play. I found out that this one is so slow because it actually runs HTML5/JS so much overhead and quite possible all sorts of other useless things it does that are no benefit of me the consumer.
      We need to go back to fast processing! It's weird that I wrote software in the 90s that performs faster than equivalent software now. And we had to make it run on 4MB and tiny slow IDE disks!

  • @stefanolassandro886
    @stefanolassandro886 19 годин тому +2

    Amazing work mate!! It's super fascinating seeing what rules, restrictions, and challenges developers had to go through to make and publish a game.
    Keep up the great work man ❤
    P.S. the game playing on the original hardware looks way way better than on the pixel-perfect emulator, it's insane!

  • @XDeadzX
    @XDeadzX 4 хвилини тому

    Absolutely amazing video. I love your detailing of what it really took to ship a game back then, I had no idea they required an uncut playthrough of the full game! I bet it was waived for many though, given what I experienced back on the SNES. Very sweet journey of yours, and congrats on your game booting on real hardware!

  • @edale2
    @edale2 День тому +8

    ...why do you keep calling the controller a joycon?

  • @nambona890
    @nambona890 День тому +5

    Great vid, but there were a couple of errors that stood out to me.
    8:06 Sprites/objects can only be 4bpp, they can't be 2bpp or 8bpp.
    8:26 The examples you showed larger than 16x16 are all internally made up of smaller tiles.
    10:26 If you're using only one player sprite, usually you would only reserve as many tiles in VRAM as you would need for one instance of it, and transfer new graphics to for every frame. It's actually what Super Mario World does.
    24:59 3D is still technically possible without additional hardware, even if it sucks.

  • @donchaput8278
    @donchaput8278 День тому +2

    Wow man, I would love to see you collaborate with a couple other people to help out with music, design, etc.and make this something really special. I would literally buy this if it was a good RPG

  • @cube2fox
    @cube2fox День тому +3

    Great editing, every sentence has a matching visual on screen.

  • @jackfrost884
    @jackfrost884 День тому +2

    Loving the visual! Cant wait for new videos!

  • @maxwelseven
    @maxwelseven День тому +1

    Very good!
    That you did this in such a short time is just mind-blowing to me. Impressive!
    As for the headache with the 8/16 bit shifts in the registers, it's very rare that I have problems with this, the most annoying thing is when the assembler gets confused and compiles the wrong instructions. Then we are forced to use ".b", ".w" and ".l" along with the opcodes to tell the assembler the size of the instruction.
    I always leave the accumulator at 8 bits and the index registers at 16. When I need to do some calculations in 16 bits, then I really need to change the accumulator to 16 bits. But you can also just use 16 bits all the time. This will use more RAM and a bit more processing, but it simplifies the code.

  • @cubanpianoman
    @cubanpianoman 21 годину тому

    I've recently been enticed by the idea of doing exactly what you're doing, in terms of reading through that manual and trying to emulate the work that so many have done in the past. Getting into the weeds of developing SNES games has made playing older games so much more fun! I can appreciate the effort that went into them even more, while oggling at some of the amazing effects those games achieved despite all the parameters they needed to live in. I'm glad you mentioned starfox at the end for the 3d stuff, as I just learned about that chip and played the starfox game on the switch, remembering being completely blown away by how much that single chip turned the SNES into something like an N64 experience, which I had no clue was even remotely possible at the time.
    If you have time to mess with that chip specifically or to show us how it was intended to be used at the time, that would be cool. I know it's an insane ask haha
    Sick game btw

  • @fatrobin72
    @fatrobin72 21 годину тому +1

    Looks awesome, and way better than my first game boy games that used all the preexisting tools for sprites, maps, and writing the game in a slightly easier language than assembly (C)

  • @PedroManX
    @PedroManX 3 години тому

    That's amazing!!
    You took this serious and it looks really good! woah.

  • @Controllerhead
    @Controllerhead День тому +4

    Amazing work so far, great explanation, and the game is coming along!
    > 8/16 bit register mode swap
    Oh yeah this sucks big time! It's a powerful and amazing feature which unfortunately turns your code (and brain) into spaghetti. It's a common gripe against this chip and it really gave the 65C816 a bad name, which i don't think it truly deserved, but yes what a pain in the butt for assembling, organizing code, and the sanity of the programmer 🤣

  • @shoofle
    @shoofle 3 години тому

    I've been working on a gameboy game for the last month; it's so cool to see more people doing homebrew dev work for these consoles :)

  • @herrice3227
    @herrice3227 День тому +1

    I envy that feeling of seeing a project come to fruition! Fascinating

  • @CH-it9jt
    @CH-it9jt День тому +1

    very quality video of beginner to advance homebrew info

  • @tehaxor69
    @tehaxor69 День тому +2

    For the colors, getting the aggregate sum of all the WRAM bytes 7E0000-7FFFFF, is a nice way to seed RNG.
    But the flash cart might be initializing all of the WRAM.
    Also counting the number of frames the SNES controller buttons are pressed at start can help.

  • @ReJaad95
    @ReJaad95 День тому +2

    Can't wait to see how this turns out!

  • @smurfandturfer
    @smurfandturfer 18 годин тому +2

    Headphone users at 23:00 no one is behind you don’t worry

  • @ТайныйЯ-к3ь
    @ТайныйЯ-к3ь День тому +3

    Amazing video! The little guy your drew as a character sprite reminds me of Sokka from Avatar: The Last Airbender. 👾

  • @werewolf1806
    @werewolf1806 День тому +1

    "Sounds like a 2 week project to me"
    Me: Ok, you got me. Subscribing now!

  • @xyklapse
    @xyklapse 20 годин тому +3

    A while ago, the Sega Genesis got a free development kit called the SGDK that lets developers program their own games in C. It's led to an explosion in the homebrew scene for the system, with even old names like Yuzo Koshiro jumping back into developing for the system through it. How viable do you think it would be for a similar development kit to be made for the SNES? I apologize in advance if my question's a bit stupid, I'm not familiar with the world of old hardware...

    • @xyklapse
      @xyklapse 20 годин тому +1

      An SNDK, if you will...

    • @ArneChristianRosenfeldt
      @ArneChristianRosenfeldt 19 годин тому

      SNES is so stupidly opinionated. I mean, Amiga has some weird rules where both playfields need to have a similar count of bitplanes. And this crazy HAM mode. Okay, I rest my case. But genesis has only weird sound.

    • @johndough8115
      @johndough8115 7 годин тому

      @@ArneChristianRosenfeldt FM synthesis sound, is utterly Legendary, in the right hands. Thunderforce II 's music tracks (and sound effects), are probably the most amazing sounding compositions, ever created for a shooter video game, hands down.
      FM synths can also make some of the most amazing sound effects, too. And all of it, with very little use of Cartridge Ram, due to it all pretty much being ram via mathematical formulas. Where as the low resolution "Sampled" sounds on the SNES, are flat, boring, and "Meh"... and take up a lot of cartridge space, for the samples. This severely limited the sound/music fidelity, and complexity. No Snes games sounds and soundtracks, can Touch Thunderforce II. Not even close. I also recommend listening to Target Earth's tracks + sound effects, too.
      FM synths are also what made the 80s music, so damn fantastic. The FM keyboards on Van Halens "Jump" are pure Eargasm-Nirvana.
      Obviously, programming an FM synth, isnt a very easy task, unless you have a somewhat effective User Interface, and have some time and experience to mess around with it... to get the kinds of sounds you want to hear. This is why many of the older arcade game creators, had one or two dedicated sound designers, that would spend all of their days, messing with the Parameter Algorithms, and coming up with some fantastic sound effects, and sounds for compositional use. Some may have also had a separate Music Composer, to create the various musical compositions, with those sounds... if the "Synth Tweaker" ,wasnt good enough of a musician, on their own.
      Back then, there was little in the way of information about FM Synths... and how to create patches. But today, there are FM Synth emulators, that have much more Intuitive Interfaces... and many videos from experienced FM creators, that reveal how these sounds are created.
      Also, if you load up one of those FM Synths, such as a Yamaha DX-7 emulator... you can find countless thousands of Sound Patches, from users all over the world... spanning several Decades worth of time. Being that certain FM synths have similarities.. its also possible, that by comparing existing patches... you might be able to recreate those patches, on the Genesis's FM Sound Chip.
      As for the Amiga... Its Ham mode... was pretty much useless. It was only basically used for showing static images. A sort of revolution in its time, for what it could display, using pretty cheap hardware... but still, not really usable in games, other than for Displaying some fancy Logos / Title Screens, and or... cut-scene graphics. But even then, such graphics would have taken a lot of Floppy Disk memory up.. so even that was likely not used often. I used it with a drawing program, that auto-blended things as you drew. It was fun to mess with.. but thats about it.

    • @FryAndLeelaAndBender
      @FryAndLeelaAndBender 2 години тому

      ​​@@johndough8115: sorry to say this, but in my opinion Sega Megadrive also has a lot of poor designed soundtracks. Try soundtracks in the SNES such as those from Axelay, Donkey Kong Country series, Super Adventure Island 2, Gradius, Castlevania Dracula X and many others. Maybe it's just a matter of comparison and it depends on our old perception as kids (when we listened to this music for the first time), but I feel the SNES has really great music. I realise that Sega Megadrive also has it, but I don't like FM synthesis very much; maybe I need to find new music from that system to be amazed again... (and please, don't take this as personal; you know that this is about music as an art... multiple and different points of views, feelings and images from the past...) 😅

    • @johndough8115
      @johndough8115 18 хвилин тому

      @FryAndLeelaAndBender You clearly have been listening to Poorly created FM tracks. Not the good ones. Try these 2 examples:
      This is a Space-Jazzy synth guitar-like lead, that is a Groovy Masterpiece of Space Shredding:
      ua-cam.com/video/EAynnxLnC7w/v-deo.html
      This is an example of Complex Synth sounds, for the amazing shooter, Thunderforce II
      ua-cam.com/video/XJb8zsIkkfU/v-deo.html
      Both of these games produce sounds that the SNES is not capable of producing... Most Especially the smooth Pitch-Bends
      Not just that... but the Clarity and detail of the sounds, is infinitely superior... because the SNES's samples are so low-resolution, that most sounds end up being muddy / muffled
      As for FM Synth sounds in general... Maybe one of the better examples of what FM Compositions are capable of... is the famous "Axel F" from Beverly Hills Cop:
      ua-cam.com/video/lXMb768dGNI/v-deo.html
      (A Cover Version)
      Another Famous FM tune in the movie FLETCH:
      ua-cam.com/video/5gZgApyJiSY/v-deo.html
      FM Synths are used in almost every Arcade game, Countless Movies, and In most all of the Music that you have listened too
      In fact, even in many modern console games, FM synths are often "Sampled".. as they can create sound that nothing else can replicate
      The problem with the Genesis, was that many of the Western developers, didnt know how to program the FM Synth chip.
      The Japanese companies were different. They had been creating Arcade and Japanese Computer games, using FM Synths... for quite some time... and they hired people whom were excellent with them. Where as the Western companies, cheaped out... and simply tried their best, with people whom were not capable of programming the synth properly.

  • @tolstoj_
    @tolstoj_ День тому +4

    0:48: I bet Tengen would disagree

  • @whydoIneedAchannel2024
    @whydoIneedAchannel2024 18 годин тому +1

    I always dreamt of making my own snes game (not necessarily a real hardware disk). But then I found out that I suck even at basic coding, let alone ASM. And not to talk making custom tools!
    Glad & envious there are people who are skilled & able. You have incredible skill, as you can even explain it all (wish I understood any of it beyond the surface level).

    • @whydoIneedAchannel2024
      @whydoIneedAchannel2024 18 годин тому +1

      And the hardware reader... Holy cow.
      I really should leve the world th the really skilled tech guys.
      And not watch these for my sanity😂

  • @stuff31
    @stuff31 День тому +1

    This is absolutely wild! I look forward to seeing how this game progresses :)

  • @mattgio1172
    @mattgio1172 День тому +1

    Amazing video and great game/explanation. Once again - great job!

  • @ahmadafandy1143
    @ahmadafandy1143 День тому +7

    It's something good when you can see what is happening or what they do to these games and devices to achieve such good and long lasting result for our childhood. I like it!

  • @yellowcrescent
    @yellowcrescent День тому

    Very cool and awesome job so far! If you can't find the correct ZIF adapter for your flash chip (they are quite pricey), might instead want to use or build a cart that has a ZIF DIP socket for EPROM(s). Main downside is that EPROMs require UV to erase (so you're not gonna be doing fast iteration on them), but they act similar to a mask ROM. Another tip: when ordering your PCBs from PCBWay (or wherever), order a solder paste stencil too-- it makes SMT soldering way easier (ideally you'd have a reflow oven-- the T-962 clones are a popular choice-- but hot air via a heat gun and a hotplate also work well).

  • @markbauermeister5449
    @markbauermeister5449 День тому +1

    Looks absolutely lovely. Can't wait to see more of it. If you ever need help with pixel art, hit me up.

  • @NTSC__J
    @NTSC__J 17 годин тому

    I really hope you continue with the project. It’s really cool seeing a snes game being made in 2025

  • @alexandreturcotte6411
    @alexandreturcotte6411 День тому

    Congrats!
    Cool to see you learn more pixel art too, and I'm excited of how your style may evolve over time.
    P.S. for the seal, I feel that the lighting could've been a bit harsher for more contrast in the sprite (mainly so the eyes can feel more defined, in my opinion).

  • @TRMrStone
    @TRMrStone День тому +8

    I hope you`ll continue making the game, I enjoyed the video a lot and am curious what you`ve planned :D

  • @Pirochiro
    @Pirochiro День тому +2

    Apparently bitplanes are used so the data for a single pixel can be quickly fed in parallel to the video processor.

  • @gglobensky
    @gglobensky 10 годин тому

    You could add a bit of a wind wave effect in front of the punch and kick to extend the detection hitboxes of the player. So he can hit enemies easier

  • @rexxxx1984
    @rexxxx1984 21 годину тому

    Thank you for that grate Video and the insides of the SNES.

  • @Archaic_arcade2010
    @Archaic_arcade2010 День тому +2

    How did you learn all of this programming!?!?!??

    • @cryptocsguy9282
      @cryptocsguy9282 День тому

      @Archaic_arcade2010 Idk how he learned but you can study programming and computer science , videos on youtube , sites like codecademy/udemy for qualifications , university , books.

    • @ArneChristianRosenfeldt
      @ArneChristianRosenfeldt 20 годин тому +2

      Step by step? We had 30 years.

  • @fromixty
    @fromixty День тому +3

    Pretty cool, I thought you were going to also use the SNES SDK

  • @BrunoValads
    @BrunoValads 9 годин тому

    Every kind of video like this makes me wanna start developing SNES games

  • @iGrave
    @iGrave День тому

    Thats awesome mate! All the best 👍

  • @kez963
    @kez963 День тому +1

    Will you tape the gameplay when it finished? :D

  • @SansFilet
    @SansFilet День тому +7

    It's ironic because the Wii was full of shitty shovelwares lol

    • @DanielMonteiroNit
      @DanielMonteiroNit 19 годин тому +3

      And so was the Famicom. The NES library was great because the US had a 2 year headstart to cherry pick the good stuff

    • @kaminekoch.7465
      @kaminekoch.7465 18 годин тому +1

      And so was every console that you could cheaply develop for with low production cost and high marketshare. NES, SMS, PS1, PS2 thanks to RenderWare...

  • @mr.coolio4321
    @mr.coolio4321 День тому +1

    Great vid! 👍

  • @kraio-sfu
    @kraio-sfu 9 годин тому

    23:29 I had my phone in my pocket, and thought you misspoke, but… wow. That sure is a Giratina on a Gameboy cart

  • @bioman1hazard607
    @bioman1hazard607 День тому +1

    I'm doing the same thing with the sega genesis. We even share gameplay styles, hope yours get finished faster then mine, im a complete noob at this

  • @joaovinicius8880
    @joaovinicius8880 12 годин тому

    Excellent technical explanations
    Thanks for sharing
    All the best for you

  • @Nnif_Boots47
    @Nnif_Boots47 6 годин тому

    "I know we've all watched a million videos on snes backgrounds" is a hilarious sentence.

  • @JackieJKENVtuber
    @JackieJKENVtuber 19 годин тому +1

    25:03 no, that's the GBA

  • @akirapink
    @akirapink День тому

    to quote one of my idols,
    "This information is highly illegal contraband! Please turn back while you still have the chance"

  • @neophytealpha
    @neophytealpha День тому +2

    There was an adapter that lets you play NES on SNES

  • @noveltyman6723
    @noveltyman6723 14 годин тому

    I'm currently making the first game for what's supposed to be a novelty game franchise, consisting of period-accurate games for older hardware such as ZX Spectrum, Commodore 64, Sega Master System, Game Boy.
    While my team consists of somewhere around 10 people, there are only two programmers (I'm one of them), because no one else wants to touch Z80 nor 6502 assembly.

  • @FryAndLeelaAndBender
    @FryAndLeelaAndBender 3 години тому

    Nice game and explanation!!! Congrats for your effort and dedication to this project. However... Will be more videos about SNES programming like this?? Or maybe something in the future about PC Engine?? It's another console in the line of what you're doing here (I guess...)
    Very good job!! I love the SNES hardware and games!!

  • @jamilthemaster
    @jamilthemaster День тому +1

    This content is so high quality but the microphone quality change was jarring. Great video though!

  • @brys6577
    @brys6577 День тому +2

    Still more advanced than the wayland compositor

  • @Anticitizen666
    @Anticitizen666 11 годин тому

    Thanks for the video! I think the NeoGeo console was around at the same time, and technically superior for 2D games, as it had an incredible sprite engine (everything on screen on the NeoGeo is a sprite, it has no tilemaps) with scaling and distortion. It didn't have mode 7 though. Plus it was REALLY expensive!

  • @Gary_P2
    @Gary_P2 10 годин тому

    2:09 wow I want to see these VHS tape of the Devs beating games like The page master or even better Hagane.

  • @RealDaveTheFreak
    @RealDaveTheFreak 15 годин тому

    Loving the low level stuff! 😍

  • @LeonmitchelliGalette
    @LeonmitchelliGalette День тому

    That looks so complicated and hard.
    But in reality it's very simple and easy to work. And Teams back then make games like in 3-6 month from scratch to release.

  • @soundspark
    @soundspark День тому

    Yes, Nintendo did use their terms of licensing back in the day to create some baseline of quality, but you had to admit that the NES was pretty sophisticated for its time and even considerably enhanced when the MMC3 mapper came out.
    The proprietary mappers by the way were only mandatory in regions that had the NES as in Japan game companies did in fact make their own cartridge hardware, including sophisticated third part mappers like the VRC6.

  • @jordanjackson6151
    @jordanjackson6151 7 годин тому

    Subbed after seeing all of this. It's inspiring.

  • @williamdrum9899
    @williamdrum9899 День тому +5

    The Virgin C vs. The Chad Assembly

  • @TheZombiesAreComing
    @TheZombiesAreComing 19 годин тому

    24:54
    Games like Link To The Past, Final Fantasy 6, Breath of Fire, Mother series, Illusion of Gaia, Mana series (don't get me wrong, it'd 3d remakes are great, but it was a fun series even before that), and Super Mario RPG showed that games don't need to be 3D to be great though

  • @cdoty
    @cdoty День тому

    Wouldn't the tile format allow the same hardware to render 2 bit and 4 bit tiles by just pulling in the additional bit planes?