How Pokemon Gold & Silver Work (Tribute to Satoru Iwata)

Sdílet
Vložit
  • čas přidán 3. 08. 2015
  • I attempt to honor Satoru Iwata's programming skills with a brief overview of computer architecture and Gameboy development. This one is a lot more dense and complicated, but that's exactly what the subject matter is! Simple pieces, but a ridiculously complex whole. Even if none of this makes sense, I hope everyone finds Iwata and the Gameboy to be crazier and cooler than you thought.
    Also, I thought this was cool. The mappings of the RAM in the games: datacrystal.romhacking.net/wik...
    (Also sorry that some 's' sounds got cut off without me realizing! I don't know what happened! I guess it contributes to my whole "shitty MS Paint" aesthetic)
    Subscribe for more game dev!
    Facebook: / thehappiecat
    Twitter: / thehappiecat
    Check out my Let's Play Channel for daily content!
    / @thehappiercat2
  • Věda a technologie

Komentáře • 201

  • @Loundre3
    @Loundre3 Před 7 lety +137

    Iwata is one skilled old school programmer.

  • @shoketermico
    @shoketermico Před 8 lety +120

    How Pokemon Gold & Silver Work ??
    >explain how add in binary

  • @kerrynrudolph6271
    @kerrynrudolph6271 Před 7 lety +35

    i only program in voltage

  • @nonchip
    @nonchip Před 7 lety +10

    great video, though i'd have hoped you actually told us how gold&silver worked. like e.g. how the 2 maps were layouted in memory to faciliate the gameboy's bank switching logic efficiently

  • @gafeht
    @gafeht Před 7 lety +37

    8:48 4 MB ~ 4 bytes * 1 million, not 10,000

  • @LightLegion
    @LightLegion Před 7 lety +6

    Is this like filling up a notebook with notes from Math class and History class with organizational skills that I cannot even comprehend? As in, filling every little white space, every blue line, even the header and the space after the pink line?

    • @ZxCrono
      @ZxCrono Před 7 lety +7

      yep, and then going back over it with a highlighter to mark places where you can optimize the notes so you understand them better, and rewriting the notes until the entire class can be summed up on two sides of a note page.

  • @NB19273
    @NB19273 Před 8 lety +2

    wow i have new appreciation for the gift that was having the kanto region in pokemon silver/gold/crystal games! great video, really informative/inspirational/enjoyable!

  • @emilybelville7904
    @emilybelville7904 Před 7 lety +4

    I just randomly clicked on this video after finishing writing a Mips Processor for hw... I can't get away from it...

  • @johnwilson1297
    @johnwilson1297 Před 7 lety +9

    I believe the large cost of memory in recent years is primarily taken up by graphics.

  • @eywhatswrong
    @eywhatswrong Před 7 lety +25

    I was wondering when you are going to actually explain how said games work. Your answer was not what i expected but It still was pretty interesting. This video is a year long so I guess you already have noticed that buildup was bit long.

  • @OwenKoenig
    @OwenKoenig Před 7 lety +9

    I just recently got my first experience working with an assembly language. That early games were built entirely using this kind of programming absolutely boggles my mind. Respect for any programmer who knew it well enough to be efficient with it.

  • @RPGMakerXXXXPPPP
    @RPGMakerXXXXPPPP Před 7 lety

    Thank you so much for this tribute. Mr. Iwata is one of my idols and inspirations and you just took one of my favourites of his achievements and made me realize how incredible it actually was. I just discovered your channel, but your content is exactly what I'm passionate about. Can't wait to watch more of your videos. Subscribed!

  • @khfan4life365
    @khfan4life365 Před 5 lety +1

    I’d like to thank this man for making my childhood. The GBA, DS, and Gamecube was my life when I was younger. It’s a shame that he passed the way he did but he left a lasting impression and legacy. RIP, good sir, and thank you again.

  • @shidomutsuma8322
    @shidomutsuma8322 Před 8 lety +5

    Rest in piece Satoru iwata

  • @Kaslai
    @Kaslai Před 7 lety +9

    Saying that C++ is written in C is selling it short. Many modern C++ compilers are written in C++ these days.

    • @ThePanathas1908
      @ThePanathas1908 Před 7 lety +8

      well she probably meant that the first c++ compiler was written in c.

    • @seigeengine
      @seigeengine Před 5 lety

      I'm a bit of a noob, but...
      Is not basically any language capable of being used to write a compiler?
      Wouldn't that mean all languages can, whether or not they are, be compiled by a compiler written in the same language?

    • @TheLeontheking
      @TheLeontheking Před 5 lety

      @@seigeengine true.. of course, you need to write the first compiler/interpreter in assesmbly itself, but after you did that, any complete programming-language will do to write a parser that turns high-level-language into assembly.

    • @Kaslai
      @Kaslai Před 4 lety

      @r4rev2 As a general rule, not really. In the end, machine code is machine code. How you arrived there doesn't really matter. If you are targeting a platform other than x86[-64], modern ARM, or modern PPC platforms, it can actually be very untrue. The quality of code you get out of a compiled language is 100% dependent on the toolchain, and not all platforms have toolchains for C++ that are as robust as gcc, clang, or icc are on x86-64.

  • @jennariseley3161
    @jennariseley3161 Před 5 lety +2

    This didn't go into any detail about what Satoru actually did, it was more of a handwavey explanation of CPU instruction sets.

  • @guelly1267
    @guelly1267 Před 7 lety +2

    This video sounds like my Computer Science class :D

  • @NoOne-ft8bq
    @NoOne-ft8bq Před 7 lety +2

    But gameboy doesn't need alignment or padding... it's 8-bit, so everything is "aligned" to 1 byte

  • @siegeO2
    @siegeO2 Před 9 lety +25

    Great tribute to Satoru Iwata :]
    Do you think programming at such a low level has become obsolete, given the advancement of hardware, or does it still play an important part?

    • @TheHappieCat
      @TheHappieCat  Před 9 lety +19

      siegeO2 I don't think any modern games are developed with assembly. However, it's definitely still used to develop and interface with hardware all over the place. And it's important for all programmers to have a mastery of; I use the concepts of computer architecture every day.

    • @NingamerX
      @NingamerX Před 8 lety +1

      as she said it's more used to program hardware, I use assembly to program microcontrollers

    • @djxfade90
      @djxfade90 Před 8 lety

      +Wizard of OS Not so much in games, but a lot in high end software, like Photoshop, Logic, Premiere etc, where performance is really important. Usually most of the program is written in a high level language (C, C++, C#, etc.), and then some of the performance critical functions are written in assembly

    • @Loundre3
      @Loundre3 Před 7 lety +1

      Obsolete? For PCs, its just less useful, with optimizing compilers in the market.
      Assembly is however still used in areas, where code needs to be tightly timed.

    • @moartems5076
      @moartems5076 Před 7 lety +1

      Wizard of OS
      if someone builds a chip, they need to write the firmware in low level C or assembly.
      alone in your phone theres plenty of them

  • @brads8143
    @brads8143 Před 7 lety +9

    Just call the the ram 'memory' and the non-volatile memory 'storage'.

    • @tmtrainerred9968
      @tmtrainerred9968 Před 7 lety

      Or, call the RAM, 'RAM' and the non-volatile memory, 'ROM'

    • @AURORAFIELDS
      @AURORAFIELDS Před 7 lety +1

      Memory is extremely vague term. Storage on the other hand isnt vague enough. Bad terms.

    • @RyanJones-lv9dj
      @RyanJones-lv9dj Před 7 lety

      Or call RAM, RAM and non-volatile memory, NVRAM.
      ;)

    • @AURORAFIELDS
      @AURORAFIELDS Před 7 lety

      Ryan Jones No thats really dumb :P
      Read Only Memory describes it very well

    • @tmtrainerred9968
      @tmtrainerred9968 Před 7 lety

      +ᑎᗩTᔕᑌᗰI Thank you.

  • @briansmith1288
    @briansmith1288 Před 9 lety +3

    I think this was an appropriate tribute to Iwata.

  • @colwarsstudiobrickfilmandm8580

    Not only did you need to know z80 assembly but you had to learn the modifications for the gbz80 chip

  • @Raattis
    @Raattis Před 7 lety +1

    Gameboy is an 8-bit system so it wouldn't access memory in 4 byte chunks. The memory alignment is more of a modern problem.
    I doubt that careful memory placement is the answer to how essentially two games worth of map could be fit into a single cartridge. He must have used some sort of compression algorithm.

    • @rallokkcaz
      @rallokkcaz Před 2 lety +1

      Compression and bank switching to be exact.

  • @rcookie5128
    @rcookie5128 Před 8 lety

    Just found your channel a few days ago, you definatly deserve much more subs!! :D

  • @joshrandall3663
    @joshrandall3663 Před 7 lety

    i absolutely love this detailed explanation! Thank you!!

  • @kylespevak6781
    @kylespevak6781 Před 7 lety +1

    While this may be deeper than I explore with coding, your videos are very informative and watchable.

  • @IT-kone
    @IT-kone Před 7 lety +2

    Dang, he seems to be as badass as the original programmers of Elite. One thing they did was to transform all multiplications and division to logarithms, because the hardware that day (CS Specturm etc) couldn't handle those calculations well, but they were pretty good at adding and subbing. They just added shitloads of logarithmic tables in their limited disc space to make it work. Also there were some other programming wizardry involved that blew my mind while reading it.

  • @iPruch
    @iPruch Před 8 lety +1

    I enjoyed this video a lot! I'm computer engineer and I don't think I could have explained it better. Thank you for your videos! I'm also amazed of how "badass programmers" people had to be in the past. Iwata truly deserved every praise people tell about him, as a badass programmer and as the Nintendo CEO.

  • @xvsholtkamp
    @xvsholtkamp Před 8 lety +2

    Is byte alignment important on the gameboy? I didn't think it was because it has an 8bit cpu. I know the source address of sprite DMA needs to be in aligned to 256 bytes, but that's the only case I can think of where alignment is important.

    • @AURORAFIELDS
      @AURORAFIELDS Před 7 lety +1

      Yeah I believe she pulled that out of her as. Maybe it is in MIPS but MIPS also isnt relevant to Z80. I've worked with Z80 and I never had to worry about it. It was customized chip but doubt Nintendo would troll the devs with such high limitations.

  • @Dnwudc8
    @Dnwudc8 Před 7 lety

    can you do a video of how pokemon is organized and programmed in specific?

  • @MichaelMiller-rg6or
    @MichaelMiller-rg6or Před 6 lety

    I learned MIPS in college. It is so beautiful in its simplicity. And the reason for the extra ALU Op field tacked on to the end of the instruction makes perfect sense when you see how a MIPS processor decodes instructions.

  • @nebzila
    @nebzila Před rokem

    Great video explaining how programming and computers work! RIP Mr. Iwata.

  • @thomario8639
    @thomario8639 Před 5 lety +1

    Thanks
    I wanna know how (a lot of) games works and did tricks WITH THE CODE; HOW WERE WRITTEN THE CODES; HOW THE CODES WORKS!!!

  • @canadianblitz3468
    @canadianblitz3468 Před 5 lety +1

    1. Assembly is hard
    2. Circuits are hard
    3. I'm hard

  • @dixie_rekd9601
    @dixie_rekd9601 Před 8 lety +2

    how about a video on the original elite game? :)

  • @sonicrocks2
    @sonicrocks2 Před 6 lety

    Amazing video! Thank you.

  • @AskEpic
    @AskEpic Před 8 lety +3

    Best channel ever

  • @georgevasiliadis4228
    @georgevasiliadis4228 Před 6 lety

    Excellent content. I'm totally amazed🙏🙏

  • @OlleLindestad
    @OlleLindestad Před 7 lety +1

    4:14 I love how you started drawing a stick-person and then were like "hmmm nope, that's not what we draw on this channel"
    Also golden: cat in a Pikachu costume

  • @stonesword1844
    @stonesword1844 Před 4 lety

    i loved this! i’m really into pokémon RBY and GSC glitches and it’s so hard to find a (competently explained) video on how the coding works in the gameboy era pokémon games work. do you know any videos that/could you make a video on how code is recalled in those games / why the game might call code from the wrong areas / how glitches can overwrite code?

  • @battleroundscool
    @battleroundscool Před 8 lety +9

    But we actually don't how they made Pokemon. How can you say for sure they used assembly? I believe there was a C SDK for gameboy games too.

    • @TheHappieCat
      @TheHappieCat  Před 8 lety +19

      If you look at the C compiler for the NES, for example, it still requires knowledge of the specific hardware and memory requirements. You'd face the same challenges even if C is easier to write in.

    • @battleroundscool
      @battleroundscool Před 8 lety +2

      I see thanks for the response, and great video!

    • @TheBramnw
      @TheBramnw Před 8 lety

      *Pokemon Go Unlimited Pokecoins* twitter.com/linda_smith015/status/759040787594162182?v=XGFBtVbBgnM?v=XGFBtVbBgnM

    • @microspam6085
      @microspam6085 Před 7 lety +6

      The C compiler you probably know nowadays is unofficial and wasn't even made yet back then when Pokemon was made. (Assuming you are talking about GBDK) Using a high level language such as C on a Gameboy was impractical because the compilers back then were no where near as efficient as the ones we have now.
      Memory was also a concern. Assembly took significantly less space than C and ran faster on the CPU. Also, Satoru Iwata used special data compression techniques along with memory alignment to fit Pokemon Gold/Silver on the cartridge.

    • @battleroundscool
      @battleroundscool Před 7 lety +1

      I was just speculating because Junichi Masuda contributed to some of the programming on the first games and He mentioned on his blog that he studied C programming on Unix. Here my source: www.gamefreak.co.jp/blog/dir_english/?p=27. Also thanks for the response I didn't think about the memory issue. Compilers now are way better.

  • @arcadistorias3202
    @arcadistorias3202 Před 9 lety +13

    I had no idea that assembly language was used for SO long. Enjoyed this very much.

  • @SatoshiMatrix1
    @SatoshiMatrix1 Před 7 lety +5

    It is an awesome achievement, but realistically, the Kanto of Gold & Silver is very basic. and reuses tilesets from Johto. Anywhere that would require custom tilesets or new locations were just omitted - Seafoam islands, Pewter Museum, the Safari Zone, even Veridian Forest and the Unknown Dungeon. At the time I thought it was exciting to return to Kanto, but was disappointed in the lack of basic locations that not even the 2MB Pokemon Crystal fixed.

    • @alaeriia01
      @alaeriia01 Před 7 lety

      Satoshi Matrix That explains a lot, actually.

    • @-DeScruff
      @-DeScruff Před 7 lety

      Looking at ROM sizes... Pokemon Gold and Silver are also 2MB.
      If I recall adding areas or rooms is a lot more difficult then adding additional graphics - like what they did with the animations.
      The animations are rather simplistic, It ether edits certain 8x8 tiles or does a palette swap.
      Its actually kinda clever, since each animation takes less room then the graphic of a whole new pokemon would.
      - Totodile for example is made of 24 tiles, and it's animation only has 22 'new' tiles, despite being 19 frames of animation.
      - I don't know exactly how true this is, but If I recall every animation is ~22 new tiles actually... which means the animations all took... a little over 86KB of unused space.

    • @SatoshiMatrix1
      @SatoshiMatrix1 Před 7 lety

      You're talking about Crystal, not Gold & Silver.

    • @-DeScruff
      @-DeScruff Před 7 lety +1

      Satoshi Matrix
      Yeah but you said "disappointed in the lack of basic locations that not even the 2MB Pokemon Crystal fixed" - and Im pointing out that Crystal and G/S are the same rom size.
      Crystal they squeezed a little bit more. but I don't think significantly more. since the animations were only 86KB worth of data.

  • @rodolforubens
    @rodolforubens Před 7 lety +6

    And there is this: github.com/pret/pokered
    A disassembly of pokemon red/blue! haha

    • @DannyE33
      @DannyE33 Před 7 lety +3

      Don't forget our disassembly of Pokemon Yellow:
      github.com/pret/pokeyellow
      Or our disassembly of Pokemon Crystal:
      github.com/pret/pokecrystal
      Assembly FTW!

    • @rodolforubens
      @rodolforubens Před 7 lety +1

      Wow, thanks for those!!
      It's so cool to play around with this, I managed to start with a level 99 mew by tweaking some lines and also deactivate that event where oak prevents you from leaving pallet without a pokémon but then the game freezes. Amazing work man!

    • @DannyE33
      @DannyE33 Před 7 lety +1

      That's cool! You can do some pretty exciting things with the source code

  • @siddiqisah1452
    @siddiqisah1452 Před 3 lety

    RIP satoru iwara he is an absolute legend

  • @PhantomHarlock78
    @PhantomHarlock78 Před 7 lety

    This remind me that great book Racing the Beam, about Atari 2600. Yars Revenge used the own code to generate the random explosion effect between levels, also taking advantage from the lack of video memory in the 2600.

  • @channtron
    @channtron Před 7 lety +2

    amazing the work of old programers! also a good language to learn assembly programing is motorolla 680x0 the Amiga computer and some retro apple computer

  • @scarlettran-
    @scarlettran- Před 9 měsíci

    very informative video thank u

  • @otesunki
    @otesunki Před 3 lety

    it still feels like iwata died only yesterday.
    he was a legend.

  • @AcceptYourDeath
    @AcceptYourDeath Před 7 lety +1

    It`s funny how we not only sometimes forget "yeah these people can actually code themself" but the fact they are (were) also some of the most genius programmer around. Bill Gates, John Romero etc. which became a "Suit" at one point.

  • @tractionalofficial4232

    He saved us. He saved all Pokemon games and made Pokemon X and Y better with the end theme

  • @Calvinatorzcraft
    @Calvinatorzcraft Před 6 lety +1

    Wait a minute... Did they name that rabbit in sm64 after their CPU assembler?

    • @MrPoeGhost
      @MrPoeGhost Před 6 lety +1

      I know this is a month late and you probably figured out the answer by now, but yes.

  • @Roninkinx
    @Roninkinx Před 2 lety

    Actually R/G/B/Y were written in C and converted by an interpreter into Z80 assembly. Crazy right?

  • @jonasrogier
    @jonasrogier Před 7 lety

    Nice video

  • @LucasFerreira-jy9kw
    @LucasFerreira-jy9kw Před 7 lety

    Could u make a vid about Ed Boon?

  • @DatAlien
    @DatAlien Před 7 lety +20

    C++ isn't translated on runtime into assembly. It is compiled into machine code before runtime.

    • @AURORAFIELDS
      @AURORAFIELDS Před 7 lety +5

      False. C++ is always compiled to assembly and then gets assembled into machine code.

    • @JackBond1234
      @JackBond1234 Před 7 lety +5

      That seems rather inefficient... Since assembly is 1-to-1 with machine code, why go through the extra step? Nobody gets to read the assembly code in the middle step, so what point is there?

    • @AURORAFIELDS
      @AURORAFIELDS Před 7 lety

      JackBond1234 I do not know at all. In fact, I've wondered the same things.

    • @moartems5076
      @moartems5076 Před 7 lety +1

      JackBond1234 have you ever debugged?
      of course the assembly is always there.
      about effizency: translating the semantic of written code into assembly is way more work then replacing assembly

    • @JackBond1234
      @JackBond1234 Před 7 lety +1

      Debugging C++ doesn't give you assembly commands. What do you mean "replacing assembly"? I'm suggesting they just translate the C++ directly into the assembled binary code instead of ASCII patterns that translate into binary after the extra assembly step anyway.

  • @Pliskin5000
    @Pliskin5000 Před 7 lety

    Apparently a quantum bit is represented by a 2. You can look up quantum bits online.

  • @grantdineen
    @grantdineen Před 8 lety

    Damn. That's crazy.

  • @lisamariefan
    @lisamariefan Před 6 lety

    I know this video is old, but don't you mean 1 million time bigger on the 4 MB song at 8:30 or so?

  • @metroidfannumber1234
    @metroidfannumber1234 Před 5 lety

    i thought they would program on an sdk computer that edited a lot of the game.

  • @mkauf84
    @mkauf84 Před 7 lety +1

    God dang video game Ads, I'm trying to watch a video about video games!

  • @ProSimples
    @ProSimples Před 5 lety

    in other words, they were literally ninjas in programming and hardware.

  • @geckoo9190
    @geckoo9190 Před 7 lety +19

    Yea assembly language is cool it gives you total controll over the machine, the programs are smaller and most of the time, faster, but in return is very difficult to use and since it's machine specific, is not very portable. Is more or less like the nether in minecraft, a site that you don't visit unless you have something very important to do there.

    • @MickeyD2012
      @MickeyD2012 Před 7 lety

      STFU n00b

    • @AURORAFIELDS
      @AURORAFIELDS Před 7 lety

      You dork, I go to swim in lava quite often for the fun of it

    • @RyanJones-lv9dj
      @RyanJones-lv9dj Před 7 lety +5

      God, the fact that you made that comparison makes me cringe...

    • @seigeengine
      @seigeengine Před 5 lety

      I'm pretty sure this is basically wrong. Assembly can in theory be smaller and faster, but in practice modern compilers are good enough that maybe only an expert is going to do a better job, and with much more work.

  • @eloisadeleon7828
    @eloisadeleon7828 Před 5 lety

    What level is notepad batch programming ?

  • @rubixman7x7
    @rubixman7x7 Před 7 lety

    5:42 did you get 1 and 2 swapped?

  • @yowhatsmyname
    @yowhatsmyname Před 3 lety

    Cool

  • @timmy2shirts
    @timmy2shirts Před 6 lety

    I have a gba sp now I love it more

  • @leberkassemmel
    @leberkassemmel Před 7 lety

    So it is basically the same like the smallest file on my PC is always 4kb on disk.

    • @Akriashi
      @Akriashi Před 7 lety +2

      Pretty much, but the limitation isn't with the Processor, but in software. Storage devices divide up their addressable space into _blocks_ at the smallest level, and File Systems consequently layout files as a collection of blocks, with files unable to "share" blocks. Older disks use a block size of 512 bytes, while newer ones use 4096 bytes(your '4kB'). Though if you're using NTFS, you can make files

    • @leberkassemmel
      @leberkassemmel Před 7 lety

      Akriashi Yes. I have used partition programs before, that don't take bytes as input but sectors...

    • @ThePanathas1908
      @ThePanathas1908 Před 7 lety

      fuck me I am reading for an exam in Operating Systems and reading a book by Tannenbaum about that.
      You summed up 5 hours of reading in 5 lines.

  • @max_ishere
    @max_ishere Před 3 lety

    May I correct you that c++ is not an interpreted language thus its translated in machine code / assembly at compile time. Basically it happens once and translation has to finish before c++ code can be executed.

  • @MadDeuceJuice
    @MadDeuceJuice Před 8 lety +2

    "wow level programming"

  • @alaeriia01
    @alaeriia01 Před 7 lety

    Chris Sawyer wrote RCT2 entirely in assembly.

  • @theburntcrumpet8371
    @theburntcrumpet8371 Před 7 lety

    I feel sorry for anyone who has to optimise memory usage on that kind of level. A few bytes of memory is not worth the optimisation now. This is a really nice basic overview of ASM and low level memory management by the way. you made it a lot more interesting than my college.

    • @AURORAFIELDS
      @AURORAFIELDS Před 7 lety +1

      Well I love working with Mega Drive and doing some crazy tricks to save CPU time or memory. Its really fun to look at piece of code, and find a way to make it better.

    • @ThePanathas1908
      @ThePanathas1908 Před 7 lety

      well in many embedded systems the optimization is worth it.
      What happened back then is still going on just in different systems.

  • @fishyperil2153
    @fishyperil2153 Před 7 lety +1

    interesting video . what I find really intriguing is the comparison in RAM and disk memory size between the modern machines and the 90's devices such as the GBC.
    basically, if I'm not mistaken , this means that if someone was to, hypothetically, take up the task of reprogramming a modern game on such a deep level, they would be faced with a task a 100,000 times (or more) bigger than what Iwata did. which is obviously not possible. imo, that's quite some food for thought.......

    • @AURORAFIELDS
      @AURORAFIELDS Před 7 lety

      You can not replicate a game properly on earlier hardware without a lot of sacrifices and quality loss

    • @fishyperil2153
      @fishyperil2153 Před 7 lety

      ᑎᗩTᔕᑌᗰI I wasn't talking about replicating it on earlier hardware, just about the idea of someone going down to a lower programming level to reprogram a game manually the way Iwata did, but in a modern scenario

    • @AURORAFIELDS
      @AURORAFIELDS Před 7 lety

      fishy peril Oh right, sorry. That is 100% possible but will be just more time consuming and will lead to many different incompatability issues. At least if done on PC, its likely easier on consoles as they usually have unchanging hardware specs and operating systems.

    • @fishyperil2153
      @fishyperil2153 Před 7 lety

      ᑎᗩTᔕᑌᗰI well that's what I was talking about. it's possible in theory, but for 1 person to do it would be impossible since there would be incomparably more work to be done.
      which is kinda thought provoking to me, since that means that todays programmers are actually a lot further away from understanding how the machines work on a core level, than old school programmers like Iwata were

    • @AURORAFIELDS
      @AURORAFIELDS Před 7 lety

      fishy peril yeah, its really sad that nowadays programmers are so out of touch with the base hardware and actual bits and bytes using the high level languages.
      If you ask me, every programmer should learn at least one assembly language and work with one on the level where you end up having to optimize and clean code, as well as optimize memory usage. Too often I have to use bloated applications with memory leaks, poorly written code or they use a ridiculous amounts of memory when its not really needed, just because the programmer behind it does not even think optimization is a thing people do.

  • @Anders0429
    @Anders0429 Před 5 lety +1

    What a missed opportunity. You didn't talk about any of the actual things he did to optimize memory. How about how he reworked the way they stored sprites, to save tons of space? While dealing with alignment was important, there were much larger things he did to save space. Adding in the entire second region would not have been made possible simply by optimizing alignment.

  • @user-cn4ci5wx1s
    @user-cn4ci5wx1s Před 7 lety

    Much like how Iwata removed the padding from the memory alignment, you could've removed the padding from this video.

  • @Diablokiller999
    @Diablokiller999 Před 7 lety

    How would it be to honor this man with a small "...from scratch"-Tutorial, where you create a clone (or just proof of concept) of one of his games in SDL/SFML? :)

  • @mattwhomatt
    @mattwhomatt Před 6 lety +5

    This was not at all about Pokemon Gold and Silver, and definitely not a tribute to Satoru Iwata.

    • @Anders0429
      @Anders0429 Před 5 lety

      Matt Cliatt exactly. This video was garbage. It didn't mention anything he actually did to optimize space. Does the narrator really think that all he did was optimize alignment? Please.

  • @nadishbhayana
    @nadishbhayana Před 5 lety +1

    WOW!! This video made my day..It will forever count as one of the best experiences on CZcams..

  • @domonkoskovacs2898
    @domonkoskovacs2898 Před 6 lety

    Actually they left some rom banks empty.

  • @aadityachavan781
    @aadityachavan781 Před 7 lety

    The words are like my handwritting.

  • @masterstealth11
    @masterstealth11 Před 5 měsíci

    Why would anyone dislike this :(

  • @Wuss2ns
    @Wuss2ns Před 6 lety

    Really ipressive look.

  • @pedrokremer3403
    @pedrokremer3403 Před 7 lety

    Nice video! Subscribbed

  • @poisonsnivy6439
    @poisonsnivy6439 Před 6 lety

    I think a better video name is "How Satoru Iwata fit both Johto and Kanto in Pokemon Gold & Silver"

  • @mikired100
    @mikired100 Před 8 lety

    I'm the only one who still like and feel good with assembly? :(

    • @ZxCrono
      @ZxCrono Před 7 lety +1

      I dabbled in assembly when I tried hacking Super Mario World, I liked how it worked though I never got around to understanding it fully. I decided learning C# was more useful in the short term.

    • @Loundre3
      @Loundre3 Před 7 lety +1

      For microcontroller programming, assembly is the way to go for me.

  • @Marcsine
    @Marcsine Před 8 lety

    Wait. MIPS the assembly language? MIPS THE BUNNY??? WHAAAAAAAAAT?????? I personally thought that 6502 was a more user friendly language than MIPS, probably because 6502 was one of the first programming languages I really learnt. Oh welll.

  • @MickeyD2012
    @MickeyD2012 Před 7 lety +1

    I'm confused as to what this really has to do with Pokemon at all. This is just basically explaining how assembly languages work.

    • @DannyE33
      @DannyE33 Před 7 lety

      If you really want to learn how Pokemon Gameboy games work, check out our recreated assembly source code:
      github.com/pret/pokered
      github.com/pret/pokecrystal

  • @meyakabrown4725
    @meyakabrown4725 Před 7 lety +1

    Very great video. : D But you said Unity and Gamemaker....no love for Unreal Users? : (

    • @ScwJGX
      @ScwJGX Před 7 lety

      Last I had worked with it was free to use. If you sell your game commercially then they take a cut of the profit up to a certain cap.

  • @OmnipotentO
    @OmnipotentO Před 6 lety

    I know some of these words

  • @AvalancheGameArt
    @AvalancheGameArt Před 4 lety +1

    you used c for dreamcast, ps1 and 2, hell even n64, imagine coding 3d htaphics in asm. it would have taken forever. c is still low level and gets compiled in binaries..

  • @TheOrbitalDropShock
    @TheOrbitalDropShock Před 7 lety

    And then they fucked things up with the clock bug

  • @vert5202
    @vert5202 Před 3 lety

    He died

  • @Dragmier
    @Dragmier Před 7 lety

    HE DIED

  • @irgendjemand8221
    @irgendjemand8221 Před 7 lety

    "Very stock photo" hahaha

  • @fenderat1713
    @fenderat1713 Před 5 lety

    You know what, nevermind.

  • @DannyE33
    @DannyE33 Před 7 lety +1

    Try to talk about how Gameboys work... talk about MIPS assembly instead of Gameboy assembly... :/

    • @meithecatte8492
      @meithecatte8492 Před 7 lety +2

      Exactly... I was facepalming hard when I was watching because of this. But good video otherwise

  • @Galomortalbr
    @Galomortalbr Před 6 lety

    i think you deviate a lot from the main theme , but i still like the video

  • @SoftBank47
    @SoftBank47 Před 7 lety +3

    Math makes no sense to me. My brain short-circuited during this video.

  • @TheGugustar
    @TheGugustar Před 7 lety

    Wait, 4 bytes = 4 x 1.000.000 bytes, not 4 x 10.000

  • @RyanJones-lv9dj
    @RyanJones-lv9dj Před 7 lety +1

    I forced myself to learn x86 assembly as my first language (Intel syntax, if you want to know, I'll never understand why you would ever want to use AT&T IMHO)
    God, I hate assembly languages for CISC computers so much, you have to memorize 100+ instructions you'll would never actually use...

    • @ThePanathas1908
      @ThePanathas1908 Před 7 lety

      My first experience was with MIPS. RISC assembly is so romantic and tender. It will take you to dinner, pay for it, then invite you for coffee upstairs and blow you. CISC on the other hand is a sadistic and manipulative bitch with a BDSM fetish.