Zelda: The Wind Waker – Tech and Texture Analysis(polycount.com)
polycount.com
Zelda: The Wind Waker – Tech and Texture Analysis
http://www.polycount.com/forum/showthread.php?t=104415
8 comments
Could someone re-upload the PDF to a different site? Scribd on mobile has turned into an even worse Experts Exchange or Quora.
Here's the original HTML form, courtesy of the Internet Archive: https://web.archive.org/web/20060304194444/http://www.dyingd...
Here's another Version: http://selmiak.bplaced.net/games/ps2/index.php?lang=eng&game...
Here's a Google Drive version I found by searching for the title:
https://docs.google.com/file/d/0Bx96LuRBo4jASGNmVHNaUjZRU2VD...
https://docs.google.com/file/d/0Bx96LuRBo4jASGNmVHNaUjZRU2VD...
Please could you clarify? On Ios I had a single full screen thing that I had to cancel but I get the full PDF after that.
You got the full PDF without login? I got a HTML version with very poor quality pictures or asked to pay 9 dollars to create an account that can download the PDF.
It's absolutely amazing how Team ICO was able to push 1999/2000-level hardware. Anyone who wonders why the frame rate suffers so much needs to read this document.
Re: frame rate, is the PS3 / 'HD' re-release better in that respect? I haven't gotten around to getting that version yet; I can imagine it's smoother due to better hardware.
The framerate is much better in the PS3 version. There's a comparison video at the end of this page: http://www.eurogamer.net/articles/digitalfoundry-ico-shadow-...
Thanks for that! I've always wondered how they managed everything they did in that game on the Playstation 2. It was just miles ahead of everything else on the system.
Fantastic! I remember reading this a couple of years ago and saying "huh, that's cool" but I make games now and it's much more interesting to read having had to write shaders and make similar sorts of compromises, I especially like the closest source shadows and semi-dynamic tassles on the spears.
On a less technical note it's amazing how going with the cell-shaded look has made the game age so well even the original non-HD gamecube game still looks great today.
On a less technical note it's amazing how going with the cell-shaded look has made the game age so well even the original non-HD gamecube game still looks great today.
Also interesting is that the game is having something of a resurgence. IIR it wasn't as well met when it was first released, but it's grown on the community and is really being held up today as a classic.
Yep. It was the wrong game for that time. Gamecube and Nintendo were fighting a "kiddie" image, and people were expecting a Ocarina of Time look especially since two years prior Nintendo showed off a great concept demo[1]. People really wanted that game.
So when Windwaker was announced it was a big let-down and had minimal cultural impact (even though it was a critical and financial success).
In fact, it seemed like the entire Gamecube era can be defined by Nintendo trying something different and kinda being punished for it due to preconceived expectations. Things like FPS Metroid instead of 3rd person Metroid. Mario Sunshine instead of Mario 64 2. Mario Kart Double Dash instead of regular Mario Kart 64 2. Donkey Kong Jungle Beat instead of proper 2D Donkey Kong Country. And of course WindWaker. It's no surprise that some of those games became cult favorites even though they didn't resonate at the time. They were good games, but wrong for the time. Sometimes it pays to give people what they want.
//
Nintendo is actually pretty clueless with market trends in general. Sometimes that's ok, but sometimes it hurts them greatly (e.g. sticking with the cartridge format one generation too long - which I think is THE reason why Sony owned the console market until the PS3 era. No DVD on Gamecube which did hurt their sales in the US. Ignoring online gaming until well into the Wii generation, and even then being clueless about it for many years. No answer to Xbox Live/PS Network. Missing the HD era by a generation - though they got really really lucky with the Wii _initially_). More recently, a Nintendo exec couldn't understand why people would want to watch streamed games[2]!)
---
[1] https://www.youtube.com/watch?v=wBtAvX4Pkyk
[2] http://www.gamespot.com/articles/e3-2014-wii-u-s-lack-of-twi...
So when Windwaker was announced it was a big let-down and had minimal cultural impact (even though it was a critical and financial success).
In fact, it seemed like the entire Gamecube era can be defined by Nintendo trying something different and kinda being punished for it due to preconceived expectations. Things like FPS Metroid instead of 3rd person Metroid. Mario Sunshine instead of Mario 64 2. Mario Kart Double Dash instead of regular Mario Kart 64 2. Donkey Kong Jungle Beat instead of proper 2D Donkey Kong Country. And of course WindWaker. It's no surprise that some of those games became cult favorites even though they didn't resonate at the time. They were good games, but wrong for the time. Sometimes it pays to give people what they want.
//
Nintendo is actually pretty clueless with market trends in general. Sometimes that's ok, but sometimes it hurts them greatly (e.g. sticking with the cartridge format one generation too long - which I think is THE reason why Sony owned the console market until the PS3 era. No DVD on Gamecube which did hurt their sales in the US. Ignoring online gaming until well into the Wii generation, and even then being clueless about it for many years. No answer to Xbox Live/PS Network. Missing the HD era by a generation - though they got really really lucky with the Wii _initially_). More recently, a Nintendo exec couldn't understand why people would want to watch streamed games[2]!)
---
[1] https://www.youtube.com/watch?v=wBtAvX4Pkyk
[2] http://www.gamespot.com/articles/e3-2014-wii-u-s-lack-of-twi...
> In fact, it seemed like the entire Gamecube era can be defined by Nintendo trying something different and kinda being punished for it due to preconceived expectations. Things like FPS Metroid instead of 3rd person Metroid. Mario Sunshine instead of Mario 64 2. Mario Kart Double Dash instead of regular Mario Kart 64 2. Donkey Kong Jungle Beat instead of proper 2D Donkey Kong Country. And of course WindWaker.
Don't forget launching with a Luigi title rather than a Mario title.
And the funny thing is, most of those are great games: Wind Waker, Metroid Prime, and Luigi's Mansion are all quite good because they broke the usual formula. Trying something different is a risk; you might get something much better than formula by adding some variety, or you might get an utter flop. But I'll take that over something completely formulaic.
Don't forget launching with a Luigi title rather than a Mario title.
And the funny thing is, most of those are great games: Wind Waker, Metroid Prime, and Luigi's Mansion are all quite good because they broke the usual formula. Trying something different is a risk; you might get something much better than formula by adding some variety, or you might get an utter flop. But I'll take that over something completely formulaic.
The funny part for me was how after I got into windwaker, I immediately thought it was my favorite zelda game lol.
Kinda glad to see the tide turn :) OoT was pretty epic too, but WW is more fun to play. Maybe I just like the whole sailing+pirates thing too much.
Kinda glad to see the tide turn :) OoT was pretty epic too, but WW is more fun to play. Maybe I just like the whole sailing+pirates thing too much.
The long sea voyages could have been done better. But the game felt and played fantastic. I had more fun with it than with the next one. When Twilight Princess came out, I felt "omg finally, no more cell shading" but later on I realized that the gameplay was a step backwards from Wind Waker. Except for the incredibly long traveling times of WW.
I think Windwaker was ultimately hurt more because they rushed it out for a November/December release. Allegedly they had to cut two whole dungeons from the final game, so nobody was going to say 'this is the best Zelda ever!'
Nintendo adopt puzzling strategies at times, but I'd be wary of second guessing them. Everyone criticised the decision to stick with cartridges, but let's not forget that every other vendor except Sony that tried switching to CD-ROMs basically went out of business. Likewise, the Wii was slated when people saw the Gamecube-level specs with no HD, but then it was successful beyond anyone's wildest expectations.
Nintendo adopt puzzling strategies at times, but I'd be wary of second guessing them. Everyone criticised the decision to stick with cartridges, but let's not forget that every other vendor except Sony that tried switching to CD-ROMs basically went out of business. Likewise, the Wii was slated when people saw the Gamecube-level specs with no HD, but then it was successful beyond anyone's wildest expectations.
I think I disagree with almost every point you made :P
- The two missing dungeons were a non-factor (I didn't even know about this until just right now). The game wasn't buggy, and it felt complete. It was as good as it was going to get.
- Sure, a bunch of console-vendors bit the dust with CD-ROM, but nobody blamed CD-ROMs. They failed because of price, or because of lack of recognition, lack of games, or whatever, but not because of CD-ROMs. That's not me talking with the benefit of hindsight. I remember being in that era. There was a consensus that optical media in general, and CD-ROMs specifically, were the future. They were cheaper, and could hold huge amounts of data and FMV clips (FMV was big!). Nintendo had their reasons to go with cartridges, but they weren't good reasons for customers and publishers.
>Likewise, the Wii was slated when people saw the Gamecube-level specs with no HD, but then it was successful beyond anyone's wildest expectations.
Yeah, it was a success and let Nintendo survive that console generation, but that success didn't do anything for the Wii U and the Wii kinda lost steam near the end (didn't most 3rd party publishers abandon it mid-way through it's life?). They got really really lucky with the Wii.
- The two missing dungeons were a non-factor (I didn't even know about this until just right now). The game wasn't buggy, and it felt complete. It was as good as it was going to get.
- Sure, a bunch of console-vendors bit the dust with CD-ROM, but nobody blamed CD-ROMs. They failed because of price, or because of lack of recognition, lack of games, or whatever, but not because of CD-ROMs. That's not me talking with the benefit of hindsight. I remember being in that era. There was a consensus that optical media in general, and CD-ROMs specifically, were the future. They were cheaper, and could hold huge amounts of data and FMV clips (FMV was big!). Nintendo had their reasons to go with cartridges, but they weren't good reasons for customers and publishers.
>Likewise, the Wii was slated when people saw the Gamecube-level specs with no HD, but then it was successful beyond anyone's wildest expectations.
Yeah, it was a success and let Nintendo survive that console generation, but that success didn't do anything for the Wii U and the Wii kinda lost steam near the end (didn't most 3rd party publishers abandon it mid-way through it's life?). They got really really lucky with the Wii.
Didn't Windwaker only have 3 dungeons or something? The two abandoned dungeons would have kept it on par with OoT and MM, without them it seems like you're being shortchanged. Sure, the Twilight Princess style went down much better with the fanboys but you can't pay too much attention to the overly vocal minority that hated Celda.
Nobody thought to blame CD-ROMs as Sony made a big success of it, but sticking with cartridges let Nintendo differentiate themselves from everyone else and ensure they were the only genuine alternative to Playstation. In general Nintendo's business strategy can be described as: a) do something different b) never bet the house. The first ensures the potential for runaway hits like the Wii or DS, while the latter ensures they can always try again next generation.
Nobody thought to blame CD-ROMs as Sony made a big success of it, but sticking with cartridges let Nintendo differentiate themselves from everyone else and ensure they were the only genuine alternative to Playstation. In general Nintendo's business strategy can be described as: a) do something different b) never bet the house. The first ensures the potential for runaway hits like the Wii or DS, while the latter ensures they can always try again next generation.
Wind Waker has 5 main dungeons / temples - 7 if you include the fortress and final tower. It also has a 3 mini dungeons to get a few of the items [magic arrows / iron boots].
> - The two missing dungeons were a non-factor (I didn't even know about this until just right now).
I enjoyed Wind Waker, but I always felt like something was missing. It felt odd that there were only two temples where the previous games had more. I also didn't know about the missing dungeons. And as another poster mentioned, apparently the dungeons were complete, but 'too hard' so they were cut. I almost wish they would have included them somehow even if it was a 'hard more' or some sort of special edition of the game.
> that success didn't do anything for the Wii U
To be fair, the Wii U didn't do much to cash in on the Wii's success other than keep the name, and confuse people as to whether or not it was a new console.
I enjoyed Wind Waker, but I always felt like something was missing. It felt odd that there were only two temples where the previous games had more. I also didn't know about the missing dungeons. And as another poster mentioned, apparently the dungeons were complete, but 'too hard' so they were cut. I almost wish they would have included them somehow even if it was a 'hard more' or some sort of special edition of the game.
> that success didn't do anything for the Wii U
To be fair, the Wii U didn't do much to cash in on the Wii's success other than keep the name, and confuse people as to whether or not it was a new console.
The dungeon situation is worse than that. I actually was very unhappy with Windwaker at the time because it was too easy. I loved the sword fights against the knights towards the end, but there were only a handful of those. So I already was upset about that. However, than I read that Miyamoto had said that the two dungeons had already been completed, but they were too hard and the game got too long and he wanted everyone to finish the game. I can not overstate how I upset I was when I read that.
Yeah, this is my biggest problem with Wind Waker, and why it's not the best Zelda - it's just too easy. Adding a couple of tough dungeons would've made it much closer to OoT's difficulty. We shouldn't be aiming for games that everyone can complete - and I say this as someone who doesn't complete a lot of games.
>Nintendo is actually pretty clueless with market trends in general.
The whole Wii brand is itself perhaps the best example of it. I can not think of a more terrible name - or rather I couldn't until they released Wii U. Any success these consoles have is in spite of the branding, not because of it. (Which might go to show that branding is not terribly important after all, since the Wii was obviously very successful, and Wii U apparently did well at E3 this year.)
The whole Wii brand is itself perhaps the best example of it. I can not think of a more terrible name - or rather I couldn't until they released Wii U. Any success these consoles have is in spite of the branding, not because of it. (Which might go to show that branding is not terribly important after all, since the Wii was obviously very successful, and Wii U apparently did well at E3 this year.)
> More recently, a Nintendo exec couldn't understand why people would want to watch streamed games[2]
Gahh.. that link made me seriously question Nintendo's management - are they that disconnected from their customers? just thinking one inch ahead and asking yourself "what's fun about watching [insert your country's favourite sport]" would immediately answer that question whether this is something people want.
Gahh.. that link made me seriously question Nintendo's management - are they that disconnected from their customers? just thinking one inch ahead and asking yourself "what's fun about watching [insert your country's favourite sport]" would immediately answer that question whether this is something people want.
>are they that disconnected from their customers?
Kinda. It's Nintendo being Nintendo. Miss the boat on some trend, and rather than work towards fixing it, deny the trend.
Kinda. It's Nintendo being Nintendo. Miss the boat on some trend, and rather than work towards fixing it, deny the trend.
Yep, I remember trying to defend both Wind Waker and the Metroid Prime series to my friends but they wouldn't play them.
I also remember seeing those early screenshots of that Zelda game that was never made, and looking back it's great that they went with the cel shading style. Lots of people thought it looked 'kiddie', but I've always thought it was beautiful, and it's aged so well.
I got it when it came out, and while I was disappointed that it wasn't basically 'Ocarina of Time' on better hardware (which was known well in advance of release), I really enjoyed the game. I'm glad that it has held up well. I'm guessing that the only things that haven't held up well are the GameCube <=> GameBoy Advance features of the game.
The tingle tuner was a pile of junk but it did make some very interesting speed running stuff possible.
I just started playing this for the first time last night. I'm playing the Wii U HD edition. It looks amazing, and one of the first things that stood out to me was the red cloth on the spears.
I spent about 5 minutes in a barrel last night just watching the guards swoosh around their spears. My guess was that was added for the Wii U edition - but apparently I'm way wrong.
Incredible looking game!
I spent about 5 minutes in a barrel last night just watching the guards swoosh around their spears. My guess was that was added for the Wii U edition - but apparently I'm way wrong.
Incredible looking game!
I envy you right now, getting to play it for the first time. Wind Waker is on my list of games I play once a year, up there with Grim Fandango and Mega Man 2.
It always did look amazing. To be honest every new Zelda since has seemed like a downgrade in terms of graphics and animation. Just wait till you get to swaying platforms over lava lakes!
Yeah those look cool, and nope those were in the gamecube version too.
fwiw you can usually pick those spears up after you beat the guards lol
fwiw you can usually pick those spears up after you beat the guards lol
Kind of offtopic: As a professional of web development and operations with ~10 years of exp... Any ideas where I should start if I want to learn game development? I want to be able to create something by myself, like the Dwarf Fortress guys. Not sure if something with better graphics is even possible as a one man project.
Where else can I ask this question without being treated like a noob or a "gimme teh code plz" beggar?
Where else can I ask this question without being treated like a noob or a "gimme teh code plz" beggar?
I'm almost 100% sure others will disagree but I'd say start with Unity. The most important thing is getting something small done to give you a taste of what's involved and then you can dig deeper and develop Opinions and eventually go pick a new engine/roll your own.
I definitely do not recommend trying to roll your own engine at first because you'll never get a game done.
I definitely do not recommend trying to roll your own engine at first because you'll never get a game done.
As someone who started as a game developer and is now mostly in the web world, I totally agree to start with Unity - a side project I have now is using it, and it's an absolute godsend as a small/one man team for making games. You can do almost anything you can do in a AAA studio engine, but with more productivity and a gentler learning curve.
So yeah, to parent poster: Go download Unity and do the tutorials.
It's also worth working through some OpenGL tutorials to get a feel for how the lower level stuff works.
So yeah, to parent poster: Go download Unity and do the tutorials.
It's also worth working through some OpenGL tutorials to get a feel for how the lower level stuff works.
Actually as someone who also did mostly web development professionally before starting games as a hobby, I think it's better to start by coding a small game without any engine (like a shooter or a platformer) to fully understand the concepts like game loop, FPS, sprites, etc. Then only you can move to using an engine and you'll understand better what's going on.
That's especially true for someone who already knows programming, the answer would be different for someone who had no programming experience.
That's especially true for someone who already knows programming, the answer would be different for someone who had no programming experience.
I'm taking tutorials for game making in SDL2 to expand my knowledge of C++, and because i've had an interest in game design for a while. I'm certainly learning a lot more than I ever did playing around with Game Maker..
Hey, don't knock it. I learnt to program in GML; to the point where I built a 3D game out of Game Maker, pretty much using the UI as a glorified level editor, rather than using its proper actions. Taught me heaps :)
Nowadays, I'm a web dev, but I build games in my spare time, and have lately been doing it with Canvas/Javascript. Just like SDL it takes some of the finicky bits out of your way, but is still pretty low level somewhat.
Nowadays, I'm a web dev, but I build games in my spare time, and have lately been doing it with Canvas/Javascript. Just like SDL it takes some of the finicky bits out of your way, but is still pretty low level somewhat.
Game Maker is actually pretty nice now that it comes with a physics engine (although I was annoyed when it took me like an hour to reimplement a project it took me weeks to do in an older version because everything was just there) ... I just wish it used something other than GML for its scripting language.
I'm working through Unity tutorials now and this is what I did, and I'd agree. Being a web developer and knowing JavaScript is awesome for this - HTML5 games are really fun and easy. I started with a Galaga clone[1] that taught me about game loops, input, rendering, and the state of the game world and how they interact and are separate. I think this has made working through Unity, where things are kind of magical, much easier.
1. https://github.com/hoorayimhelping/Galaga5
1. https://github.com/hoorayimhelping/Galaga5
Well Unity is not bad for learning ,
What i would do would be somthing like this .
- Learn Unity make a couple of small 3D games.
- Learn some basic OpenGL , learn to write your own shaders and understand how it all works.
- After Unity try working with other engines ( work with something like the CryEngine[1] , it costs like 9.90$ / month royalty free)
- As you make games start making your own game engine as a side project.
ProTip: Open Source it to speed up development.
[1]http://cryengine.com/news/crytek-announces-its-cryengine-as-... edit:formatting
- Learn Unity make a couple of small 3D games.
- Learn some basic OpenGL , learn to write your own shaders and understand how it all works.
- After Unity try working with other engines ( work with something like the CryEngine[1] , it costs like 9.90$ / month royalty free)
- As you make games start making your own game engine as a side project.
ProTip: Open Source it to speed up development.
[1]http://cryengine.com/news/crytek-announces-its-cryengine-as-... edit:formatting
Given that you've already worked on web development, I'd recommend starting with HTML5 technologies. Don't sweat the graphics right away; many people get away with very rough graphics as long as they have a fun premise. Work on game logic, a graphics engine, that kind of thing.
If you like JavaScript as a language, use that; if you don't, then either try a language that compiles to JavaScript via emscripten or similar, or try a language that works with Chrome Native Client.
If you like JavaScript as a language, use that; if you don't, then either try a language that compiles to JavaScript via emscripten or similar, or try a language that works with Chrome Native Client.
That's what's possible as a one man project:
http://www.shiningrocksoftware.com/game/
AFAIK he did all the game design, coding and assets (models, textures, sounds etc.)
AFAIK he did all the game design, coding and assets (models, textures, sounds etc.)
For advice and support on getting started with game design, The Independent Gaming Source forums (http://forums.tigsource.com/) are the best resource I know of.
What kind of web development do you do? Dwarf Fortress could totes be accomplished in Angular.js
http://love2d.org - see you there.
Zelda games have a lot of interesting implementation details. You might also be interested in Twilight Princess Eyes Breakdown: http://www.benjones.us/twilight-princess-eyes-breakdown/
I remember just stopping and watching the waves in awe. I'm glad I'm not the only one who was charmed by them
"this animated wave material is one of my all time favorite fx in game art"
"this animated wave material is one of my all time favorite fx in game art"
Precisely the same kind of awe I was in. Even several years from then, I still listen to the WW theme songs as part of my morning ritual. Too bad I couldn't play games like this too much lately...
I forgot how pretty that game was. Shame it fell apart 2/3 of the way through, like so many games seem to do.
Incidentally if you like this kind of thing, and you haven't played Fez yet, then well, the rest of your sunday is sorted.
Incidentally if you like this kind of thing, and you haven't played Fez yet, then well, the rest of your sunday is sorted.
I thought it was pretty fantastic the whole way.
That ridiculous fedex quest at the end kinda took the shine off it for me. It felt really lazy.
The Triforce stuff or Ganon's Tower?
Almost certainly the triforce stuff, as even Nintendo realized how ridiculous it was, and nerfed it in the HD remake.
See http://www.zeldadungeon.net/2013/08/the-wind-waker-hd-trifor....
See http://www.zeldadungeon.net/2013/08/the-wind-waker-hd-trifor....
It seems to me that the artistic portion of Wind Waker was given a little more attention than the technical one. The lack of instancing/batching when rendering grass or the lack of efficient culling outside, for instance, surely doesn't match the care with which the artists designed the lighting or splatted sea materials.
Still, great analysis.
Still, great analysis.
I'm not sure -- the game runs with a good frame rate in nearly all places (IIRC), so it doesn't seem like they needed the power that'd be freed up by better culling. Maybe they just didn't (prematurely?) optimize there and instead spent their time on some of the other little details from this post?
Exactly. PC games optimize like crazy because every optimization offers the chance to run on lower-end systems and sell a few more copies. Console games have a defined target, and as long as they run well on that target, they're done; optimizations only matter if the game doesn't hit the desired framerate on the one and only target device.
It's the other way around. PC games are rarely optimized to any significant degree because of the vast amount of different configurations out there, and PC gamers will just through hardware at the problem anyway. On a console, you know exactly what configuration all your players have, and any optimizations you do will benefit every one of them.
His point still holds: in consoles, any optimization past a certain threshold is wasted effort because your consumer does not get any additional value (the game runs equally as smooth and beautiful with or without the optimization), therefore, doesn't pay more.
I'd say it's a two-edged sword because if they can get more objects in a scene if they cull better, then the artists could've made even better and richer environments. It's all about striking a balance between not spending too much time to optimize in order to give the artists more freedom and giving the artists freedom but not enough time for them to use it.
Or it could be by limiting what the artists can do they get better games because by limiting what the artists can do the team can spend more time and resources on other places.
I've always personally felt many of Nintendo's games specifically limit the art in the service of gameplay where as many other companies are "art first" companies. Zelda in particular aims at making worlds free of clutter and trying to make nearly everything interactive. Compared to most games where 99% of all doors are not openable, 99% of all plants are not manipulable, 99% of all rocks, pots, etc are not movable. If you let the artists fill up the world you get Uncharted, which while it might be a great game in it's own way, it's also massively static compared to nearly any Zelda game. If they let the artists fill up Zelda to be as art drivin as Uncharted it would no longer feel like Zelda because Zelda is about gameplay, Uncharted is about art.
I've always personally felt many of Nintendo's games specifically limit the art in the service of gameplay where as many other companies are "art first" companies. Zelda in particular aims at making worlds free of clutter and trying to make nearly everything interactive. Compared to most games where 99% of all doors are not openable, 99% of all plants are not manipulable, 99% of all rocks, pots, etc are not movable. If you let the artists fill up the world you get Uncharted, which while it might be a great game in it's own way, it's also massively static compared to nearly any Zelda game. If they let the artists fill up Zelda to be as art drivin as Uncharted it would no longer feel like Zelda because Zelda is about gameplay, Uncharted is about art.
The lack of instancing is because there's no need for it. Consoles in general have low-level graphics APIs that let you make tons of drawcalls without the performance issues you get on PC.
Anybody got a quick explanation for why desktop APIs have such trouble with lots of drawcalls? What is it that Mantle, Metal, etc. do differently that saves so much time?
(And how much of that is a problem with just OpenGL vs. how much does it apply to DirectX as well?)
(And how much of that is a problem with just OpenGL vs. how much does it apply to DirectX as well?)
MS's presentation on Direct12 does a good job of breaking down the problems with classic API models and how DX12 (very similar to Mantle) fixes them.
http://channel9.msdn.com/Events/Build/2014/3-564
youtube dupe: http://www.youtube.com/watch?v=m0QkjKGZQzI
http://channel9.msdn.com/Events/Build/2014/3-564
youtube dupe: http://www.youtube.com/watch?v=m0QkjKGZQzI
http://renderingpipeline.com/2014/06/whats-the-big-deal-with...
That blog post should help you clarify the difference. I think the primary problem it that OpenGL and DirectX handle changes in pipeline state very poorly.
That blog post should help you clarify the difference. I think the primary problem it that OpenGL and DirectX handle changes in pipeline state very poorly.
[deleted]
I am glad it was done this way and not the other way around.
At some point in the execution culling has to happen. It will always happen on the GPU so adding your own CPU based culling will lead to double checking and lower performance in most cases. It only makes sense to do your own culling if your GPU doesn't do it or if you have some spatial partition system which can cull in bulk.
I only ever worked on the Wii, but on that system CPU-based (coarse-ish) culling seemed to be usually the right tradeoff. The GPU was mostly OK, but its vertex throughput always seemed rather poor, particularly if you supplied lots of vertex attributes. The CPU on the other hand was pretty fast, with short pipelines and low-latency RAM. (I was always under the impression that the Wii was at heart just a Gamecube with a higher clock speed and some extra RAM, so I figure the same principles would apply.)
While working on this game, I got some code that a colleague wrote for another product to pre-generate all the GPU commands offline, so things could be drawn with 0% CPU overhead. But once I'd merged it all in and got it working, the thing was actually slower! No good sending them all to the GPU and letting it deal with them, it turned out. It was faster to have the CPU carefully check each state setting and not bother the GPU with the redundant ones.
(Sort-of disclaimer: Wii developers never got tools as good as the ones for the PS3 or Xbox360. In particular, there was very little visibility into the GPU's working, just some poorly-documented performance counters, and a Javascript tool that would estimate a per-vertex cycle count for a given set of vertex attributes. So it's possible I just got something wrong. And sadly I can't claim to be the sharpest tool in the box.)
While working on this game, I got some code that a colleague wrote for another product to pre-generate all the GPU commands offline, so things could be drawn with 0% CPU overhead. But once I'd merged it all in and got it working, the thing was actually slower! No good sending them all to the GPU and letting it deal with them, it turned out. It was faster to have the CPU carefully check each state setting and not bother the GPU with the redundant ones.
(Sort-of disclaimer: Wii developers never got tools as good as the ones for the PS3 or Xbox360. In particular, there was very little visibility into the GPU's working, just some poorly-documented performance counters, and a Javascript tool that would estimate a per-vertex cycle count for a given set of vertex attributes. So it's possible I just got something wrong. And sadly I can't claim to be the sharpest tool in the box.)
Are these same kind of techniques applicable to mobile devices or is the hardware just not there yet? I've always wondered about whether console development and mobile development have converged or not yet.
This is pretty cool as a hobbyist game dev.
It goes into detail about things like how the inverse kinematics work, and rendering layers of translucent textured polygon shells for its fur effects since programmable shaders weren't possible on the hardware.