How we fit an NES game into 40 Kilobytes

  Рет қаралды 3,589,820

Morphcat Games

Morphcat Games

Күн бұрын

Trailer/Gameplay: • Micro Mages Trailer (NES)
NES CARTRIDGE NOW AVAILABLE: www.brokestudi...
DIGITAL VERSION: morphcatgames....
OR ON STEAM: store.steampow...
Both the itch.io and Steam releases contain a ROM file for use on NES emulators and are thereby playable on many different platforms!
Twitter: / morphcat
Kickstarter page/updates: www.kickstarte...

Пікірлер: 6 800
@rpavlik1
@rpavlik1 3 жыл бұрын
The "shift the axis of symmetry" trick is really clever!
@bobesponja8151
@bobesponja8151 2 жыл бұрын
It truly is.
@blob5907
@blob5907 2 жыл бұрын
@@bobesponja8151 no it's not!
@VentA_7
@VentA_7 2 жыл бұрын
@@blob5907 the idea of “what if we just moved tiles in a row to not make it look symmetrical” by itself is smart; the fact they did it by using bytes that had left over bits to from a new byte, which then allowed them to do it, is a very cleaver optimization
@techmanwalker8496
@techmanwalker8496 Жыл бұрын
@@VentA_7 Actually it isn't a byte but a nibble, because a byte are 8 bits and the nibble are only 4
@PL9050
@PL9050 Жыл бұрын
@@techmanwalker8496 A 7 was correct. They were saying the used the leftover bits they collected from unfilled bytes. The bits collected formed a nibble, but that’s not what A 7 was referencing.
@LowSpecGamer
@LowSpecGamer 6 жыл бұрын
This was absolutely fascinating.
@matthewvasta9425
@matthewvasta9425 6 жыл бұрын
coming from low spec gamer. hes probs hoping to play this on his potato
@matthewvasta9425
@matthewvasta9425 6 жыл бұрын
just remove every 2nd tile. half the disk space, half the vram usage, half the ram usage, half the cpu usage, and half the time till i cum
@ballfondler-k1o
@ballfondler-k1o 6 жыл бұрын
i could do that np
@dgill3090
@dgill3090 6 жыл бұрын
Yeah
@Male_Parent
@Male_Parent 6 жыл бұрын
O hai
@alessandrodilecce8742
@alessandrodilecce8742 6 жыл бұрын
Have you ever thought about a whole documentary about these techniques? The video was really interesting, now I wanna know more!
@edgardelgado3377
@edgardelgado3377 6 жыл бұрын
better for a series sponsored by patron, true
@funnyman2097
@funnyman2097 6 жыл бұрын
The 8bitguy made similar videos called "How oldschool graphics worked"
@StriderVM
@StriderVM 6 жыл бұрын
Gamehut does this kind of videos as well. =)
@MegaGameCore
@MegaGameCore 6 жыл бұрын
GameHut
@seymourkrelborn4780
@seymourkrelborn4780 6 жыл бұрын
256 likes on this comment is perfect, no one change it
@Dan-mw4zu
@Dan-mw4zu 3 жыл бұрын
The thing that amazes me the most is that Micro Mages would have been entirely possible to create in the 80s on stock NES hardware, but video games themselves were only really a decade old and the craft was simply too young for developers of such incredible ingenuity to even exist. Had this released in 1983, it would be looked back on as one of the most groundbreaking games ever.
@mkontent
@mkontent Жыл бұрын
Ummm would it have been? Are you going to completely disregard how they used modern tools to make the game? Sure, the assembly language and compression tricks are the same, but the creative tools are much more advanced today
@koolaidmansam8yearsago273
@koolaidmansam8yearsago273 Жыл бұрын
@@mkontentI mean that’s essentially what the original comment stated.
@AlexCreeper
@AlexCreeper Жыл бұрын
​@@mkontentPlease read the comment before you reply. that's what he said.
@mkontent
@mkontent Жыл бұрын
@@AlexCreeper You mentioned ingenuity, not tools.
@Bug_Bait
@Bug_Bait Жыл бұрын
@@mkontent even if you're right, your comment made me frown :(
@NOTNOTJON
@NOTNOTJON 5 жыл бұрын
Next project: a cartridge that plays a 2 second MP3.
@RyumaXtheXKing
@RyumaXtheXKing 5 жыл бұрын
You can do more. kzbin.info/www/bejne/g16UqX-kjdt2esk
@ciel1486
@ciel1486 5 жыл бұрын
and all it says is the n word
@AlyphRat
@AlyphRat 5 жыл бұрын
So, a NES ROM that plays a DPCM file?
@chrissxMedia
@chrissxMedia 5 жыл бұрын
dont think thats possible with such a slow cpu
@chrisakaschulbus4903
@chrisakaschulbus4903 4 жыл бұрын
@@chrissxMedia i told you, android is much better than this crap
@electroflame6188
@electroflame6188 5 жыл бұрын
I wonder how well this game would sell if it released during the NES era.
@FraserSouris
@FraserSouris 5 жыл бұрын
@GunsIndustry Would it really? Many NES games that did sell a lot tended to be from bigger companies and had lots of advertising.
@SwitchZetto
@SwitchZetto 5 жыл бұрын
@@FraserSouris Nothing that a publisher couldn't handle
@FraserSouris
@FraserSouris 5 жыл бұрын
@@SwitchZetto Again, it's not guaranteed. Many publishers like Konami, Atari and more released many titles that became forgotton.
@acosta-animations5606
@acosta-animations5606 5 жыл бұрын
Like Conker 64
@Deskyparaid
@Deskyparaid 5 жыл бұрын
It would be a cult classic.
@Versaucey
@Versaucey 5 жыл бұрын
We need more people like you in the video game industry.
@gentlevandal7589
@gentlevandal7589 5 жыл бұрын
They can aspire a lot of people regardless of an industry! This is how people should approach and solve problems.
@ackkipfer
@ackkipfer 5 жыл бұрын
Could u do that with ARK: Evolution Evolved? if u halved, would be amazingly!
@MemeScreen
@MemeScreen 5 жыл бұрын
yo bro
@willbaden2671
@willbaden2671 5 жыл бұрын
Ay versaucey here you are again in random videos
@Thalario
@Thalario 5 жыл бұрын
@@gentlevandal7589 Most problems need reusable and composable solutions. This is not it. Extreme optimization incurs extreme costs.
@KrazeeKrab
@KrazeeKrab 3 жыл бұрын
It's insane to think games back then were written in Assembly. It's a miracle so many got released at all.
@aoeu256
@aoeu256 3 жыл бұрын
Macro assembler maybe?
@mkzhero
@mkzhero 3 жыл бұрын
If by 'miracle' you just mean 'people who knew what they where doing' lol
@KrazeeKrab
@KrazeeKrab 3 жыл бұрын
@@mkzhero basically, yes xD
@john295
@john295 3 жыл бұрын
ngl, I actually enjoy programming in assembly
@hpsmash77
@hpsmash77 3 жыл бұрын
programming in assembly is much more fun for me and those dude knew what they were doing and didn't pretend that writing a 91GB game and the showing off makes you cool and compression is still alive BOTW was just 13GB even after so much content
@kopmis
@kopmis 5 жыл бұрын
If this game would have been released 35 years ago it would have been a genre-defining classic and one of the best looking NES games ever
@horusreloaded6387
@horusreloaded6387 4 жыл бұрын
"Genre defining classic" But they released it in this decade where the genre was already well-defined and copied by this game.
@ace-smith
@ace-smith 4 жыл бұрын
@@horusreloaded6387 did you read any of the rest of the comment
@horusreloaded6387
@horusreloaded6387 4 жыл бұрын
@@ace-smith yeah. So?
@ace-smith
@ace-smith 4 жыл бұрын
@@horusreloaded6387 it says *if* it was released 35 years ago it *would have* been
@horusreloaded6387
@horusreloaded6387 4 жыл бұрын
@@ace-smith yeah and i hate that kind of compliment. It is like saying "if you would publish this 9th grade math textbook in 1000 BC, you would be the smartest man alive". It is pointless and fuck all those people contributed to math/games i guess.
@fsxaircanada01
@fsxaircanada01 5 жыл бұрын
The animation for when you're doing the optimization is the most satisfying thing ever
@Metrocysh
@Metrocysh 5 жыл бұрын
And confusing af
@anhnhvn
@anhnhvn 5 жыл бұрын
@@Metrocysh Try listening without the animations then. It's much less confusing.
@Metrocysh
@Metrocysh 5 жыл бұрын
@@anhnhvn I know i mean, i understand the vid but still, the part where for example he reduces the sprites flipping them i was like "oh boi so many same sprites that i didn't saw"
@DanielMatotek
@DanielMatotek 5 жыл бұрын
This is a huge reason so many games are a fucking buggy messy even if they are triple "AAA" level development, limitations made designer and coders extremely creative in their problem solving. Now games can be as big as they want with no optimization needed so laziness and corner cutting comes with that and then it's too far gone to fix and they ship out a disaster riddled with bugs and patches to band-aid the problem.
@KingMoronProductions
@KingMoronProductions 5 жыл бұрын
What video editing software was used to achieve this? Thanks :)
@Andreas_Mann
@Andreas_Mann 5 жыл бұрын
Using the spare bit to shift the tiles was an amazing idea. Great watch!
@superyu1337
@superyu1337 4 жыл бұрын
Agreed, totally blew my mind.
@dacypher22
@dacypher22 4 жыл бұрын
Per row, the data used is not even enough to represent one letter of text. But that data was able to make the maps much more varied and alive. Very impressive technique indeed.
@radialorbits
@radialorbits 4 жыл бұрын
its a 1% idea. The kind of thing you think up in the middle of the night and jump out of bed at 1am to start work! Love those moments
@IStMl
@IStMl 4 жыл бұрын
@@radialorbits hmm not to that point
@dacypher22
@dacypher22 4 жыл бұрын
@@radialorbits Oh yeah. Those are the best, and one of the reasons why I love the software development field.
@janLilin
@janLilin 3 жыл бұрын
That is just insane. I can imagine if I was a kid back then, I'd have played this so much. The level of optimization at play is incredible, and I'm amazed it's just 40 kilobytes. Buying right away.
@WipZedKay
@WipZedKay 5 жыл бұрын
This probably the best marketing for a game I have ever seen.
@ethaisa1239
@ethaisa1239 5 жыл бұрын
They should make a 3D game for the gba
@Hide_and_Tweak
@Hide_and_Tweak 5 жыл бұрын
I thought your comment was a joke, and then I realized I was checking how it costs on steam and on a real cartridge to see if I can evaluate the price. So I guess, yeah for these types of games I guess that's a good marketing strategy.
@TheDogn
@TheDogn 5 жыл бұрын
RIGHT! I saw the links in the comments for the digital version which I assumed was a rom that I could have for free, and the nes cartridge which I immediately realized would cost money and found myself thinking, "I have to have it". Then I saw the steam link and I was like, "how many people can I afford to buy this for". This was a great marketing strategy.
@dariusmatthews2521
@dariusmatthews2521 4 жыл бұрын
It’s the only...humble way to get games out there without falsely advertising how great it is above other games
@orzen_the_orzo933
@orzen_the_orzo933 4 жыл бұрын
Engrish and ye
@delet3999
@delet3999 4 жыл бұрын
Imagine if we gave him 40 mb
@lucianothewindowsfan
@lucianothewindowsfan 4 жыл бұрын
It wouldn't fit on an NES cartridge at all.
@_loxymore_
@_loxymore_ 4 жыл бұрын
@@lucianothewindowsfan it's not what he's trying to say, he wants to say : imagine how much content they could fit into 40 mb compared to 2020 games.
@bastbo3225
@bastbo3225 4 жыл бұрын
Key word: *Imagine*
@GTS300Coupe
@GTS300Coupe 4 жыл бұрын
Super Mario 64 was done with 8MB
@Nikku4211
@Nikku4211 4 жыл бұрын
Imagine if we gave him 700 MB... 🤔
@jamdiaz9346
@jamdiaz9346 5 жыл бұрын
The graphics are almost near SNES quality but managed to fit it to run for the NES great job man! The soundtrack is well made as well
@no_nameyouknow
@no_nameyouknow 5 жыл бұрын
It looks great but the graphics are strictly NES quality. Plenty of NES games have the same level of detail, few have the same artistic quality but they exist. Castlevania for example has comparable graphics, especially Dracula's Curse. Snes is capable of way more. These are just simple facts, I am not bashing on the game.
@jamdiaz9346
@jamdiaz9346 5 жыл бұрын
@@no_nameyouknow i guess you have a point there SNES games have so much more, but yeah as you said, it looks great!
@En.GergerRacc
@En.GergerRacc 5 жыл бұрын
Battle Toads is an NES game.
@Sithedd
@Sithedd 5 жыл бұрын
It's ok OP, we get what you meant. Don't let the nerd get you down. Even though he's right
@jamdiaz9346
@jamdiaz9346 5 жыл бұрын
@@Sithedd awww thanks man, it's okay though I'm always up for information :D
@Vanska0
@Vanska0 Жыл бұрын
We just finished playing this game on real hardware with a friend and i want to thank the entire team behind this little modern gem of a project~ The polish is off the charts and the game is a ton of fun to play! We felt like kids cheering eachothers when only one of us made it to the bossfights and when beating the boss both of us screaming our heads off from joy! This lil making of video is also incredibly inspiring stuff! I hope you guys get to make more nes games in the future :3 !
@FloatingSunfish
@FloatingSunfish 5 жыл бұрын
Truly a prime example of doing it for the art. You gotta admire these game developers who not only think around limitations in ingenious ways but also have the passion to code in _friggin' _*_Assembly._*
@handsomebrick
@handsomebrick 5 жыл бұрын
Assembly seems interesting to me. It would require far more extreme documentation than any other form of programming, I think, but it would be liberating.
@BlakeSandenMedia
@BlakeSandenMedia 5 жыл бұрын
First: you should know there is no single “assembly language”. In theory, there could be a different language per processor type .. Make sense ?
@handsomebrick
@handsomebrick 5 жыл бұрын
@@BlakeSandenMedia But all assembly languages directly translate to machine code, which is what makes them amazing.
@BlakeSandenMedia
@BlakeSandenMedia 5 жыл бұрын
@@handsomebrick machine code is essentially a set of instructions for a particular processor. More values of 1's and 0's at it's core (70's)(early 80's) do you believe machine code applies or would assemly code apply better here ?
@X606
@X606 5 жыл бұрын
I think if you are gonna write code like that on a modern computer at least do it in CIL or something so you don't have to make a separate version for every processor.
@kulitmed
@kulitmed 5 жыл бұрын
"Limitations breed creativity" With that said, please make a SNES project!
@ChezzyKnytt
@ChezzyKnytt 4 жыл бұрын
Pushing SNES to the limit would be amazing.
@omnomgamer8633
@omnomgamer8633 4 жыл бұрын
Sequel
@ciaragarrity6425
@ciaragarrity6425 4 жыл бұрын
Yes, please, also theres a channel in vietnamese about that topic. Yugisokubodai has a big playlist of videos of SNES programming, so underrated. She does english subtitles. Theyre very long videos.
@notsosunshiny4557
@notsosunshiny4557 4 жыл бұрын
I think it would be cool to see a 16 bit sequel to this game
@Nikku4211
@Nikku4211 4 жыл бұрын
@@SoicBR The SNES' CPU is literally the same architecture as in NES', many parts of the hardware work very similarly, even the way the SNES reads controller buttons is the same, just with more buttons to read.
@torqtorqtorq
@torqtorqtorq 2 жыл бұрын
This is by far the greatest video I've ever seen to explain why game dev on the NES was so hard and why Nintendo, Capcom, and Konami were such masters of their craft. It reminds me of writing music in the .MOD format in the early 90s, where we had to get deeply creative with the use of our 4 tracks and would pitch shift, arpeggiate, and slide samples to turn them into different instruments. Very often the bass line and all percussion would be sharing a track, and only one or the other could play at any given moment in the song. This led to the introduction of things like a "C note bass + snare" sample to use at the exact moment the bass needed to play a C and the snare needed to hit. It was a trade-off; to get those sounds at the same moment, we had to give up a few KB of memory. All in the name of adhering to the 8-bit limitation and keeping the file size as low as possible because, on a 2400 baud modem in 1992, 300KB of song would take a minimum of 21 minutes to download, and you'd only have 60 minutes in your BBS login per day. Adding a 12KB sample meant adding a full minute to the eventual download, so we aimed to keep those file sizes as low as possible. Even writing music for the NES was like this; 5 tracks, and each track dedicated to a different waveform with a digitized sample track. Putting in a short voice sample (like "no way, dude!" in Skate or Die) could eat up 10% or more of your total allotted game memory. The connected world today is so much better in so many ways, but I still love the nostalgia behind cracking those limitations and finding all the creative ways to make it happen. It was natural puzzle-solving at its finest.
@Prima10ne
@Prima10ne Жыл бұрын
some might say it was the final frontier!
@kristijanoros7208
@kristijanoros7208 4 жыл бұрын
Developers then: I have succesfully made a 40kb game Developers now: omg my health bar takes 1Gb of space halp
@revimfadli4666
@revimfadli4666 4 жыл бұрын
And runs through 40 layers of inefficiently-coded 'easy & convenient' libraries
@marcusexperimental
@marcusexperimental 4 жыл бұрын
Me who was the 100 like
@xirabolt
@xirabolt 4 жыл бұрын
Tried installing GTAV only to learn it takes up nearly 120GB and I either needed to install to my slow slave drive, or purchase a bigger main SSD. Though I'm more annoyed by ATI and their ridiculously bloated graphics drivers. I just need it to scale the HDMI output, that shouldn't take gigabytes. 0% underscan never works for anyone, why doesn't it default to 5%?
@2kBofFun
@2kBofFun 4 жыл бұрын
I like VFD handheld games, these are only 2kB
@thenextwindow
@thenextwindow 4 жыл бұрын
Considering the video you just watched, those should BOTH say "Developers now"
@BdR76
@BdR76 4 жыл бұрын
7:04 Also notice how the alphabet is optimized, the J, O and Q are missing ;)
@philbateman1989
@philbateman1989 4 жыл бұрын
That same kind of optimization is visible if you look at early betas of Sonic 1. The final stage was originally called "Clockwork Zone", however, it displays as "Clock ork Zone". Why? Because there's no W in the font. Why? Because no other level title has a W in it. Essentially, they chose names that had no unique letters in them for the titles: A: Marble Spring Yard Labyrinth Starlight Scrap Brain Final Zone B: Marble Labyrinth Scrap Brain C: Scrap Brain (Whoops, right? Nope, there's a C in "Sonic Got A Chaos Emerald" which uses the same font) D: Spring Yard (Same situation as above) E: Appears in every zone name F: Final Zone (This is the only letter that only appears once, so why didn't they change the title? Because you can make an F using the top half of an E and the bottom of a P!) G: Green Hill Spring Yard Starlight H: Green Hill Labyrinth Starlight I: Green Hill Spring Yard Labyrinth Starlight Final Zone J: Never used K: Never used (Was also unique in Clockwork) L: Green Hill Marble Labyrinth Starlight Final Zone M: Marble (also appears in Sonic Got A Chaos Emerald) N: Appears in every zone name O: Appears in every zone name P: Spring Yard Scrap Brain Q: Never used R: Green Hill Marble Spring Yard Labyrinth Starlight Scrap Brain S: Spring Yard Starlight Scrap Brain T: Starlight (Also appears in "Sonic Got Them All") U: Never used V: Never used W: Never used X: Never used Y: Spring Yard Labyrinth Z: Used in every zone name So, the alphabet they made didn't need to include J, K, Q, U, V, W or X By having the title Clockwork Zone, they would need to include a W and a K, as you can't construct those from other letters, and they'd only appear once anyway, so they simply changed the name.
@CutieFakeKirby
@CutieFakeKirby 3 жыл бұрын
These letters are not used, so what's the point of adding them?
@cheddartaco
@cheddartaco 3 жыл бұрын
you could say there is an O, since it uses the same sprite as 0 which definitely can't be cut out of the game
@patrickp.1998
@patrickp.1998 3 жыл бұрын
A is missing too
@icarotagima3099
@icarotagima3099 3 жыл бұрын
In some typewriters there is also optimization: -The lower case L and the 1 were the same button -The ! Was made pressing . And ' - upper case O and 0 were the same button too
@Krawurxus
@Krawurxus 4 жыл бұрын
It's actually super interesting to see the lessons learned from over 30 years of game design and development applied to and developers cleverly play around the limitations of the technology of the NES. The wall jumping and slick controls would've been a major revelation to players back then. This is running on a console where many games just wouldn't allow you to adjust your trajectory mid-jump at all. The closest comparison I can think of is to Kid Icarus. The difference in quality and polish is incredible.
@Lowlightt
@Lowlightt 3 жыл бұрын
Actually there were Nes games with wall jumping too.
@Erlisch1337
@Erlisch1337 3 жыл бұрын
Ninja Gaiden?
@Krawurxus
@Krawurxus 3 жыл бұрын
@@Erlisch1337 Yes but compared to how it's executed here wall jumping and movement in general was much more janky in Ninja Gaiden.
@phoenixdk
@phoenixdk 2 жыл бұрын
Kabuki Quantum Fighter (for example) had even more control, and handles great, including wall jumping of course. But a 4-player platformer would have blown minds in the NES days.
@DoomKid
@DoomKid 2 жыл бұрын
Dude, the NES has Batman. I think everyone is forgetting how good the good games looked and played. It’s like people think the NES was the 2600 or something!
@SpringDavid
@SpringDavid 3 жыл бұрын
"Our game takes only 12 gb." "Our game takes only 1 gb!" "Our game takes about 500 mb!" "Ours takes only 40 kb." "You meant mb?" "No, 40 KB" *_*fear fills the room_**
@renzmarualegre5990
@renzmarualegre5990 3 жыл бұрын
I hear gasps
@patrickp.1998
@patrickp.1998 3 жыл бұрын
"My Kung Fu is better than yours" whooshpow ,slapinyourface 😂
@WhiteMagicRaven
@WhiteMagicRaven 3 жыл бұрын
.kkrieger look a Doom III clone in 64 kb
@dadeusz3083
@dadeusz3083 3 жыл бұрын
i cant hear? 40B?
@markusTegelane
@markusTegelane 3 жыл бұрын
@@WhiteMagicRaven that game is still bigger and takes ages to load
@KanjoosLahookvinhaakvinhookvin
@KanjoosLahookvinhaakvinhookvin 5 жыл бұрын
You HAVE to give them props for making a four player game for a system with two controller ports
@Windo0ows
@Windo0ows 5 жыл бұрын
There is a multi tap
@KanjoosLahookvinhaakvinhookvin
@KanjoosLahookvinhaakvinhookvin 5 жыл бұрын
@@Windo0ows Yeah, I know, but who tf programs for it, especially in TWENNYNINETEEN (Let's be real, this game seems destined to get pirated via emulation or at least ported to Steam. So props for thinking ahead to design *for* the pirates, which is almost all of us.)
@Windo0ows
@Windo0ows 5 жыл бұрын
Kanjoos Lahookvinhaakvinhookvin ikr
@Windo0ows
@Windo0ows 5 жыл бұрын
Kanjoos Lahookvinhaakvinhookvin I don’t even have a nes
@desertcat6719
@desertcat6719 5 жыл бұрын
@@KanjoosLahookvinhaakvinhookvin you know emulation isn't pirating right? they even said that they're going to sell a rom version of the game
@kinsondigital
@kinsondigital 6 жыл бұрын
As a software engineer and game developer, I find this so fascinating. I grew up during the 80's so this speaks to me. So awesome and I love what you did. Great job guys!!
@CyclesMcHurtz
@CyclesMcHurtz 6 жыл бұрын
As a game developer who worked on some of these platforms, it is really neat to see people rediscovering and using them again. 6502 coding is a bit of a lost art!
@ovrsurge4689
@ovrsurge4689 6 жыл бұрын
You should check out gamehut's channel, he has content on lots of games he was involved in the dev process of and presents them in a very similar fashion to this video.
@JoZerpPL
@JoZerpPL 6 жыл бұрын
As gamer those things sound weird to me but i really enjoy what game devs do. But my future job will be a game dev and... that sounds fascinating, hard and scary.
@eddypsnation
@eddypsnation 6 жыл бұрын
Kinson Digital Oh snap could you give me any tips I plan on becoming a game developer or a software engineer.
@kinsondigital
@kinsondigital 6 жыл бұрын
Well the first thing you have to get under your belt is learning a programming language. If you are not dedicated enough to get some coding skills and concepts under your belt first, you could just dive straight into game development using a tool like Unity, Construct 3, GameMaker or Stencyl. Those are great but you do not get the power and understanding of how all these everything works. I recommend not using those tools and using code. It sounds like you want to do more than just make a game, but also learn to code in general. I HIGHLY recommend C#.
@dikinebaks
@dikinebaks 4 жыл бұрын
Rockstar: Red Dead Redemption 2 requires 150 GB of free memory. Morphcat: Hold my cartridge...
@euradelcyan1944
@euradelcyan1944 4 жыл бұрын
It really is incredible what they were able to cram into 40kilobytes and still make a fun and engaging game
@dacypher22
@dacypher22 4 жыл бұрын
The vast majority of these disgusting installation sizes are 4K textures (generally at least 95%). You can compress them a little bit (and they do) but for the most part there isn't a whole lot you can do about it. What they could do is create non-4K versions for players not taking advantage of that resolution. That would shrink games back down to maybe 10 GB, but then 1080p textures are no joke either so you can't go much below that and still have a decent-looking texture-mapped game.
@dacypher22
@dacypher22 4 жыл бұрын
@@miso-ge1gz I'm in the same boat. I can only tell a difference between 4K and 1080p for maybe 2 weeks after I get a new pair of glasses. That is why I think it would be awesome for publishers to offer a second download option to offer 1080p textures since it would cut down the game sizes substantially. If I recall correctly, it could be down to about 10 GB rather than 40 - 60 GB for a typical game.
@KuraIthys
@KuraIthys 4 жыл бұрын
Many games do the opposite. The base download is 'low quality' textures then there's an optional download for higher quality once. This makes more sense than doing it the other way around, though it does mean people that don't pay attention get a lower quality version by default...
@TheThursty100
@TheThursty100 4 жыл бұрын
@@KuraIthys it's really not that hard to download the assets only when the users turns the resolution up high. Like literally, ask the user at the start at what resolution he wants to play, if he goes all out with those 4k graphics, tell them.they need to be downloaded first. If he doesn't pick 4k, don't download them. Shit, just downloaded the 4k assets in the background while the user plays at 1080p if you, as a game company, are so desperate to have the user experience these graphics his graphics card and monitor can't even properly handle. But don't stuff unnecessary large files into a god damn game download, please! And if the user doesn't pay attention to the god damn resolution he picks himself, it's his own damn fault. Besides the fact that he shouldn't be surprised if his game doesn't looks as crisp on his 1 grand 4k Ultra HD curved rgb backlit gaming monitor, when he doesn't even choose the 4k Option.
@b4ttlemast0r
@b4ttlemast0r 4 жыл бұрын
This game was available at the retro section of Gamescom. Me and my friends had a lot of fun playing it!
@Dylan_thebrand_slayer_Mulveiny
@Dylan_thebrand_slayer_Mulveiny 4 жыл бұрын
Liar
@bobyford8051
@bobyford8051 4 жыл бұрын
@@Dylan_thebrand_slayer_Mulveiny ikr. Friends? Lmao
@musichez8358
@musichez8358 3 жыл бұрын
@@bobyford8051 Don't need to be jealous that this guy have friends but you don't.
@mateuszodrzywoek8658
@mateuszodrzywoek8658 3 жыл бұрын
@@musichez8358 he meant that op lied about having friends you bottomless sink
@funkyfresh1013
@funkyfresh1013 3 жыл бұрын
@@mateuszodrzywoek8658 its called a joke u dyslexic donut
@Alien426
@Alien426 5 жыл бұрын
This page on KZbin is 302.097 Byte large. Over 7 times as large as the game. Without images, but also with style (CSS) and script (JS) files it is around 2.530.000 Byte. Over 60 times the size of the game!
@DogeisCut
@DogeisCut 5 жыл бұрын
Wow
@longlostwraith5106
@longlostwraith5106 5 жыл бұрын
My goodness... The internet has become really bloated, hasn't it?...
@Alien426
@Alien426 5 жыл бұрын
Yeah, it's really bad. Kickstarter, Patreon, Facebook and Wix powered websites are even worse.
@bigthot1077
@bigthot1077 5 жыл бұрын
AlienFourTwoSix Its not bad?? Modern computer have faster connection, more storage, faster processing, Better in every way and naturally we can now use more complex web pages which are bigger. And why are you mentioning sizes in bytes rather than KB? And 2000KB (2530000B/2MB/.0002GB) is teeny by todays standard
@Alien426
@Alien426 5 жыл бұрын
> Modern computer have faster connection, more storage, faster processing, Better in every way and naturally we can now use more complex web pages which are bigger. What do we gain from that? For example, there is a list of 104 translation languages (7554 Byte) on every page, regardless of which languages are even supported. By removing empty lines from the HTML code, we can save 1390 Byte. You (and I) are probably on a fast connection with unlimited download, but there are people in the world who don't have that luxury. Wasting computing power and storage space just "because we can" is not a good reason. Watching this video, I thought you'd have an appreciation for keeping things small and efficient. > why are you mentioning sizes in bytes rather than KB? Byte is the base unit. I wanted to keep it simple, since a lot of people nowadays don't know or care about the size of files. And because of "a KB is not 1000 B, but 1024 B". I also wanted to avoid a decimal sign (because I use a comma and think it's sensible, but there are people who use a dot and would be irritated). But you are right; since the video title was in Kilobytes, I should have used that unit.
@Horos_de_Vega
@Horos_de_Vega 5 жыл бұрын
“Art is born of constraint, lives on struggle, dies on freedom.” (André Gide) This game is Art.
@daskampffredchen
@daskampffredchen 5 жыл бұрын
@That guy We call these type of person morons
@47Mortuus
@47Mortuus 4 жыл бұрын
that's one of the most retared quotes I've read in my life. For sure. What an idiot. "dies on freedom". How stupid do you have to be?
@user-og6hl6lv7p
@user-og6hl6lv7p 4 жыл бұрын
^ Best example of irony I've seen yet
@FraserSouris
@FraserSouris 4 жыл бұрын
Eh, it's a fun novelty but as a game, it's tech is way too limited. Shovel Knight shows how to be nostalgic without limiting yourself too much
@sibane288
@sibane288 4 жыл бұрын
@@47Mortuus Nobel Prize in Literature stupid.
@dannywaving
@dannywaving 2 жыл бұрын
This is an optimization MASTERPIECE!
@FourFourSeven
@FourFourSeven 5 жыл бұрын
This is like trying to construct a building with only a palm-sized pile of sand and a toothpick.
@umcaraqualquer3640
@umcaraqualquer3640 5 жыл бұрын
And succeeding.
@Alzter0
@Alzter0 4 жыл бұрын
Meanwhile: Unreal Engine 5's demo shows artists can import models straight from Zbrush with millions of polygons
@poweroffriendship2.0
@poweroffriendship2.0 4 жыл бұрын
That explains about the PS1 graphics. It has a lot of polygons and pixel texture.
@1ups_15
@1ups_15 4 жыл бұрын
lmao yeah those games will require more than 500GB of space
@LuniFoxo
@LuniFoxo 4 жыл бұрын
Oh hello there Alzter.
@notsosunshiny4557
@notsosunshiny4557 4 жыл бұрын
Haha storage space go bye bye
@pottuvoi2
@pottuvoi2 3 жыл бұрын
I really cannot wait to see the source and how they do the assets, should be lovely to be able to do assets for Nanite just in time using fractals..
@SagoFanHD
@SagoFanHD 6 жыл бұрын
Most of the Today's AAA games has more than 40gb and nothing inside. But oh boy, this game has a spirit.
@Walamo
@Walamo 6 жыл бұрын
Actually most games is from 300MB to 10GB, What you might think of is AAA games which are very often over 40GB.
@SagoFanHD
@SagoFanHD 6 жыл бұрын
And I'm talking about those "glorious AAA games" that literally has nothing inside except 4k textures. Almost All Ubisoft games fits to the profile for example :D
@kabochaVA
@kabochaVA 6 жыл бұрын
Not only does it have spirit, but it has a ghost!
@SagoFanHD
@SagoFanHD 6 жыл бұрын
Oh, Right!
@Omega17TheTrue
@Omega17TheTrue 6 жыл бұрын
YUGE random generated open maps with 95% empty space and 999 super boring collecting quests.
@DocBrewskie
@DocBrewskie Жыл бұрын
I just started playing micro mages. My 11 yr old daughter sat down watching me. After 2 levels I hear “I want to try”. Very few “retro” games get her attention. You did very well!
@graaau4582
@graaau4582 Жыл бұрын
That’s because that’s not a retro game It just looks like one
@ethok6408
@ethok6408 10 ай бұрын
@@graaau4582I mean, it fits the definition of "retro". Also, it is an attractive NES game.
@DylanGoubin
@DylanGoubin 6 жыл бұрын
I usually don't comment KZbin videos but when I do it's because I feel the need to state that these guys are geniuses.
@thehammurabichode7994
@thehammurabichode7994 5 жыл бұрын
Your comment history must be like a little snapshot of impressive stuff on this site
@thehammurabichode7994
@thehammurabichode7994 5 жыл бұрын
@@15-Peter-20 Yeah, precisely
@15-Peter-20
@15-Peter-20 5 жыл бұрын
@@thehammurabichode7994 hahahahahahha
@grackleking6413
@grackleking6413 5 жыл бұрын
Good to see you commenting, then! A rare sight indeed! I hope you have a nice day.
@kirishima638
@kirishima638 5 жыл бұрын
So basically being a game designer in the 80s also required a background in cryptology.
@TB-jl9fr
@TB-jl9fr 5 жыл бұрын
No, but it requires some real programming skills where you realy have to know what you are doing. It´s not like the modern "copy and paste and hope that it run however".
@kirishima638
@kirishima638 5 жыл бұрын
@@TB-jl9fr That's pretty much most of the programming industry now.
@anonUK
@anonUK 5 жыл бұрын
Computing started with cryptology nearly 80 years ago.
@supercellonova
@supercellonova 5 жыл бұрын
Development software has evolved a great deal. We now have programs that do it for us.
@ShallRemainUnknown
@ShallRemainUnknown 4 жыл бұрын
@@supercellonova And don't forget, even these guys had the benefit of relying on the NES' specialized gaming hardware, such as hardware sprites, tiles, palettes, tile/sprite flipping hardware scrolling, memory mappers, sound chip, ability to read joy pad inputs, etc. Earlier systems didn't have any of those things built in.
@fqidz
@fqidz 6 жыл бұрын
today: kb is nothing next century: tb is nothing
@mariannmariann2052
@mariannmariann2052 6 жыл бұрын
Next century: Zottabyte is nothing
@yakumo885
@yakumo885 6 жыл бұрын
It depends, there are still applications which works with just a few Kbites
@cappie2000
@cappie2000 6 жыл бұрын
@@mariannmariann2052 Just imagine the wasted space...
@solidsnake7023
@solidsnake7023 6 жыл бұрын
If only it were true with Internet speed :(
@I_am_a_human_not_a_commodity
@I_am_a_human_not_a_commodity 6 жыл бұрын
Tuberculosis is nothing? I'll have you know... *trails off into pointless comment section argument XD
@biancamarsh1044
@biancamarsh1044 4 жыл бұрын
this video pops up in my recommended every ~3 months and i watch it everytime
@TonyStarkCLC
@TonyStarkCLC 5 жыл бұрын
He's basically applying Satoru Iwata's method of compressing and optimizing data, the same he used with Pokemon Gold & Silver versions.
@EnglishLaw
@EnglishLaw 5 жыл бұрын
I bet you are fun at parties lol
@DaJodad
@DaJodad 5 жыл бұрын
@@EnglishLaw This is the worst use of this comment I've ever seen
@Lolerburger
@Lolerburger 5 жыл бұрын
I doubt Satoru was the inventor of this method. It was likely independently developed by multiple studios given the common constraints everyone faced and the fact that building something from reusable parts isn't exactly arcane knowledge.
@mrmcspiff4014
@mrmcspiff4014 5 жыл бұрын
@@EnglishLaw God forbid anyone try to educate and teach others anything. Or try to learn something rather than party all the time.
@bruceU
@bruceU 5 жыл бұрын
@Politically correct speech isn't my thing, fk off except iwata didnt invent any of those methods. seriously, do you think iwata invented... optimization???
@KhazWolf
@KhazWolf 6 жыл бұрын
9:09 I've done some similar work on the SNES, and I just wanna say this step of your process for symettry-offset is ingenious and I would never have thought of it.
@CasualGamers
@CasualGamers 5 жыл бұрын
Truly amazing job at the development, explanation and editing. Ich muss mein alt und kaputt Deutsch benutzen zu sagt: Danke fur das video!! I'm pretty sure that's wrong, but the German I learned is almost as old as the NES itself. LoL
@Fritzafella
@Fritzafella 3 жыл бұрын
9:30 Dude my jaw hit the floor when I saw you start scrolling the lines. Impressive as hell thought!
@augustuswade9781
@augustuswade9781 4 жыл бұрын
This is a call from a earlier era when coders have to optimize their programs to fit into the few kilobytes of memory a computer has. Brings up so many memories.
@napptus
@napptus 4 жыл бұрын
Developers today: Ah, just let these unuseful 2GB in the game, doesn't make a difference
@nuclearsummer7796
@nuclearsummer7796 4 жыл бұрын
@@napptus I mean... its not really their fault, it's all the layers of abstraction that exists... depending on the language
@napptus
@napptus 4 жыл бұрын
@@nuclearsummer7796 Lol you stole my Profilepic.
@thefoolishgmodcube2644
@thefoolishgmodcube2644 3 жыл бұрын
@@nuclearsummer7796 I hate abstraction. I get that it's supposed to keep the code simple to use, but the need to know basis mentality of abstraction can be a slap to the face if you're experienced enough to know how to optimize whatever the abstraction is hiding.
@SerBallister
@SerBallister 3 жыл бұрын
@@napptus Memory is cheap today, unlike developer time. Cartridge ROMs cost a fortune back then.
@grackleking6413
@grackleking6413 5 жыл бұрын
Videos like this really make me appreciate games like Super Mario Bros. Like a bottle with a miniature garden inside, or a really well-made sandwich, it fits so much in so little space. Once you can see the scale in which the game exists, it’s value increases exponentially. I hope I never lose this feeling. And then you see Super Mario Bros. 3! How did they do it? There’s something like 3 times the amount of levels, OVER 3 times the amount of enemies, world maps, AND it scrolls up and down as well as left and right!? So cool! I’m really looking forward to playing these with my sister.
@ArmadilloAl
@ArmadilloAl 5 жыл бұрын
SMB3 had additional chips in the cartridge itself that increased the available memory. That was one of the advantages of cartridge-based systems - as the price of memory dropped over the years (and remember that SMB3 was over three years later), you could add more memory chips to the cartridge for the same price. This, combined with the fact that NES programmers' now had three more years of experience with the NES, meant you had a lot more to work with.
@grackleking6413
@grackleking6413 5 жыл бұрын
ArmadilloAl so cool, man
@ryan-levy
@ryan-levy 5 жыл бұрын
This game looks better than the original Super Mario Bros, I'd say it looks better than New Super Marios Bros on the Wii U.
@keissetje
@keissetje 5 жыл бұрын
9:00 holy crap that was so elegant, it blew my mind! xD These unused bits, man. Treasure troves.
@michaelthem3
@michaelthem3 2 жыл бұрын
I love how you managed to animate the meta-sprites used in the title screen to fit em in one single sprite down in the screen hahahaha it's funnny but amazing at the same time! I love it! Shows that you know what you were doing in a creative way! 🙌🏼
@OliverTwins
@OliverTwins 5 жыл бұрын
Excellent video - we used ALL these techniques for our NES Games - the Dizzy Games, DreamWorld Pogie, Super Robin Hood etc.
@MorphcatGames
@MorphcatGames 5 жыл бұрын
Cheers! You're an inspiration. Long live ASM :-)
@OliverTwins
@OliverTwins 5 жыл бұрын
@@MorphcatGames Well when I said all. I think you Map Optimisations (8.00 mins in) was very bespoke to your game and I'm not so sure that it's as useful as the rest of the principals.
@ziomalisty
@ziomalisty 5 жыл бұрын
Have you guys seen Bandersnatch? If so- what do you think about Stefan's game? :D
@akirabaes4644
@akirabaes4644 5 жыл бұрын
Makes me wonder if you could make a deal to appear on Nintendo Switch's NES repertoire.
@TheThursty100
@TheThursty100 4 жыл бұрын
That would be so incredibly sick!
@androidaleccc
@androidaleccc 6 жыл бұрын
The limitations of early computer hardware really made you have to think about how to manage your resources and optimize. Resource management was the name of the game for a computer engineer.
@greenaum
@greenaum 6 жыл бұрын
Especially Sid Meier.
@SJNaka101
@SJNaka101 5 жыл бұрын
Okay, this is a very well done video. I have a MINIMAL amount of programming knowledge but it was really easy to follow and I could see how gosh dang clever a lot of these solutions were. Man, this makes the story behind pokemon gold and silver even MORE legendary. Thanks!
@Tubes78
@Tubes78 5 жыл бұрын
"Optimisation? What's that? - The modern game developer-
@errorlooo8124
@errorlooo8124 5 жыл бұрын
Well not really, it's more like: "Manually crafting and specifically caring for every single bit? What's that?" We still do optimization like generating textures on the fly loading and unloading shaders to make room for more space in the vram and loading and unloading textures on the fly to make more space for other things etc.. But these days we never really bother with the really specific things.
@AUATUWVSH
@AUATUWVSH 5 жыл бұрын
a lost art is what it is
@christianjamesguevarra6257
@christianjamesguevarra6257 5 жыл бұрын
*modern developers in general esp. web devs with their gazillion hipster.js dependencies
@IDontDoDrumCovers
@IDontDoDrumCovers 5 жыл бұрын
@@errorlooo8124 imagine if modern developers did care for every single bit, like how much are we wasting without even realizing it because we havent even looked?
@SerpongeDash
@SerpongeDash 5 жыл бұрын
@Social Experiment as amazing as caring about every single bit in AAA titles would be, it just doesn't seem viable, a game like breath of the wild would require so much time to finish and way more people than it already had
@creativebeetle
@creativebeetle 6 жыл бұрын
I couldn't help but grinning the whole way through the video, seeing the optimisation and improvement of such limited games with new techniques and clever workarounds was a truly fantastic experience. The things you guys came up with were genius! I really hope you go a long way in the future! I'd watch an hour long documentary like this in a heartbeat! (even if its about the 'boring' parts)
@PuffyRainbowCloud
@PuffyRainbowCloud 6 жыл бұрын
I think you'd like the channel Gamehut. He's one of the people who worked on major games for the Mega Drive and he goes over several interesting techniques in his videos, such as the FMV in Sonic 3D. It's all really interesting.
@IrishBrotato
@IrishBrotato 4 ай бұрын
Found this game in 2021 and been playing it over and over again ever since, amazing game the love and passion that went into it can be felt
@Michirin9801
@Michirin9801 6 жыл бұрын
I love videos like this! Ones which explain how retro games/hardware work in a concise and easy-to-understand manner, while still managing to go relatively in-depth with the info! Reminds me of Retro Game Mechanics Explained...
@vaguesoft8445
@vaguesoft8445 6 жыл бұрын
Hey! I watch your vids. Cool seeing you here!
@DukeDudeston
@DukeDudeston 6 жыл бұрын
I would thumb up this comment but seeing it at 100 pleases my OCD.
@imaginerus
@imaginerus 6 жыл бұрын
Check out the Channel "GameHut", they have a lot of videos explaining retro coding secrets!
@Michirin9801
@Michirin9801 6 жыл бұрын
I already watch it ;3
@hydrochloricacid2146
@hydrochloricacid2146 6 жыл бұрын
Know of other channels like gamehut and RGME ? This is my crack cocaine
@DeepCDiva
@DeepCDiva 6 жыл бұрын
No joke, I would love a series like this going through the motions of old consoles. The game looks amazing BTW, keep up the good work!
@outsidercain3038
@outsidercain3038 6 жыл бұрын
I can only back you up on this. It fascinate me because it's well explained.
@TracksWithDax
@TracksWithDax 6 жыл бұрын
Have you guys seen the channel GameHut? He's a guy from Traveler's Tale games, goes through a LOT of these really cool techniques too.
@theSato
@theSato 6 жыл бұрын
look up the channel "Retro Game Mechanics Explained"
@Marcotonio
@Marcotonio 6 жыл бұрын
I understand how you feel, but in order to progress through generations they'd have to learn a new programming language for every new title they release; by staying on NES they can get better at every iteration.
@metalheadmaniac8686
@metalheadmaniac8686 2 жыл бұрын
yeah they keep making games for newer and newer consoles and eventually they try to fit a 3d open world rpg into a ridiculously small size
@SergioEduP
@SergioEduP 6 жыл бұрын
It is so good to hear someone talk about memory usage and optimization, nowadays game devs create games (pretty much) without a hardware limit in mind, games use huge amounts of disk space and sometimes are horribly optimized for some hardware configurations. I just love to see the kinds of things people like you can do with so many limitations imposed, and I also think that having multiple limitations would help making better games.
@tropicalfruit4571
@tropicalfruit4571 6 жыл бұрын
This stuff grinds my gears honestly. I don't mind some simple games having virtually no optimisation, everyone can still play them, but when I see bigger games that are 50GBs and i7 combined with GTX 970 can't run them really well I question everything. One thing I like about consoles is that the guts of them are a serious limitation(obviously they are years behind PC market for some strange reason) so the devs do a lot of optimizations and having 1 system for every user makes that easy of course. I think PC games devs think that EVERYONE has two GTX 2080 Ti's with an i9, and the best of the best RAM memories out there... Yeah a NASA computer can run everything at countless FPS but people have "just good" or "average" PCs most of the time... I fear for what I will see when I get a GTX 1080... If my FPS is still not satisfactory on highest settings (at least in some games) then I'm going to cry
@q4zr366
@q4zr366 6 жыл бұрын
there is no reason to have limitations. most gaming consoles can handle the "non-optimized" games easily. it will just slow the developers down and it will give the games less content if there were limitations. imagine how much more this dude could do if he had unlimited computer power.
@tropicalfruit4571
@tropicalfruit4571 6 жыл бұрын
@@q4zr366 most(a.k.a all) consoles won't run non-optimized games. All the games are actually fairly well optimised for consoles. And if they run it it's gonna be 20-30fps which even for consoles today is low.
@q4zr366
@q4zr366 6 жыл бұрын
@@tropicalfruit4571 i know. that's why I put it in quotations.
@demoniack81
@demoniack81 6 жыл бұрын
The point is that in the real world you DO NOT HAVE unlimited computing power, nor disk space.It's seriously questionable for a game like Firewatch to take up the same disk space as GTA San Andreas, for example, with a map that is probably 1/50th the size, no interior locations, 1/1000th of the scripted events and audio clips, no kind of vehicle mechanics, etc.
@Adomas_B
@Adomas_B 3 жыл бұрын
Me, who wrote a snake game in 2kB: I, too, am extremely efficient
@DustTheProto
@DustTheProto 3 жыл бұрын
kzbin.info/www/bejne/e6naooGomtSWpsk
@DustTheProto
@DustTheProto 3 жыл бұрын
@@VexYTGX All operating systems are written in bytes, just a lot of them
@steinkoloss7320
@steinkoloss7320 3 жыл бұрын
@@DustTheProto Did he delete his stuff? I wanna know what he said
@DustTheProto
@DustTheProto 3 жыл бұрын
@@steinkoloss7320 he said "me who can write operating systems in bytes"
@tuckertechnolord6126
@tuckertechnolord6126 3 жыл бұрын
If you want to take away this achievement: There is a guy who fit snake into a qr code.
@leosefcik
@leosefcik 4 жыл бұрын
I lost track the moment he started talking about “Meta-Meta Tiles”
@notquitehadouken
@notquitehadouken 4 жыл бұрын
I lost track the moment he started talking
@umadbro4493
@umadbro4493 4 жыл бұрын
@@notquitehadouken xDDD
@LeapyLad
@LeapyLad 4 жыл бұрын
noob, i didn't lose track 'til META META META META META META META META META META META META META META META META META META META META META META META META META META META META tiles
@bartz0rt928
@bartz0rt928 3 жыл бұрын
If I understand correctly, the meta-tiles consist of index references to the tiles, and the meta-meta tiles consist of index references to the meta tiles. So imagine if the tile indices are lower case letters, the M tiles upper case letters, and the MM tiles numbers. You might then build a screen by saying "top left corner is MM tile 1", which is made up of M tiles AB-CC (2 by 2). M tile A (for example) is made up of tiles aa-fc. Since every MM tile is 4 tiles wide and high, you only need 1/16 the amount of index references to fill the screen (actually 1/32 because as they mention they only fill half of every line, then mirror that and slide it over).
@nysariusrexx3798
@nysariusrexx3798 3 жыл бұрын
@@bartz0rt928 thanks for the explanation
@TelespielTobi
@TelespielTobi 6 жыл бұрын
Very well summarized, explained and also visualized - this makes it so much better to understand. Great look behind the curtain, amazing how you worked around the limitations of 40kB, esp. the map optimization with shifted mirroring :D. Would love to see more of these behind the scenes! 3:00 To be precise, it is 4 colors per sprite, just that only three of them are visible to the user, the fourth color indicating the transparent area. I know that you know it, I just wanted to mention it to the viewers who might not be aware ;)
@vinyredx9220
@vinyredx9220 5 жыл бұрын
I fell like I just watched a class of how to program games, and it was awesome!
@pukalo
@pukalo Жыл бұрын
This game with its graphics and extremely efficient coding would've been paradigm-shifting if it was released in the 1980s.
@ZesPak
@ZesPak Жыл бұрын
That's exactly what Super Mario was.
@rtmclean484
@rtmclean484 Жыл бұрын
Look into some of the games on the NES library, Kirby and Battletoads pushed the systems limits and look amazing.
@AzraelNewtype0079
@AzraelNewtype0079 Жыл бұрын
@@rtmclean484 Neither of which were NROM games. They both had expanded capabilities over the original cartridge spec.
@Nicholas_Steel
@Nicholas_Steel 4 ай бұрын
@@rtmclean484 Most games after 1988~ had special hardware included inside the game cartridge that allowed for more than 40KB of program data, and multiple 8KB pages for graphics storage. It could also contain hardware that enhanced other aspects of the system too, like a Clock for precisely timing events/controlling changes to graphics data (made it vastly easier to pull off a variety of complex graphical effects). it's why NES games became radically more complex in their visual presentation and gameplay in a incredibly short amount of time after the NES was globally launched.
@AdrianDX
@AdrianDX 4 жыл бұрын
This video convinced me to buy the physical copy of this game and I played it with my let's play group (Twin-Stick Gamers) [two times actually, because we had some technical recording issues with our first playthrough]. And I have to give you guys mad props because this game instantly secured it's place at the top 5 TOP of my favorite NES games of all time. And that's saying a lot because NES is amongst my favorite consoles and has some of my favorite games of all time. Absolutely amazing work. Playing this 4-players is an absolute THRILL. Extremely good work, Morphcat Games! ^^
@nikitacojam
@nikitacojam 6 жыл бұрын
Wow, man, this game looks almost like a 16-bit one with these great artworks, super great job! Would love to have a physical copy, sadly, I am loose on cash rn. I am working on my GBA homebrew btw, project like yours help me keep getting hyped. Good luck with releasing the physicals!
@thebravegallade731
@thebravegallade731 6 жыл бұрын
I'd say it's on par at least with Metroid or Mario 3
@valentinayalalopez1682
@valentinayalalopez1682 6 жыл бұрын
@op if you finish it let me know!
@astraldrifter
@astraldrifter 6 жыл бұрын
Yea? What are you working? I love the GBA
@nikitacojam
@nikitacojam 6 жыл бұрын
Hopefully it won't be considered as spam, but I just made a playlist, so you can go ahead and check it out.
@jjbpenguin
@jjbpenguin 6 жыл бұрын
it does look really good, but keep in mind that he has not only access to the entire library of NES games where he could analyze and use any tricks that any game designers came up with throughout the entire console's history, but computers today are also far more user friendly for stuff like artwork. a quick google search can provide endless examples of pixel art for things like magic fireballs or explosions or jump animations, and concepts like wall jumps were not even though of back in the NES days but have become common place and seem obvious now.
@pockrocks3524
@pockrocks3524 6 жыл бұрын
Man this video is a godsend! Thank you Morphcat, this is the best breakdown I've seen of NES graphics. Your game looks incredible
@SECONDQUEST
@SECONDQUEST 6 жыл бұрын
You might like RetroGameMechanics Explained. He does very detailed breakdowns of how the SNES works.
@pockrocks3524
@pockrocks3524 6 жыл бұрын
Cool thank you friend
@druidofpies
@druidofpies 3 жыл бұрын
I don't care that I've watched this video at least 10 times, I'll watch it another 100 times again because it's just that good. Satisfying, fascinating, and lovely in every way
@thecarrieshot6411
@thecarrieshot6411 Жыл бұрын
Still watch it a lot too. Just loving to rewatch how they made this
@JackDaloots
@JackDaloots Жыл бұрын
same, this is my 8th watch in 2 years :D
@chrism7067
@chrism7067 6 жыл бұрын
Imagine having this game when the Nintendo was at its prime. That would be awesome. Game looks fantastic!
@PlastiGomi
@PlastiGomi 5 жыл бұрын
I feel like buying a nes just for this game to support your work
@MsJavaWolf
@MsJavaWolf 5 жыл бұрын
You can also buy a ROM version and play it on an emulator. They are selling the ROMs so you still support them,
@Purparmalm
@Purparmalm 5 жыл бұрын
or you just buy it on steam
@itaishemer
@itaishemer 5 жыл бұрын
Same. I know I can just buy the ROM/Steam version, but having a NES purely for the novelty of it sounds much more satisfying since the game was design to be played on that console, not the PC
@asonael3205
@asonael3205 6 жыл бұрын
The techniques utilized in making this game are amazing and shows the ingenuity that current and former game creators had in squeezing every last byte out of the limited space they had. I very much enjoyed this video and would like to see more on what you did with this game.
@Nixitur
@Nixitur Жыл бұрын
That animation at 9:29 is such a good visualization, and a really clever solution!
@suruzuddin
@suruzuddin 4 жыл бұрын
As a former NDS developer, most constraints described here resonate with my experiences.They were used to be challenging once. But in current space time, its fun to play around those pet constraints.
@collinsgichuhi8255
@collinsgichuhi8255 Жыл бұрын
I bought a bundle in itch and this game was included. I have never owned an NES so I decided to copy the ROM on my phone and play it with an emulator. Its really fun
@hollaholla7375
@hollaholla7375 4 жыл бұрын
I know literally nothing about programming but it the way this dude explains it makes it seem so simple, this guy is a genius
@user-ow9uo8mc4f
@user-ow9uo8mc4f 3 жыл бұрын
yeah
@AWSMcube
@AWSMcube 2 жыл бұрын
I always find these videos really cool. There's a theory I read - as computing power and storage increase, there's less of a need for optimization and innovation. Because developers have access to so much power, they often forget and don't come up with optimizations, which limits the amount of content, gameplay, and graphical capabilities in their games. This is why so many people still like older games - _Doom_ (1993) for example, was an ambitious idea limited to weak hardware. Because of this, id Software was required to take advantage of many optimizations to make their game run.
@redalchemy7322
@redalchemy7322 6 жыл бұрын
There is some beautiful irony in that this video has costs more in data than the game it features. Really well done, and exceptionally informative!
@RAFMnBgaming
@RAFMnBgaming 6 жыл бұрын
About a thousand times as much, going by the file size i got downloading the video.
@ElZamo92
@ElZamo92 5 жыл бұрын
I keep finding this in my recommendations, and I watch it every time.
@goldengoat9524
@goldengoat9524 5 жыл бұрын
same here
@ridwankhan4883
@ridwankhan4883 5 жыл бұрын
What I learned from this video is that programing isn't for me. Time to enter business.
@Keys879
@Keys879 5 жыл бұрын
I feel you. But there are others who it is, who are troubled by business.
@techieswew
@techieswew 5 жыл бұрын
asm is very *very* low level it has a near 1 to 1 correlation with binary code realistically, programmers usually program in languages that are higher in level, meaning that they abstract lower level languages in such a way that it becomes easier to understand for humans these guys did amazing work, but i think you have the wrong idea if you believe that programmers usually work with all the nuances that arise when trying to fit a project in under 40 kb and trying to do so in asm
@p1antings33ds8
@p1antings33ds8 5 жыл бұрын
Web Programming is easier than creating games, way easier.
@Blattie
@Blattie 5 жыл бұрын
Programming is way easier than this shows, most of us don't code that way anymore. We do more stuff like this : (with more complicated stuff underneath of course) if player.CanJump() then player.Jump();
@johnblunt6693
@johnblunt6693 5 жыл бұрын
Dude if your willing to struggle a little it's not to hard. If you just want to make a game there are plenty of user friendly game engines you can use
@isofbell
@isofbell 2 жыл бұрын
I’ve watched this so many times… It’s presented in such an amazing way
@rami1207
@rami1207 4 жыл бұрын
I'm now more convinced that hardware limitations is the main factor for gameplay quality and honesty in their creation by developers.
@misterturkturkle
@misterturkturkle 4 жыл бұрын
Then is the reason lots of AAA games suck because the hardware isnt as limited? Like a filter that isnt small enough to catch garbage in the air or water its trying to scrub?
@rami1207
@rami1207 4 жыл бұрын
@@misterturkturkle It all depends on the amount of memory space you have, and its up to you how you handle it. Considering the rise of game production nowadays, there might be flaws on a game memory handling..
@SerBallister
@SerBallister 3 жыл бұрын
I think the technical barrier for entry was much higher back then, the assembly writing programmers back then were really very skilled compared to your average programmer of today.
@CalebWillden
@CalebWillden 6 жыл бұрын
This is incredible! It gives me a much greater appreciation for the NES game developers like Miyamoto, Sakurai, and Iwata
@MegaAlexiel
@MegaAlexiel 6 жыл бұрын
Ok, I was sold on this the moment I saw this, I need this game now
@ralphralpherson9441
@ralphralpherson9441 2 жыл бұрын
Dude, I'm not gonna lie, if that game was out in 1988 I would have totally bought it. I was way into those "raid the dungeon/castle with your magic/knight guy" motifs. Simons Quest, both Zeldas, Battle of Olympus, Final Fantasy, IronSword, Legacy of the Wizard, etc... This reminds me of a hybrid between Zelda and Legacy of the Wizard with a touch of Castlevania: Simons Quest... Very nice. If you ever need a musician who can compose in 8-bit, CALL ME BRO!! I love writing music for video games.
@mikekazz5353
@mikekazz5353 5 жыл бұрын
9:50 Woah woah there, mode 7, I thought this was a NES game.
@MAX-uh6kh
@MAX-uh6kh 4 жыл бұрын
funny did laugh
@um_idkw
@um_idkw Жыл бұрын
AAAAAAAAAAAAAAAAAAAA
@_pku55
@_pku55 5 жыл бұрын
Wouldn't it be cool if you travel in time to show this game to an 80's kid?
@grabisoft
@grabisoft 5 жыл бұрын
probably they wouldnt buy it or think its not interesting enough. you have to take in account not only "graphic optimizations and technical advancements" but fashion and trending. Back in that day, people were not interested on playing multiplayer games rather singleplayer and huge sprites, the bigger the better, thats why multitap for NES was a huge fail and 4 player split screen started to be a thing in mid to late 90's with the N64, psx and dreamcast. this game would have performed simialrly to milons secret castle. i personally experienced that period, and i project myself and friends watching this game if we were still kids, and frankly i dont find this game very interesting. back then it was all about getting themed games after, batman, robocop, TMNT, etc. 80% of games back then were made after some tv show or movie. and the few that werent, were just nintendo/sega trademark creations such as sonic, mario, zelda, etc. in general, 3rd party sagas were mediocre and were not really looked after. specially with these type of games.
@khrissxander
@khrissxander 5 жыл бұрын
Show your dad. lol
@weirdboo
@weirdboo 5 жыл бұрын
Or multitap failed because this game wasn’t out to save it... lmao
@kulitmed
@kulitmed 5 жыл бұрын
Sadly, it wouldn't have sold well because nobody would know the effort put into it because back then there was no KZbin.
@andersonrobotics5608
@andersonrobotics5608 4 жыл бұрын
nah just give him a copy it runs
@flatfingertuning727
@flatfingertuning727 6 жыл бұрын
The approach of aggregating 4-byte groups and identifying them with a single byte can be a useful trick to save space. In my Atari 2600 game Toyshop Trouble, which took about 7K or an 8K cartridge (the cart uses about 1K for an Easter egg) I wanted to squeeze the music into 256 bytes, including code. Once I added in code to adjust the music for the different contexts where it plays, the code+data total went a little over 256 bytes, but given the complexity of the piece the memory budget would seem crazy. As it is, though, the music is divided into eight phrases, each four pairs of 4/4 measures long. The first measure-pair of each phrase always used the same four melody notes (c' g e' d') and two bass notes (C and c), likewise for the second pair (d' a f' e'; F and f), third pair (d' b e' f'; G and g), and fourth pair (c' g a b; C and c). Thus, storing the actual notes only took 16 bytes for the melody and four bytes for the bass parts. To keep things interesting despite every phrase using the same 16 notes, used more sophisticated rhythms than most music game music. Each measure pair had a total of 32 rhytmic subdivisions (a mixture of triplet eighths and triplet sixteenths, in a long-short-short-long pattern), each of which controlled five functions: whether or not to play the melody note, whether to advance the melody note (with or without playing it), whether play a bass note, which bass note to use (upper or lower), and whether to play the drum. The patterns were selected out of a master table of 32-bit patterns, using 8-bit indices. Each of these attributes was controlled using four bytes, read out of a table of four-byte patterns indexed using a single byte for each measure pair. Just as your levels had to be designed around the quad-cell clusters, so too my tune had to be composed around the hard-coded musical structure. On the other hand, I think the tune ended up pretty good despite the rigid constraints, save only for the horribly out of tune G's in the bass (one of the perils of trying to play music on the Atari 2600 without using 46 cycles per scan line on wave table synthesis).
@purpleice2343
@purpleice2343 6 жыл бұрын
What do you mean "aggregating 4 byte groups and identifying them with 8 byte to save space"? I don't really see how you can save space unless there's only 256 combinations of 4 bytes being joined together, in which case, the entire thing is very compact on it's own
@flatfingertuning727
@flatfingertuning727 6 жыл бұрын
Each 8-bit index is a single byte. The entire piece was 32 pairs of measures, which meant 160 four-byte chunks in total, but storing the 160 32-bit chunks would take 640 bytes--2.5 times my memory budget. In many cases, the first three pairs in each phrase were identical, and measures in some phrases were identical to those in others. I think the overall pattern for the melody part was AAAB/CCCD/EEEF/EEED/FFFD/GGGH/AAAB/CCCH [remember that e.g. the second "A" was using a different group of four notes from the first, so this isn't as repetitious as it looks], so instead of spending 2x32x4 (i.e. 256) bytes for 32 measures, I spent 2x8x4+32, or 96. I could perhaps have shrunk the 32-byte index table to 8 at the expense of adding code, but I used the same code to handle the bass and drum parts, and those don't always follow the 3+1 pattern. In any case, 112 bytes of table data to handle a melody with hundreds of notes is doing pretty well.
@purpleice2343
@purpleice2343 6 жыл бұрын
I think actual thing could explain it better because I don't really see your idea behind it, something like my take below would be appreciated: "AAAB/CCCD/EEEF/EEED/FFFD/GGGH/AAAB/CCCH" A, B, C, D, E, F, G, H - 8 letters in this "alphabet" A - 000 B - 001 C - 010 D - 011 E - 100 F - 101 G - 110 H - 111 Code used to test it: hastebin.com/hihaxonore.py Results: 37.5% of original size if you know how to take out 3 bits from a byte, would probably result in worse case since this might need additional code. Yours is >>> str(112 / 640 * 100) + "%" '17.5%' So a lot better.
@flatfingertuning727
@flatfingertuning727 6 жыл бұрын
Each of the letters represents a 32-bit pattern (four bytes), so every "A" is one 32-bit pattern, every "B" is a second 32-bit pattern, etc. Packing things with values straddling bytes, as would be necessary when packing three bits per value, is icky on the 6502. Stuffing two four-bit nybbles per byte is much easier. I don't think I packed my pattern list that way, but if I'd been desperate for space it probably would have been low-hanging fruit.
@perezaraujo2890
@perezaraujo2890 3 жыл бұрын
I am absolutely stunned. I only studied programming for 2 years but that's enough to really appreciate the labor gone behind all of this. Great job with both the video game and this rundown. It is much appreciated.
@beefaroni4733
@beefaroni4733 6 жыл бұрын
oh you absolutely should've went into how you saved space using the meta tiles god. i have an intense desire to know more.
@ChalkTeacher
@ChalkTeacher 6 жыл бұрын
I REALLY LOVE this kind of stuff. It's always fascinating to see how much developers can do with restricted hardware, since it makes them think harder and optimize everything. Quite a harsh contrast to modern gaming where people just don't care much about it since we have hundreds of GBs to spend and GRAM/RAM easily reaching 4 GB and higher.
@scottwilliams895
@scottwilliams895 3 жыл бұрын
I've watched this video over and over, and am still fascinated!!
@scottwilliams895
@scottwilliams895 Жыл бұрын
Here I am for another watch, and still really enjoying!
@187onaPigeon
@187onaPigeon 6 жыл бұрын
This looks amazing. Thanks for this. What about doing a tutorial series on NES game programming or something else? I'd gladly pay for that also.
@nobel11
@nobel11 6 жыл бұрын
Have you checked out NesMaker?
@saradicaprio8240
@saradicaprio8240 5 жыл бұрын
Me: Makes a 6,000KB Word file with like almost nothing on it while wonders how this video subject works.
@MAX-uh6kh
@MAX-uh6kh 4 жыл бұрын
6MB.
@TheOGDominic
@TheOGDominic 5 жыл бұрын
"Oh, a 40kb game? Maybe I'll check it out on Steam..." system requirements: *Minimum: 24 MB available space*
@MorphcatGames
@MorphcatGames 5 жыл бұрын
Yes, the NES ROM does not run natively on PCs, so we had to include emulator code (+graphics/sound libraries), which adds up to that size. The actual 40KB ROM file is inside the steam version's installation folder, though, if you'd like to run it on your own NES emulator or on a real NES.
@mateuszw.7905
@mateuszw.7905 4 жыл бұрын
@@MorphcatGames Respect ;)
@subpoena.
@subpoena. 4 жыл бұрын
@@MorphcatGames damn emulator included how nice
@PaulRudd1941
@PaulRudd1941 4 жыл бұрын
@@MorphcatGames dude this is amazing. I've had hours of fun with this game! Respect.
@Godzfirez
@Godzfirez 4 жыл бұрын
I just bought the game on steam. Keep up the awesome content.
@TheWeeklySlopYT
@TheWeeklySlopYT Жыл бұрын
The problem with creating multiplayer games for consoles like the famicon and super famicon was that it required almost 2x the space. This was a big issue when trying to create a new F-zero game that was multiplayer using the same long fast maps that had 200+ screens worth of track. Hence why mariokart was such a small map design for every track. It went from 200+ screens to 16 screens so that multiplayer would fit on the super famicon
@XeLeTaToR
@XeLeTaToR 6 жыл бұрын
wow i am so impressed. for me micro mages already is goty 2019. i am a backer and i can't wait to get my hands on the game. thank you so much
@creepyslime28
@creepyslime28 4 жыл бұрын
KZbin has JUST decided to recommend me this. epic
@NinjarioPicmin
@NinjarioPicmin 4 жыл бұрын
me just now epic
@vystaz
@vystaz 5 жыл бұрын
i've watched this 3 times, sequel please
@VeryRGOTI
@VeryRGOTI Жыл бұрын
Reminds me of an indie arcade game called PewPew Live, its not an NES game by any means and its in the megabytes, but it made use of wireframe graphics instead of conventional ones which made the game fairly small in filesize (about 9MB) for PC, Android, and also as a webgame. PewPew Live also has user generated content, and co-op for LAN or online.
@FelipeWalker2
@FelipeWalker2 6 жыл бұрын
One of the best videos about game development that I've seen on youtube HANDS DOWN. This was fucking PHENOMENAL, congrats!
@ThomasBaumbach
@ThomasBaumbach 4 жыл бұрын
I watched that explanation of how they condensed map size and lost my shit. I literally shouted "F*ck yes!" at the screen. That was awesome.
@goldndrago3491
@goldndrago3491 5 жыл бұрын
What about Micro Mages 2 for the SNES?
@thej-man.6881
@thej-man.6881 5 жыл бұрын
Or Micro Mages 64...?
@groszak1
@groszak1 5 жыл бұрын
Micro Mages Advance?
@sodiboo
@sodiboo 5 жыл бұрын
2 - Dude for that this one’d need to be called micro mages bros
@goldndrago3491
@goldndrago3491 5 жыл бұрын
@@sodiboo noooooo
@tibethatguy
@tibethatguy 5 жыл бұрын
@@sodiboo Basically all N64 sequels of games originally on NES or SNES are just '[franchise/(S)NES game name] 64'.
@joscharadaj6735
@joscharadaj6735 8 күн бұрын
This is one of my favorite Videos on KZbin. I come back here every year. Watching someone do something creative in a very limited frame is so satisfying .
I Made a NES Game Play NES Games
13:16
James Channel
Рет қаралды 696 М.
Programming My Own 40KB NES Game
14:33
Inkbox
Рет қаралды 139 М.
Do you choose Inside Out 2 or The Amazing World of Gumball? 🤔
00:19
The joker favorite#joker  #shorts
00:15
Untitled Joker
Рет қаралды 30 МЛН
小丑妹妹插队被妈妈教训!#小丑#路飞#家庭#搞笑
00:12
家庭搞笑日记
Рет қаралды 37 МЛН
Brawl Stars Edit😈📕
00:15
Kan Andrey
Рет қаралды 53 МЛН
The Code That Makes Mario Move
9:53
NesHacker
Рет қаралды 536 М.
Is 8-Bit Minecraft Possible?
12:58
Inkbox
Рет қаралды 1,2 МЛН
kkrieger: Making an Impossible FPS | Nostalgia Nerd
28:49
Nostalgia Nerd
Рет қаралды 1,1 МЛН
Why Old Games Still Look Great!
8:55
Video Game Animation Study
Рет қаралды 683 М.
Reverse Engineering Game Code from the Neutral Zone
40:59
Retro Game Mechanics Explained
Рет қаралды 622 М.
Creating an Operating System for the NES
11:11
Inkbox
Рет қаралды 784 М.
How Graphics worked on the Super NES | MVG
12:19
Modern Vintage Gamer
Рет қаралды 506 М.
Nintendo is erasing its history - The war against ROMS
14:21
Modern Vintage Gamer
Рет қаралды 909 М.
How do non-euclidean games work? | Bitwise
14:19
DigiDigger
Рет қаралды 2,4 МЛН
Do you choose Inside Out 2 or The Amazing World of Gumball? 🤔
00:19