Low Poly is OVERRATED

แชร์
ฝัง
  • เผยแพร่เมื่อ 20 ต.ค. 2023
  • Patreon: / kazestuff
    Discord: / discord
    Streams: / @kazeclips
    🐦 / kazeemanuar
    MERCH: kazemerch.myspreadshop.com/all
    Ambient Occlusion video: • Ambient Occlusion Demo...
  • เกม

ความคิดเห็น • 1.3K

  • @KazeN64
    @KazeN64  6 หลายเดือนก่อน +755

    One correction Sauraen brought up after watching this video:
    "You said 320x240x4x10 = about 3 MB with 4 bytes per pixel (2 for color and 2 for Z). But that's not true, it has to both read and write the Z buffer (so the real value is 320x240x6x10 = about 4.5 MB""

    • @quintonconoly
      @quintonconoly 6 หลายเดือนก่อน +15

      Ok

    • @IFY_64
      @IFY_64 6 หลายเดือนก่อน +10

      What you said

    • @pip3169
      @pip3169 6 หลายเดือนก่อน +22

      I was about to call you a nerd, and then I read your username and remembered you basically do this stuff for a living

    • @craftymulligar
      @craftymulligar 6 หลายเดือนก่อน

      We need an 64 2 console with better spec. Most won't bother. Just use a tablet or pc or laptop. Save on lots of work.

    • @DualPerformance
      @DualPerformance 6 หลายเดือนก่อน +2

      hey, what about the PS One?, because the first Playstation can render a lot more polygons than the N64

  • @ddnava96
    @ddnava96 6 หลายเดือนก่อน +2050

    Proof of the N64 being able to handle a shitton of polygons is Mario Kart 64. Every single course has very smooth curves that need a lot of polygons

    • @rudoprocopio186
      @rudoprocopio186 6 หลายเดือนก่อน +365

      Even more impressive is the credits sequence, where the entire levels are rendered all at once without culling. And MK64 is an early N64 game that's only somewhat more optimized than SM64.

    • @seronymus
      @seronymus 6 หลายเดือนก่อน +51

      I thought the whole downside with the n64 was it sucked at rendering 2d?

    • @MNGoldenEagle
      @MNGoldenEagle 6 หลายเดือนก่อน +156

      @@seronymusThe N64 had a separate microcode dedicated to 2D, but the limited texture cache meant that you're hitting memory more and using more polygons to render more detailed textures. It was doable, but was a delicate balancing act.

    • @ABaumstumpf
      @ABaumstumpf 6 หลายเดือนก่อน +83

      They require really really few polygons actually. Mario kart for the N64 was mostly sub 1000 polys loaded at any point in time.
      It has a lot less geometry than normal SuperMario64.

    • @gurito4374
      @gurito4374 6 หลายเดือนก่อน +6

      I wonder if mario kart ds, or even wii could be feasible some day

  • @wizawhat
    @wizawhat 6 หลายเดือนก่อน +634

    It's funny how one of the keys to better performance is not having large objects in the center of your level when so many of SM64s levels are exactly that. It's usually all centered around some sort of mountain or large object.

    • @goeland4585
      @goeland4585 6 หลายเดือนก่อน +135

      Not large objects, large stacked textures. So not really comparable, those mountains are made of lots of smaller textures and what's behind _should_ be culled(don't quote me on that)

    • @fatyoshi1456
      @fatyoshi1456 6 หลายเดือนก่อน +20

      Pretty much every sm64 level is like that to some degree except hazy maze

    • @ckorp666
      @ckorp666 6 หลายเดือนก่อน +59

      actually quite the opposite, building a level around a big centerpiece makes optimization easier, assuming you have access to good optimization tools (unlike the guys making an n64 launch title)

    • @overwatch761
      @overwatch761 6 หลายเดือนก่อน +45

      Kinda misunderstood the point - the key is to draw that large object first because if you don't, then you'll have performance issues.

    • @michaelluck5577
      @michaelluck5577 2 หลายเดือนก่อน +2

      toooo be fair, that feels natural. theres a centerpiece to most kids playgrounds too

  • @Crystalis178
    @Crystalis178 6 หลายเดือนก่อน +1439

    I'm glad nothing has stopped you from persuing your passion like this. I've been watching your content for years, and it's always a treat to see what you've been cooking up.

    • @DT-tq8ku
      @DT-tq8ku 6 หลายเดือนก่อน +9

      Yeah, it’s really incredible.

    • @JerryDX
      @JerryDX 6 หลายเดือนก่อน +23

      Things have stopped him, mainly Nintendo taking down some of his videos.

    • @mariomadproductions
      @mariomadproductions 6 หลายเดือนก่อน +14

      @@JerryDX Weird definition of "stopped" lol

    • @becausemexico149
      @becausemexico149 6 หลายเดือนก่อน +1

      what he said.

    • @clouds-rb9xt
      @clouds-rb9xt 6 หลายเดือนก่อน +2

      @@JerryDXYou can still find all of his projects tho

  • @sacriptex5870
    @sacriptex5870 6 หลายเดือนก่อน +911

    if you take mario 64 as a early game and conker´s bad fur day as a late game, the optimization is impressive as well

    • @keiyakins
      @keiyakins 6 หลายเดือนก่อน +222

      Oh yeah, much of this was discovered over the course of the N64's life. Mario 64 has a ton of places where they did something exactly wrong for the N64 because that would be the right way to do it on the NES and SNES.

    • @benamisai-kham5892
      @benamisai-kham5892 6 หลายเดือนก่อน +118

      Honestly conkers bad furday is one of the most impressive games on the system. I think too many games really got screwed by the DD failure.

    • @lpfan4491
      @lpfan4491 6 หลายเดือนก่อน +82

      @@benamisai-kham5892 They certainly were. Quite a few games were developed with the DD in mind and then turned into a somewhat janky mess when they had to be downported to base-hardware.

    • @risa1467
      @risa1467 6 หลายเดือนก่อน +54

      "It's true what they say. The grass is always greener. You don't really know what it is you have, until it's gone. Gone. Gone..." - Conker

    • @SmurffNationn
      @SmurffNationn 6 หลายเดือนก่อน +2

      @@keiyakinsinteresting, can you give some examples?

  • @johnrickard8512
    @johnrickard8512 6 หลายเดือนก่อน +208

    So long story short, the N64 doesn't like shuffling around memory that much, but is more than happy to bang out uber complicated formulas. It is really showing off its SGI heritage with that one!

    • @huaweiphone4357
      @huaweiphone4357 6 หลายเดือนก่อน +19

      Well, if I remember correctly, it was nintento's decision to cheap out on RAM (both size and speed).
      Sad, with the cartridge read speed, if the RAM bus could go more vroom vroom, you would have a really good console for it's time.
      Imagine streaming big texture directly from the cartridge...

    • @johnrickard8512
      @johnrickard8512 6 หลายเดือนก่อน +11

      @@huaweiphone4357 there is at least one developer that did exactly this, and the results are as stunning as you'd expect. As for cheaping out, it's not like the Nintendo 64 was built to be a cheap kid's toy or anything...😜

    • @huaweiphone4357
      @huaweiphone4357 6 หลายเดือนก่อน +14

      @@johnrickard8512 the high res texture tech demo? Nope, he didn't.
      He use clever mip mapping, and (a lot) of texture swaps.
      He loaded small chunks of textures as fast as possible to simulate big textures.
      The working memory is extremely limited for the gpu, and accessing it is time consuming.
      As far as I know, you can't ask the gpu to go fetch a texture (big or small) directly from the cartridge, you need the cpu to fetch it, copy to ram, and then ask the gpu to use it.
      And you are limited by the (byte) size of the texture (so lower color depth mathematically gives you bigger textures).
      I can be wrong, but I don't think so.

    • @gamephreak5
      @gamephreak5 4 หลายเดือนก่อน +2

      @@johnrickard8512 Hey, guess what? The Saturn and Playstation were also both cheap kids toys.
      It's not just Nintendo that makes kids toys you know.

    • @johnrickard8512
      @johnrickard8512 4 หลายเดือนก่อน +6

      @@gamephreak5 yes, and the PlayStation also had super slow memory and an even slower CPU, and the Sega Saturn....well if you weren't someone like Traveler's Tales you would find it to be impossible to use to its fullest.

  • @Sauraen
    @Sauraen 6 หลายเดือนก่อน +205

    Thanks for the shoutout Kaze! F3DEX3 is actively in development and I hope to show more of its features soon!

    • @butterflyfilms939
      @butterflyfilms939 6 หลายเดือนก่อน +15

      Just when I thought we've almost reached the limit enter people like you who simply rewrite the code of the N64 itself. Love your dedication to pushing the boundaries, keep on keeping on!

    • @stanb1455
      @stanb1455 6 หลายเดือนก่อน

      sauraen is going beyond the code and is optimizing the console itself with the F3DEX3 microcode@@butterflyfilms939

  • @4per8
    @4per8 6 หลายเดือนก่อน +675

    when time travel gets invented you know im mailing a usb stick with all of kaze's videos to the nintendo headquarters while sm64 is in development

    • @hawshimagical
      @hawshimagical 6 หลายเดือนก่อน +161

      get sent to jail speedrun

    • @fridaykitty
      @fridaykitty 6 หลายเดือนก่อน +206

      usb was so new at the time i doubt they would even have usb ports ;o;

    • @BGP00
      @BGP00 6 หลายเดือนก่อน

      punched cards then@@fridaykitty

    • @CandidaRosa889
      @CandidaRosa889 6 หลายเดือนก่อน +67

      Should be a cd

    • @OatmealTheCrazy
      @OatmealTheCrazy 6 หลายเดือนก่อน +145

      ​@@fridaykitty3.5" floppy and and a translator...both since it's Japan

  • @justinsemple7454
    @justinsemple7454 6 หลายเดือนก่อน +700

    These are the insane benefits you get when one person has an indepth understanding of both game design and code. Modern video games have become so unoptimized because of how complex both aspects have become. I don't think any individual developer holistically understands a modern game such as Baldur's Gate 3 or Spiderman in the same way you understand SM64. I wonder if that's even possible.

    • @SaHaRaSquad
      @SaHaRaSquad 6 หลายเดือนก่อน +135

      From what I've read large game studios don't make effective use of generalists due to the management style. There are probably quite a few people who know a bit about the entire stack but if a game has 300 people working on it most of them will work on one narrow part of the project. On top of that companies like Bethesda outsource parts of the work (like with Starfield), which makes the communication problem even worse.
      People like that probably shine more in indie projects. For example there was a PS4 exclusive indie game which used real-time cone tracing (faster version of ray tracing) for the graphics, built from scratch and years before hardware was designed to accelerate it.

    • @FlamespeedyAMV
      @FlamespeedyAMV 6 หลายเดือนก่อน +10

      The Devs they hire are just terrible mostly

    • @Morrigan101
      @Morrigan101 6 หลายเดือนก่อน +117

      ​​@@FlamespeedyAMVthat's not it the devs they hire are usually overworked and put to work only in specific areas of the game while not knowing everything else about it and it's not their fault as it's mandated by their manager

    • @riblix4744
      @riblix4744 6 หลายเดือนก่อน +12

      @@Morrigan101 The quality of programmer is also to blame. You can't blame everything on overwork. You think overworking didn't exist before?

    • @benamisai-kham5892
      @benamisai-kham5892 6 หลายเดือนก่อน +46

      ​​@@SaHaRaSquadyup, this. A lot of studios separate their workers with lacks of communication between teams. If the teams could all communicate freely and work creatively together we'd probably have so many better end products...
      Or they'll split teams to work on different projects at random.

  • @hawshimagical
    @hawshimagical 6 หลายเดือนก่อน +311

    this thing probably explains why the dire dire docks level was split into two 3d models that dynamically switch

    • @keiyakins
      @keiyakins 6 หลายเดือนก่อน +133

      Yep. The fastest way to render something is to skip it, no matter whether it's triangles or memory that's killing performance!
      Then they went and flagged the sub as dynamic. Oops.

    • @KazeN64
      @KazeN64  6 หลายเดือนก่อน +149

      just calling something is almost always preferable over powering through it

    • @danolantern6030
      @danolantern6030 6 หลายเดือนก่อน +6

      THEY WHAT

    • @narnianninja4964
      @narnianninja4964 6 หลายเดือนก่อน

      ​@@danolantern6030Yep! Use the camera lock feature and swim through the connecting tunnel and you'll see the first area unload and the second area load in

    • @hawshimagical
      @hawshimagical 6 หลายเดือนก่อน +11

      @@danolantern6030 yeah, honestly my smooth brain thought, "if a polygon is covered up by other polygons, it doesnt affect performance" lol but no they have to unload the polygons

  • @shadou1234567
    @shadou1234567 6 หลายเดือนก่อน +235

    Imagine exporting a triforce to your game and the 3 triangles lag your game 30 fps

  • @WannabeMarysue
    @WannabeMarysue 6 หลายเดือนก่อน +201

    10k is about the polycount of an environment on the Gamecube, for reference. Main characters in that gaming gen would usually be a couple of thousand.
    Nowadays, for games with the Triple A Aesthetic TM, a single important character would easily be over 10k.
    10k would still be considered lowpoly by modern rendering standards in film and animation. But film and animation have always been able to utilise higher polycounts than gaming, as their 3D doesn't have to render in real time.

    • @Ninja1Zombie1Master
      @Ninja1Zombie1Master 6 หลายเดือนก่อน +28

      10k? Try over hundreds of thousands. Kratos had 80k in GoW PS4, 5 years ago. Grand Turismo cars have half a million each.

    • @ruijipikunitsuku
      @ruijipikunitsuku 6 หลายเดือนก่อน +15

      On a game where you can create your own content like VRChat, 60-70k polys is generally the standard, though often custom content goes way above and beyond that.

    • @seronymus
      @seronymus 6 หลายเดือนก่อน +5

      ​@@Ninja1Zombie1Masterand all that design and resources spent for a forgettable racing game. Wasteful

    • @hawshimagical
      @hawshimagical 6 หลายเดือนก่อน +15

      @@seronymus b r u h

    • @johnrickard8512
      @johnrickard8512 6 หลายเดือนก่อน +5

      No wonder this looks like a GameCube game

  • @gaming_bigfoot
    @gaming_bigfoot 6 หลายเดือนก่อน +791

    If only modern games made processing efficiency more of a priority
    Imagine the leaps in capabilities new hardware could have when optimized to the level you're getting the N64 to... absolute legend
    Edit: "Try a bit more" doesn't mean "it must be the only thing devs do before anything else happens with a project" but I really shouldn't be surprised that people are trying to twist my words for the sake of forcing discussion

    • @zaptheporcupine1578
      @zaptheporcupine1578 6 หลายเดือนก่อน +332

      My university prof always tells us "Don't worry about efficient coding too much, computers are fast enough these days"
      For me this hurts to hear, while it's true for many applications it leads to lazy programming... using inefficient algorithms and data structures because they are easier to implement... And then you have shitty software as a result :(

    • @RADkate
      @RADkate 6 หลายเดือนก่อน

      look up the ghost of Tsushima gdc talks if you want to see some optimised stuff, half the game runs on the ps4s gpu

    • @fders938
      @fders938 6 หลายเดือนก่อน +104

      ​@@zaptheporcupine1578I like to take that excuse and turn it into "modern computers are fast...so let's use them!"

    • @danksmemington362
      @danksmemington362 6 หลายเดือนก่อน +39

      The lazy boys are already typing their excuses on this comment right now

    • @randomcatdude
      @randomcatdude 6 หลายเดือนก่อน +84

      id software's idtech 6 and 7 engines are a good modern example of making the most of modern computers
      doom eternal's vulkan renderer is pure art with how hyperoptimised and efficient it is while pushing beautiful visuals

  • @wileecoyotegenius5955
    @wileecoyotegenius5955 6 หลายเดือนก่อน +23

    The part about not having a big thing in the center of the level to improve performance is so interesting because that's how most levels in early 3D platformers like Super Mario 64 and Banjo-Kazooie were designed, having a big thing in the center gets the player's attention and gives them a sense of direction which helps since you can't just go to the right like in 2D.

  • @avasam06
    @avasam06 6 หลายเดือนก่อน +13

    1:16 "It runs at a pretty stable *encoding glitch*" nice timing XD

  • @wargex
    @wargex 6 หลายเดือนก่อน +98

    You are single handedly moving Super Mario 64 and it's modding forward. Without you who knows when a person would even think to take up this work. Literally making history. I don't care how long I have to wait for all of your work and documentation to be done. All of your optimizations are well worth all the wait. An actual revolution of content will be made from your efforts. Nintendo should literally be paying you at this point. Thanks for your work Kaze, I hope you're as proud as we all are.

    • @lpfan4491
      @lpfan4491 6 หลายเดือนก่อน +4

      It most likely is moving N64 retrogaming forward as a whole because some of these optimization-approaches should be universal in at least a broad sense.

    • @mirabilis
      @mirabilis 6 หลายเดือนก่อน

      Meh.

    • @clouds-rb9xt
      @clouds-rb9xt 6 หลายเดือนก่อน +3

      @@mirabilisWhy?

    • @mirabilis
      @mirabilis 6 หลายเดือนก่อน +2

      @clouds-rb9xt Because there are other people too. Like... aren't you forgetting about the whole SM64 decomp team?

    • @wargex
      @wargex 6 หลายเดือนก่อน +4

      @@mirabilis decomp; decompilation. They are reverse engineering code. This is a code rewrite to give it a better more efficient engine. There are plenty of modders who've done great work, and more great work will be done, especially when this is finished. I don't see why you feel it's necessary to deminish Kazes work. Even in this video he talked about getting more outside work. But Kaze is the forefront for this project. That doesn't mean that others don't deserve recognition, but the "meh" is blatantly trying to deminish the work he's done for no reason, as if Kaze doesn't deserve recognition. If you want to do that, maybe don't play any of the mods that will be built off the back of this project. I understand there are others doing great work. I just want to show my appreciation for Kaze. Maybe you think "single handedly" is too strong of a statement, and that's fine, fair even, but I don't think I need to remind you of the potential this project will bring to other modders. If you feel I was trying to deminish others works, I apologize, I wasn't.

  • @ekubo954
    @ekubo954 6 หลายเดือนก่อน +51

    N64's potential getting unlocked countless times I'll never get tired of it lol
    Also quick question. For Mario's model to switch different hand forms or without his hat and what not, is that simple model swapping or a use of shape keying?

    • @KazeN64
      @KazeN64  6 หลายเดือนก่อน +34

      they simply swap out the model

  • @mr80s81
    @mr80s81 6 หลายเดือนก่อน +5

    Dude this is amazing, I just absolutely love this kind of stuff, your mods are amazing and it's so cool to see such advancements made on this console even after so long, makes me proud of the video game community to see there is still so much you can do with old tech.

  • @ZachariahCavazos
    @ZachariahCavazos 6 หลายเดือนก่อน +2

    What I learn in your videos @kaze, I really try to find ways I can plug this type of looking at problems in my day to day engineering tasks. Thank you for a fresh look from a completely different segment of software engineering and application design.

  • @salmence100
    @salmence100 6 หลายเดือนก่อน

    I always learn something new when I watch you, it's easy to tell that you really love discussing all of this!

  • @erijoelcrucel5009
    @erijoelcrucel5009 6 หลายเดือนก่อน +9

    I would love to see optimizations like this done to Castlevania 64. Amazing work as always!

  • @jeffreymitchell4904
    @jeffreymitchell4904 6 หลายเดือนก่อน +62

    Goated creator

    • @actionattack
      @actionattack 6 หลายเดือนก่อน +1

      Real

    • @nickolasevanovich
      @nickolasevanovich 6 หลายเดือนก่อน +2

      Hardly, he’s too egotistical

    • @Eye_Of_Odin978
      @Eye_Of_Odin978 6 หลายเดือนก่อน +1

      Nah, Simpleflips could easily fold him. Mr Flips himself comfirmed it during Desert Bus 64

    • @clouds-rb9xt
      @clouds-rb9xt 6 หลายเดือนก่อน

      @@nickolasevanovichElaborate

    • @-pressxtostart-
      @-pressxtostart- 6 หลายเดือนก่อน +2

      Says everyone, everyday on almost every channel.

  • @ryanshea5221
    @ryanshea5221 6 หลายเดือนก่อน +9

    It's funny how once again games are bottlenecked by memory bandwidth/latency yet all people ever talk about is being cpu or gpu limited.
    It's been memory access all along.
    On modern CPUs fetching a value from main RAM takes 100x as many cycles as from L1 cache! Most of the time the CPU is just waiting for data.

    • @tinoesroho
      @tinoesroho 6 หลายเดือนก่อน +2

      AMD's approach with the X3D line has shown that even with unoptimized processors, larger caches kick asses!

    • @ArneChristianRosenfeldt
      @ArneChristianRosenfeldt 6 หลายเดือนก่อน +2

      @@tinoesrohoElectrically, RAM gets slower when it gets larger. This is due to the fan out and parasitic capacity of the bit and word lines. Also the address generator gets power hungry.

  • @ViralKiller
    @ViralKiller 6 หลายเดือนก่อน

    I was wondering if you could port Killer Instinct Arcade to the PSP? PSP should be able to handle it as it can play Tekken 3, MK2 arcade etc

  • @stevennguyen6529
    @stevennguyen6529 6 หลายเดือนก่อน +41

    At this point we might as well have a whole-ass GameCube game on the N64.

    • @snesmocha
      @snesmocha 6 หลายเดือนก่อน +11

      someones already done a tech demo with it. the portal 64 guy

    • @jeremycole9809
      @jeremycole9809 6 หลายเดือนก่อน +13

      If this can be accomplished on an N64, imagine what could be done on a Gamecube? I know we sort f saw with the Wii, but I'd want to see what it could do with it's original limitations.

    • @poweroffriendship2.0
      @poweroffriendship2.0 6 หลายเดือนก่อน +9

      Then, there would be a sequel called Super Mario 128.

    • @Turbulation1
      @Turbulation1 6 หลายเดือนก่อน

      Star Fox Adventures is a very good technical showpiece of the Gamecube hardware where it looks much more like an early 7th gen title than a Gamecube title.@@jeremycole9809
      There was a lot of unique tricks to get the fur simulation to look that good and for other things like grass. And also, how the game data is streamed to eliminate loadtimes.

    • @samuraivader3814
      @samuraivader3814 6 หลายเดือนก่อน +5

      Super Mario Sunshine Code rewrite, when?

  • @3dmarth
    @3dmarth 6 หลายเดือนก่อน +9

    I'd already heard that fill rate and bandwidth were bigger issues than poly count, but this is far more extreme than I expected!
    Also does this mean that Mario is going to get a poly count boost for the final build of RtYI, at least in cutscenes? :)

  • @KadeDev
    @KadeDev 5 หลายเดือนก่อน +1

    quick question actually; are some objects being deloaded before they actually leave the camera? I saw a few moving platforms get deloaded on screen instead of off screen.

  • @matthewmangan6251
    @matthewmangan6251 6 หลายเดือนก่อน +7

    Crazy
    I believe the N64’s official hardware figures were 150,000 polygons per second, so at 30fps, 5,000 would be the targeted polygon count-maybe a bit more depending on amount of shading and textures
    Mario 64 played things safe-the simpler maps being only around 1,000 tris, and the larger maps being segmented via loading tunnels, I doubt the game often exceeded 3,000 and definitely not 4,000 tris
    Ocarina of Time optimised things more, though the game was capped at 20fps the maps had a lot with surprisingly low poly count-Kokiri Forest was only about 2,000 tris and Hyrule Field 1,600 tris
    Then there was Rare’s stuff-they were very talented but didn’t quite focus on stable performance
    Click Clock Wood in Banjo-Kazooie pushes over 4,000 tris, and Mayahem Temple in Banjo-Tooie pushes over 6,000
    And that’s all before objects and characters

    • @KazeN64
      @KazeN64  6 หลายเดือนก่อน +8

      Yeah though keep in mind these higher poly levels use a lot of culling and rooms so i find it unfair to count that. If wed count like that then only up 64 would be a 50 thousand triangle level which it clearly is not haha

    • @matthewmangan6251
      @matthewmangan6251 6 หลายเดือนก่อน

      @@KazeN64 Those numbers are only for the main “foyer” area, so to speak, and Banjo has flight pads allowing the whole terrain to be visible at once-at a wonky framerate though of course

    • @xtr.7662
      @xtr.7662 6 หลายเดือนก่อน

      Probably because those numbers require a lot of optimization and its not just polygons

    • @fungo6631
      @fungo6631 หลายเดือนก่อน

      The poly count was microcode dependent. I believe Kaze's romhack uses F3DEX2 instead of the old Fast3D.

  • @kaiser9321
    @kaiser9321 6 หลายเดือนก่อน +48

    Someone finally has the balls to say it

    • @SpringDavid
      @SpringDavid 6 หลายเดือนก่อน +12

      high poly sucks
      low poly is overrated
      mid poly is...mid

    • @BierBart12
      @BierBart12 6 หลายเดือนก่อน +5

      2D is king

    • @aguywhoplaesgaems
      @aguywhoplaesgaems หลายเดือนก่อน

      Bro what 😭
      What poly is good then 😭

    • @Adriethyl
      @Adriethyl หลายเดือนก่อน

      ​@@aguywhoplaesgaemsno poly, embrace pixel sprites

  • @forestrf
    @forestrf 6 หลายเดือนก่อน +15

    Background in modern game engines is drawn after opaque and before transparents to avoid overdraw. On fps, the weapon is drawn first too.

    • @vurpo7080
      @vurpo7080 6 หลายเดือนก่อน +3

      That's not exactly the issue here. Drawing the background after opaque objects requires reading and writing the Z-buffer on every pixel, and as explained in this video, reading and writing the Z-buffer is really slow.

    • @ArneChristianRosenfeldt
      @ArneChristianRosenfeldt 6 หลายเดือนก่อน +1

      N64 has a pipeline. It loads the whole texture no matter the z tests. Stupid Jaguar would not even tell me if a portal passes any z-tests. I mean it would, but so slow that it does not help me.

  • @Theover4000
    @Theover4000 6 หลายเดือนก่อน +17

    Kaze, any time I see you cooking, I’m always left floored. It’s amazing how you push the N64 to its limits.

    • @Triiiple3
      @Triiiple3 6 หลายเดือนก่อน +2

      Yeah. I'm also wondering what could be done with extensive use of AI for further optimizations making also the graphics better. At least when AI becomes better at coding leaded by Kaze to what he will want to do.

    • @legoboy7107
      @legoboy7107 6 หลายเดือนก่อน

      @@Triiiple3 Kaze has done some things asking ChatGPT for optimizations only for it to give him "optimizations" that perform worse lol.

  • @Damiaen.
    @Damiaen. 6 หลายเดือนก่อน

    Diggi es ist echt otherworldly mit welcher hingabe du das alles machst. Bin super gespannt auf den Mod und kanns kaum erwarten den zu zocken :)!
    Wird ein guter Winter dieses Jahr.

  • @RedUmbre
    @RedUmbre 6 หลายเดือนก่อน +10

    I can remember when Skelux showed the Star Road 2 preview a long time ago and that felt like the peak of sm64 hacking at6 the time. In a comment about one of Kaze's early hacks he said something along the lines of "nobodys as good (at modelling) as skelux". And while Skelux's artistic vision is still S tier and godlike, I'd say Kaze has gotten closer to that level of polish.

    • @KazeN64
      @KazeN64  6 หลายเดือนก่อน +14

      Yeah, I have little talent for art. I am decent at it know because I've practiced it so much. Though I do have biobak helping me rework some of my earlier levels and he's the most talented artist I know. I think we can make something much prettier than even star road 2 with him on the team!

    • @canaconn2388
      @canaconn2388 6 หลายเดือนก่อน

      ​​@@KazeN64At least you don't rely as much on clickbait (the bad kind) as skelux

    • @RedUmbre
      @RedUmbre 6 หลายเดือนก่อน

      @@KazeN64 I definitely think its far surpassed star road 2 I just wanted to say it in a polite way lol. and of course the artists u collaborate with are dope

  • @historymaker118
    @historymaker118 6 หลายเดือนก่อน +6

    This project inspired me to get into pico8 development. I know it's not the same as making games for the n64, but the restrictions it puts in place give a similar need for creative solutions to problems, and I highly recommend it to anyone who wants to make 'retro' games.
    The work you've put into this project is incredible, I can't wait to one day play the game for myself! Keep the devlogs coming, I'm finding it so fascinating learning how you've optimised the engine.

    • @fungo6631
      @fungo6631 หลายเดือนก่อน

      No, it's not at all a substitute for Retro games. Homebrew NES development is much better.

  • @Corosar
    @Corosar 6 หลายเดือนก่อน +15

    I noticed the crate your standing on at 6:52 is having its vertices warp and wobble in a similar way the PS1 used to do. and even the side of the crate's edges seem to tear at 6:56 Is this a result of the Z-Buffer optimizations or something to do with the Sine Cosine optimizations. or was it older footage? I am a bit curious but i am also not very much a programmer at all.

    • @tinoesroho
      @tinoesroho 6 หลายเดือนก่อน

      finally, PSX wobble + sheer polygon processing of the n64

    • @Calinou
      @Calinou 6 หลายเดือนก่อน +1

      It might be due to the crate being a dynamic object or similar. In many games (software Quake by example), models aren't rendered with perspective-correct texturing with a few exceptions (ammo pickups).

    • @ArneChristianRosenfeldt
      @ArneChristianRosenfeldt 6 หลายเดือนก่อน

      @@Calinouuh, check the bounding box size and turn on correction. It is like two instructions in RISCV and uh x86 code is a bit more inefficient, but not much.

    • @fungo6631
      @fungo6631 หลายเดือนก่อน

      Could be a glitch.
      The Z buffer makes fuck all difference in that sense. Anyways, apparently there's a bug in the SGI silicon that causes texture glitches in some situations.

  • @junoeclipse7715
    @junoeclipse7715 6 หลายเดือนก่อน +54

    It's a bit of a shame that we're always so eager to replace hardware before it's full potential is realized

    • @deltex8526
      @deltex8526 6 หลายเดือนก่อน +37

      Well because it's not economically viable to optimize a device to its fullest. Kaze took this many years to achieve this then the developers back in the 90s will too. Sooner or Later consumers will get bored of the N64 weak power and low poly visuals when they can just upgrade to a better console hardware for more power.

    • @linhero797
      @linhero797 6 หลายเดือนก่อน

      ​​@@deltex8526That's pretty much it.
      It takes several YEARS, sometimes Decades for a system's hardware to be pushed to it's limits. And simply put, you cannot have a system stay around that long.
      Especially when, for a company like Nintendo, you can simply upgrade the hardware after 7 or so years and get VASTLY better improvements at a fraction of the cost.

    • @paul1979uk2000
      @paul1979uk2000 6 หลายเดือนก่อน +5

      I'm thankful we do too lol.
      We never really get full potential out of the hardware and even when they get close, it's usually decades after the demise of the hardware.
      Optimising takes time and money to do and in most cases, it makes more sense to throw more hardware power at the problem than to go overkill on optimisation.
      But maybe A.I. in the near future could help to change that if it gets really good that it can help us optimise code to get better use out of the hardware.

    • @FunnyParadox
      @FunnyParadox 6 หลายเดือนก่อน +8

      That's why the Gameboy and the Switch lasted/lasts for so long lol

    • @alvallac2171
      @alvallac2171 6 หลายเดือนก่อน +1

      *its full potential (possessive)
      it's = contraction of "it is" or "it has"

  • @dazcar2203
    @dazcar2203 6 หลายเดือนก่อน +85

    i'm curious what performance you could get on later consoles with the level of optimisation done here

    • @daskampffredchen9242
      @daskampffredchen9242 6 หลายเดือนก่อน +39

      Imagine Kaze getting into GameCube programming

    • @xdanic3
      @xdanic3 6 หลายเดือนก่อน +11

      I believe Unreal's nanite is doing some optimization shenanigans for poly pushing (althought unreal has quite a high baseline requirements)

    • @FuzzhyFoo
      @FuzzhyFoo 6 หลายเดือนก่อน +40

      This stuff is generally understood now. Back then they were pioneering this kind of stuff and the limitations were less understood. Suffice to say if they were to make Mario 64 with the knowledge they possess today, even on the N64, you'd see them pursue similar techniques and ideas that Kaze is doing.

    • @kaboomkp
      @kaboomkp 6 หลายเดือนก่อน +19

      Yep modern compilers are so much more efficient than older ones to the point where assembly or other low level code is only useful in very certain niche scenarios

    • @overwatch761
      @overwatch761 6 หลายเดือนก่อน

      ​@@daskampffredchen9242 No reason to go to GameCube as the progress on this N64 stuff is far more interesting. The N64 was a complex beast with alot of untapped potential... Kaze is doing things on N64 at framerates that defy all other games in its lifespan. GameCube was already so well optimised there's nothing else to unearth performance wise.

  • @iamnerd_.on.discord
    @iamnerd_.on.discord 6 หลายเดือนก่อน +5

    Whahh
    MOM THE NEW KAZE VIDEO DROPPED

  • @mickpatel5126
    @mickpatel5126 6 หลายเดือนก่อน

    We will always support you brother. Keep up the good work! Would love to see you work on goldeneye one day :)

  • @chrisjagon
    @chrisjagon 6 หลายเดือนก่อน

    this series has been amazing. Thank you!

  • @guarapo66
    @guarapo66 6 หลายเดือนก่อน +9

    Am not a coder but can your engine be adapted for fps, 3d fighting games or racing games ? Would be amazing if in the near future it can be easily adapted for those types of games so others can use it and do crazy ports, maybe a tekken or bloody roar port for the n64 😅

    • @LuigiXHero
      @LuigiXHero 6 หลายเดือนก่อน +1

      Probably but it's more then likely deeply tied into the game code. He could potentially strip out all the Mario related code to make it more general purpose.

    • @M1XART
      @M1XART 6 หลายเดือนก่อน +1

      The fighting genre is one the few that actually did benefit CD-media. PSX had only 2MB RAM, but on fighting games they could actually utilize CD -space for lots of characters, arenas and FMV's. However, take a look of most recent build of Smash Remix for N64, to see how N64 can handle tons of characters & arenas as well these days.

  • @FranklinDelanoBluth999
    @FranklinDelanoBluth999 6 หลายเดือนก่อน +7

    we need some efficiency for Goldeneye/Perfect Dark🙏🙏🙏🙏

  • @OpticSnipez90
    @OpticSnipez90 6 หลายเดือนก่อน

    Love your work and show case of the game your making. Any time when you plan on release the rom?

  • @razorblade413
    @razorblade413 6 หลายเดือนก่อน +2

    Awesome vid! Just out of curiosity, if n64 bottleneck is memory what could be the bottleneck for ps1 and saturn? I know this channel is for n64 but I ask just for curiousness.

  • @Buglin_Burger7878
    @Buglin_Burger7878 6 หลายเดือนก่อน +4

    Kaze's next video,
    N64 is able to run current gen Playstation and Xbox games.

  • @spartan7375
    @spartan7375 6 หลายเดือนก่อน +9

    you amaze and terrify me with how well you know this engine

  • @franksinatra2530
    @franksinatra2530 6 หลายเดือนก่อน

    I love your videos! You are an absolute legend!!!

  • @CodeBoxDE
    @CodeBoxDE 6 หลายเดือนก่อน

    Du machst wirklich gute Arbeit :)

  • @pleasedontwatchthese9593
    @pleasedontwatchthese9593 6 หลายเดือนก่อน +5

    This video is even good for modern computers. Today even ram and memory is considered slow and writings code to keep braching low is worth it (if you need speed). We even have cryptography functions that are "memory hard" meaning it slows down hackers by making it slower to compute by making it use ram access times in a way that cant be shortcut-ed, slowing down brute force attacks.

    • @Mizu2023
      @Mizu2023 6 หลายเดือนก่อน

      In the N64, not branching will use more cycles so the branching part is quite the opposite

  • @FlergerBergitydersh
    @FlergerBergitydersh 6 หลายเดือนก่อน +23

    Because of the small texture cache, and the higher amount of polys I've noticed in N64 games, especially recent projects like yours, I've always wondered why more textures on surfaces weren't drawn using polys instead. People would use blurry text or arrows, when drawing simple shapes and even some text should be more performant on the N64. And this video just furthers that question. I see even recent projects like the Portal 64 project (not yours) creating simple shapes on surfaces using low quality textures instead of triangles, and I have no idea why. Do you have any idea why that might be the case? Because I just simply am not enlightened enough to understand this trend in N64 game design.

    • @Calinou
      @Calinou 6 หลายเดือนก่อน +3

      The equivalent of a 64×64 texture with vertex colors requires 4096 vertices to be representable, and unlike a texture, it can't be repeated unless you also repeat this 4096-vertex lattice. Vertex colors work better for low-frequency data, such as lighting or ambient occlusion.

    • @StraightOuttaJarhois
      @StraightOuttaJarhois 6 หลายเดือนก่อน +1

      Basically because the only thing you get that way is flat colors and gradients. It can look cool (characters and enemies in FF7 is a good example) but it's a very particular style and not something that can actually replace texture mapping.

    • @FlergerBergitydersh
      @FlergerBergitydersh 6 หลายเดือนก่อน +3

      That's my point. More complicated stuff can be textures, but an arrow, or even a bit of text? Why not triangles? Think of all the blurry text and simple shapes on flat surfaces that are textures instead of polygons in various n64 games. Why not use triangles for those?

    • @ArneChristianRosenfeldt
      @ArneChristianRosenfeldt 6 หลายเดือนก่อน

      N64 is proud of its trilinear mipmaps. LoD for meshes is hard. So an engine would need to render to texture on level loading?

    • @will1066
      @will1066 4 หลายเดือนก่อน +1

      @@FlergerBergitydershEven a single letter takes dozens of triangles, it’s just way less efficient than a texture

  • @strnadik
    @strnadik 6 หลายเดือนก่อน +1

    First time Im discovering you and wow thank you for such an analysis and I gotta try your mod!!

  • @0HHC
    @0HHC 6 หลายเดือนก่อน

    Can't wait :D Btw, will you update peachs fury later with your new engine when it's ready?

  • @ktvx.94
    @ktvx.94 6 หลายเดือนก่อน +3

    My man's one year away from enabling DLSS and Raytracing on the N64

  • @NowOnAFM
    @NowOnAFM 6 หลายเดือนก่อน +24

    Brilliant! I’m not keen on the technical knowhow behind n64 development, but as usual the video excellently explains it on a basic level that I can comprehend.
    Man, I wish that developers nowadays perform these micro-optimizations on their games, particularly Switch ports.
    Nintendo, hire this man!

  • @KmanZAG
    @KmanZAG 6 หลายเดือนก่อน

    Amazing as always Kaze, cant wait for this romhack!

  • @ArcadeTheatre
    @ArcadeTheatre 6 หลายเดือนก่อน

    Good stuff. Looking forward to more.

  • @marcellosilva9286
    @marcellosilva9286 6 หลายเดือนก่อน +3

    I like this resurgence of fifth gen hardware getting pushed to its absolute limits, first we had a team porting over the first two levels of Unreal to the Saturn (big draw distance and all) and now the N64 is being pushed to its limits, I'd like to see what people could do on the PS1 now.

  • @CrashFan03
    @CrashFan03 6 หลายเดือนก่อน +5

    i wonder how these optimisations could increase the performance of other n64 games if implemented

  • @xcoder1122
    @xcoder1122 6 หลายเดือนก่อน +2

    A nice example of "optimization is a waste of time, unless you optimize that really is causing the bottleneck". If your entire processing passes through 10 steps, the slowest step is what dictates the overall speed almost alone. You can optimize all the steps but unless you optimize the slowest one, you won't see any larger improvement, if you can see an improvement at all. Only once you've eliminated the bottleneck, you can check for whose now the slowest step and try to optimize this step as well, and so on. That's why profiling is so important for optimization as only profiling will tell you what the slowest step really is.

  • @KayFiOS
    @KayFiOS 6 หลายเดือนก่อน +2

    I'm very much looking forward to your mod, and I hope you'll release a patch for SM64 that applies the enhancements you've made to the coding!

  • @KeinNiemand
    @KeinNiemand 6 หลายเดือนก่อน +3

    So overdraw tanks performance, while lots of polygons don't. So kinda like the switch then saw that one video once that showed that apprently having polygons for individuals leaves is faster then a cutout shader.

    • @ArneChristianRosenfeldt
      @ArneChristianRosenfeldt 6 หลายเดือนก่อน

      That’s why doom concentrated on reducing overdraw. And DukeNukem3d . And tomb raider also uses portals as does descent.
      Well known in 1995, 1996.

    • @lpfan4491
      @lpfan4491 6 หลายเดือนก่อน

      That's pretty much why Age of Calamity just kinda dies when the switch is docked. It basically overdraws nearly everything with all the semi-transparent effects and because docked mode uses a higher resolution compared to handheld, it also has to overdraw much more. Rip Switch.

  • @andresf6625
    @andresf6625 6 หลายเดือนก่อน +3

    I like the low poly look of 64 games, and low poly games run pretty well on my pc and phone aswell
    Edit: i wasn't talking about emulators but they also run well

  • @icegod4849
    @icegod4849 6 หลายเดือนก่อน +1

    5:56 I love that you mention how bad lookup tables for trig functions are. My game uses inverse tangent and, to optimize a part of my code, I used a lookup table to approximate it thinking it would be faster, but it ended up being *slower* than just calculating it.

    • @ArneChristianRosenfeldt
      @ArneChristianRosenfeldt 6 หลายเดือนก่อน

      AtariJaguar has trigonometric look up tables in ROM because it is fast. (ROM with a dedicated bus to the DSP ).

  • @ferrarikangaroo9271
    @ferrarikangaroo9271 6 หลายเดือนก่อน +2

    This is amazing. It's so heartening to know that more people love the N64 as much as I do. Have a great weekend mate! Happy coding

  • @Kiyuja
    @Kiyuja 6 หลายเดือนก่อน +6

    I might be wrong but didnt the N64 have just 4kb of texture cache? The CPU and GPU of the N64 were really powerful for their time, even featuring texture filtering but fitting "high res" textures through that cache was basically impossible. You had to chop textures into multiple parts or leave them los res, thats why many games looked blurry

    • @KazeN64
      @KazeN64  6 หลายเดือนก่อน +10

      yeah it does - all the textures i've used in the video here do fit in the 4kb cache.

    • @Kiyuja
      @Kiyuja 6 หลายเดือนก่อน

      amazing job! Games like Banjo Kazooie actually improved the visuals a lot by having transitions in the textures. Also you can try to use vertex colors to make your game even prettier or add shadows without needing any additional memory as its done by the GPU in real time. Again, gute Arbeit!@@KazeN64

    • @FrothingFanboy
      @FrothingFanboy 6 หลายเดือนก่อน +1

      Particularly in Rare and Factor 5 games, texturing was optimized by tiling small textures, as well as using greyscale textures with vertex colour.

    • @ArneChristianRosenfeldt
      @ArneChristianRosenfeldt 6 หลายเดือนก่อน

      You missed the MegaTexture demo.

  • @zack5623
    @zack5623 6 หลายเดือนก่อน +3

    I know nothing on game development, but was really impressed with the high poly count you demonstrated. It's inspiring to see people's passions for a +25-year-old game engine and showing us how performance can be optimized. Thank you.

  • @joelalain
    @joelalain 6 หลายเดือนก่อน

    i CANT wait for your game. I love the insane optimization and learning, it's so inspiring and really relaxes my OCD :-D Idea: it would be great to take the Mario model from galaxy and see if you can render just that with full polygons and look and feel, but on the n64

  • @JoeEnderman
    @JoeEnderman 6 หลายเดือนก่อน +2

    I am curious do you think any of the things your engine does could apply to other games, and if so, do you plan on letting modders in future use your code to work on new games or old ones?
    I seem to recall you mentioned Open-Sourcing your code once the game was done, but I don't remember the details or if that is even correct.

    • @KazeN64
      @KazeN64  6 หลายเดือนก่อน +6

      yes it will be open source once the mod releases! im sure some of it could apply to other engines as well. though the code itself will be less interesting than the techniques used i think

  • @zion6680
    @zion6680 6 หลายเดือนก่อน +5

    You're such a wizard, your journey reverse engineering this game and the console it played on has been so interesting all the way lol

  • @IramDiaz
    @IramDiaz 6 หลายเดือนก่อน +41

    Imagine what Super Mario 64(that already is a masterpiece) could have been if Kaze was its developer back in the day

    • @bingusbongus9807
      @bingusbongus9807 6 หลายเดือนก่อน +27

      sadly kaze himself admits he can only do this stuff with the knowledge gained since the n64s launch, its more like if kaze was a dev back then and they developed the game for 10 years and it came out in like 2006

    • @mups4016
      @mups4016 6 หลายเดือนก่อน +1

      Kaze isn't implementing anything that they didn't implement themselves in games later on the consoles timespan.

    • @bingusbongus9807
      @bingusbongus9807 6 หลายเดือนก่อน

      @@mups4016 yes he is, hes improving even the best engines, hes making better functions then have ever been used before

    • @31redorange08
      @31redorange08 6 หลายเดือนก่อน +2

      You know they had time constraints, right?

    • @KazeN64
      @KazeN64  6 หลายเดือนก่อน +17

      no amount of time constraints can ever excuse the abomination that is shadow.c - 4 raycasts to find the same surface 4 times, taking up upwards of 20% of your games performance in some areas (or the dynamic collision on the DDD sub)

  • @MaxRoyTheAGI
    @MaxRoyTheAGI 6 หลายเดือนก่อน

    thank you for making these videos, i dont understand a lot but its very interesting, cant wait to play your creation

  • @kev1nno
    @kev1nno 6 หลายเดือนก่อน

    Always awesome to hear more about how you're showing the N64 who's boss. And damn, the more I see of RTYI, the more excited I get for it. Looks amazing!

  • @RoloTonyBrown
    @RoloTonyBrown 6 หลายเดือนก่อน +3

    I think the RDRAM is only marginally faster than the Saturns 1MB Low Dram Pool (67-73 MB/s).

  • @rmod8
    @rmod8 6 หลายเดือนก่อน +3

    You turned that slow memory bus in a fast memory rocket.

  • @MrSantarex
    @MrSantarex 6 หลายเดือนก่อน +1

    I admit I have no idea what 50% of the stuff you're explaining is yet the way you explain things is so interesting and gets me invested and makes me listen through the entire thing every time. Great video as always!

  • @Joaking91
    @Joaking91 6 หลายเดือนก่อน

    This is very interesting and impressive. Im definitely gonna make some time to try some mod games from now on.
    Just out of curiosity, how do you regard the level of optimization that devs achieved in the later n64 games such as conker's bad fur day?

  • @JMFSpike
    @JMFSpike 6 หลายเดือนก่อน +6

    Man, if you can overhaul and improve Super Mario 64's code THIS much for optimal performance, I'd love to see you do the same thing for Conker's Bad Fur Day! That game has aged horrendously. Way too many areas have the framerate tanking to borderline unplayable levels. It's crazy how much love that game had back in the day considering. I don't think I've ever played an N64 game that struggled to the same degree as Conker.

  • @georgejpg
    @georgejpg 6 หลายเดือนก่อน +3

    Might be a silly question, but if you're locking your hack to 30fps, why not push the system much further to the point that it would barely stay above 30fps even when unlocked?

    • @KazeN64
      @KazeN64  6 หลายเดือนก่อน +17

      That's what I am doing! The earlier levels were not designed with this powerful of an engine in mind so it's often not fully taken advantage of. But the newest levels are designed in a way that the most laggy view often struggles to hit 30.

  • @mausmalone
    @mausmalone 6 หลายเดือนก่อน

    Hey this is a bit of a non-sequitur but do you know of any tutorials for getting a toolchain set up in Linux to compile for N64? I had an old version of the actual dev kit running in an Virtualbox VM but I can't seem to get it running in VMM and that got me wondering if I could just build natively instead of having to emulate an entire dev kit.

  • @martinhardy7659
    @martinhardy7659 5 หลายเดือนก่อน

    Very helpful video! I took some notes to really understand and get some takeaway tips for the Open World city Im making. Thanks, BTW your Fury Engine is awesome for SM64 Modding

  • @8squared007
    @8squared007 6 หลายเดือนก่อน +5

    All these advances in N64 rendering has got me wondering how good 2D could look like on the hardware. As far as I’m aware the N64 doesn’t have any dedicated sprite hardware, but given what’s possible on consoles like the PS1 and Saturn I think it could look awesome.

    • @RetroDark2008
      @RetroDark2008 6 หลายเดือนก่อน

      The n64 really bad at sprites, the reason the saturn and ps1 can do it is because they are designed to do it. No amount of optimization changes the n64s limitations.

    • @8squared007
      @8squared007 6 หลายเดือนก่อน +1

      @@RetroDark2008 Ok, then explain Bangai-O, Mischief Makers, Ogre Battle, Super Robot Taisen 64, Dr. Mario 64, Puyo Puyo Sun and ~n Party, Yoshi’s Story and various other sprite-based games on the console. The N64 is very capable of doing stuff like this and I’d like to see it taken further.

    • @RetroDark2008
      @RetroDark2008 6 หลายเดือนก่อน

      @@8squared007 A lot of the spritework was limited in animation and in clarity. In mischief makers the sprites are blurry. Same with yoshis story. It’s just that the N64 was designed by a cgi company, and this video is just improving what the n64 was good at, 2d sprites are something it was quite bad at compared to the PS1 and Saturn.

    • @8squared007
      @8squared007 6 หลายเดือนก่อน

      @@RetroDark2008 Ok, but there are other examples I’ve listed like Bangai-O which prove that it can do great 2D without looking blurry and recent homebrew projects that also serve to help my argument. “Harder to program” does not mean “Worse”, people simply need to do more research.

    • @RetroDark2008
      @RetroDark2008 6 หลายเดือนก่อน

      @@8squared007 It is also harder to program, but again the 2d on Saturn and Ps1 is more fluid and detailed than anything on n64. The n64 had a lot of issues, memory is a big one. I get you like the n64, but it has it limits. I have played a lot of sprite based n64 games and they really weren’t anything special visual wise. It’s impressive, but not that good.

  • @UltimatePerfection
    @UltimatePerfection 6 หลายเดือนก่อน +7

    I wonder if it would be possible to do something like UE5's nanite on N64 that culls and resizes triangles based on the camera position so you can get the best quality to performance ratio.

    • @tinoesroho
      @tinoesroho 6 หลายเดือนก่อน +1

      i saw a video where someone implemented mipmapped, high quality textures! wild stuff

    • @ArneChristianRosenfeldt
      @ArneChristianRosenfeldt 6 หลายเดือนก่อน

      If you dare to write the code for the RDP. I think homebrew still tackles the CPU only.

  • @notarandom7
    @notarandom7 6 หลายเดือนก่อน

    NEW KAZE VIDEO :OOO

  • @pixboi
    @pixboi 6 หลายเดือนก่อน

    I love these videos keep doing what you do!

  • @LogCabinMusic
    @LogCabinMusic 6 หลายเดือนก่อน +4

    finally someone has the courage to say it

  • @hughjanes4883
    @hughjanes4883 6 หลายเดือนก่อน +6

    I love 3d modeling and kinda hate the modern "low poly" artstyle, you know the one with the solid pastel colors and no textures. It felt unique once it first became popular but Ive grown to mostly hate it.
    Thats a complete aside though, for n64 mods high poly really fits the artstyle imo, It gives the feeling of "old console with a game way ahead of its time" and I think that really fits the console modding scene!
    Edit: when thinking about it, does the memory limitation mean that game engines that can get depth buffers without the normal, "calculate distance and compare" method, like bsp algorithms can get a ordered depth buffer without a typicalZ buffer. I know the quake and doom engines (both of which appeared on the n64) could improve preformance a lot. It also uses the cpu to sort through it so thats another good use of CPU time!

    • @JarlBarbossa
      @JarlBarbossa 6 หลายเดือนก่อน +3

      Ps1 low poly is the most aesthetic. Games like mega Man legends, fear Effect 2, and vagrant story.

    • @hughjanes4883
      @hughjanes4883 6 หลายเดือนก่อน +2

      @@JarlBarbossa agree, but i dont like the broken afgine texture mapping that most games have

    • @JarlBarbossa
      @JarlBarbossa 6 หลายเดือนก่อน

      @@hughjanes4883 Yeah but that's not relevant to retro inspired modern games, they never incorporate that. Also it doesn't come up with emulation which is how i do everything today.

    • @hughjanes4883
      @hughjanes4883 6 หลายเดือนก่อน

      @@JarlBarbossa i dident know emulators could fix it, i gotta check that out

  • @eininternetuser8243
    @eininternetuser8243 6 หลายเดือนก่อน +2

    Kaze are you currently using some kind of custom microcode, or are you using a legacy microcode like F3DFX2?
    Additionally, when F3DFX3 will be released could we except another major performance jump?

    • @KazeN64
      @KazeN64  6 หลายเดือนก่อน +3

      It will be a big jump! And im using basically v 0.01 of f3dex3

  • @LUCKYCAT20
    @LUCKYCAT20 6 หลายเดือนก่อน +2

    I love these optimization videos.

  • @theftking
    @theftking 6 หลายเดือนก่อน +4

    _"But why? Why go through all this trouble when they optimizations are trivial on modern hardware?"_
    ...cuz it makes a fascinating TH-cam video. Duh.

  • @brentonoftheunknown.821
    @brentonoftheunknown.821 6 หลายเดือนก่อน +3

    Even looking to newer console's, it makes me excited to see your work!
    With all this optimization on just he N64, just imagine what levels of optimization are possible for new gen consoles!
    Because the bottlenecks do exist, even if they are just so large you can easily fit most games into them. But acknowledgement of the bottleneck having bounds, and thus optimizing your games, opens a world of possibilities.

  • @Clodd1
    @Clodd1 6 หลายเดือนก่อน +1

    I'm so happy to see the N64 modding/homebrew community going strong and getting better and better. ‘Return to Yoshi’s Island’ is the most anticipated mod ever! Can’t wait. You’re a genius!

  • @huaweiphone4357
    @huaweiphone4357 6 หลายเดือนก่อน +1

    An awesome video, as usual =D
    Thank you

  • @CorporalDanLives
    @CorporalDanLives 6 หลายเดือนก่อน +5

    Wait, so N64 had overdraw on OPAQUE PIXELS? That sounds like a nightmare; in VR dev we have to be very careful to avoid overdraw on transparent pixels, but having to optimize for opaque sounds completely insane lol

    • @qbojj
      @qbojj 6 หลายเดือนก่อน +2

      On modern hardware you also have an overdraw overhead (also on opaque pixels), but it is hidden by good cache structure and that currently pixel shaders are much more complicated so relatively take more time than memory access. Also techniques like deferred shading might help with complicated shaders at further cost of memory bandwidth.

    • @themeangene
      @themeangene 6 หลายเดือนก่อน +2

      Overdraw was a huge problem throughout the 90s for all of the consoles. At least with the N64 you had a z-buffer in hardware to fall back on.
      I've been playing around with Saturn programming and it blows my mind what techniques 90s programmers were used by Hexen, Sonic R and other games to minimize Overdraw. I can't imagine having to develop this in software when the concept of a camera fulcrum was still relatively new to the industry

    • @ArneChristianRosenfeldt
      @ArneChristianRosenfeldt 6 หลายเดือนก่อน

      @@themeangenein a way “eye of the beholder” avoided overdraw. Wolfenstein3d and Ultima underworld. Even Comanche avoided overdraw (kind of ).

    • @ArneChristianRosenfeldt
      @ArneChristianRosenfeldt 6 หลายเดือนก่อน

      @@qbojjray tracing cores expect you to supply a bounding volume hierarchy. Can the hierarchical z-buffer use it also?

    • @lpfan4491
      @lpfan4491 6 หลายเดือนก่อน

      @@themeangene The guys who made Sonic R and co were absolute mad lads. I have never otherwise heard developers consistently custom-creating features on the software side that the console did not ship with and coming back many years later to create an official update for one of their games, which they have to release as a romhack no less due to no longer being partners with the publisher.

  • @xXx_Regulus_xXx
    @xXx_Regulus_xXx 6 หลายเดือนก่อน +3

    I wish every software developer cared this much about optimization!

  • @3DSage
    @3DSage 6 หลายเดือนก่อน +2

    Very impressive but as someone who also programs 3D on retro consoles, I have something to add. It technically can draw that many polys, but it's a whole other thing to check backface culling, behind the player polygon clipping, 3D texture clipping, and ground collisions with that many extra polygons. There are only a finite number of cycle the n64 can do per second and you can't have it all without the framerate dropping pretty low. That's why the enemies in Goldeneye has to be so boxy so there can be more on screen. 1 single enemy could be several thousand polys if there was was just 1 floating in space always in front of the player like that landscape you show.

    • @ArneChristianRosenfeldt
      @ArneChristianRosenfeldt 6 หลายเดือนก่อน

      The pcEngine had one cycle to spare per pixel. PSX and Saturn have 4 cycles per pixel. N64 has 7 cycles per pixel. Multiplication is single cycle since Jaguar. To cull back faces you need two multiplications.
      I think hardware designers and game developers need to justify all those cycles they use up. SNES could spit out mode-7 at 1 px per cycle. N64 blitter runs at 1px per cycle. It is all a pipeline.

  • @pictureus
    @pictureus 6 หลายเดือนก่อน +1

    Amazing video and story telling. Thank you for keeping our childhood console alive.

    • @alvallac2171
      @alvallac2171 6 หลายเดือนก่อน

      *storytelling

  • @UberDragon
    @UberDragon 6 หลายเดือนก่อน +3

    He'll just keep making these videos until someone gathers the courage to tell him that the N64 is 27 years old at this point and that there have been 4 major Nintendo consoles since.
    Jokes aside overdraw is a serious performance hog even nowadays. If you're making your game not trying to optimize against overdraw you're losing out on a lot most likely.

  • @dandyspacedandy
    @dandyspacedandy 6 หลายเดือนก่อน +4

    so the titles just clickbait right, you arent actually gonna be an ass just because a lot of people like a certain style?

    • @ikagura
      @ikagura 6 หลายเดือนก่อน +1

      As usual for modern TH-cam...
      And I firmly believe that Mario 64 with HD and high poly graphics ruin the charm and intended art direction of the game that the devs had.

  • @ziberoc4364
    @ziberoc4364 2 หลายเดือนก่อน

    what do you use to make these mods.. how do you make textures look n64 style I guess is what im asking. i want to make a game but everything is way too high detail today.

  • @memedude8303
    @memedude8303 หลายเดือนก่อน +1

    would it be possible to port mario sunshine to the n64 with optimized rendering?