History SugarWiki / GeniusProgramming

22nd Jul '17 10:31:14 AM GBAuraRebirth
Is there an issue? Send a Message


A standout example is loading in polygons just before they're on-screen rather than everything in the level (the effects of which are plainly visible when forcing a widescreen resolution on the game), allowing lush environments with more in them in one screen than entire levels in other games of the day. This technique also solved performance issues in a [[StateTheSimpleSolution much cruder manner]]; got slowdown when coming over the crest of a hill? Stick a big fat leaf in the way so that half the stuff won't load until it's out of shot!\\
As another example to prove how much of a technical achievement they pulled with this game, Crash's model is one full mesh. May not sound special since this can be done so easily today, but at the time of early 3D games, characters used multiple meshs to make up the model, causing certain parts of the model (like limbs) to look so blocky. What Naughty Dog did to get is that they had to invent assembly language to pull the vertices in certain ways to animate the model. You can see the model up close in [[https://www.youtube.com/watch?v=y3Rjg8JGa9w&t=0m37s this video,]] that covered the aforementioned note.

to:

A standout example is loading in polygons just before they're on-screen rather than everything in the level (the effects of which are plainly visible when forcing a widescreen resolution on the game), allowing lush environments with more in them in one screen than entire levels in other games of the day. This technique also solved performance issues in a [[StateTheSimpleSolution much cruder manner]]; got slowdown when coming over the crest of a hill? Stick a big fat leaf in the way so that half the stuff won't load until it's out of shot!\\
As
shot!
**As
another example to prove how much of a technical achievement they pulled with this game, Crash's model is one full mesh. May not sound special since this can be done so easily today, but at the time of early 3D games, characters used multiple meshs to make up the model, causing certain parts of the model (like limbs) to look so blocky. What Naughty Dog did to get is that they had to invent assembly language to pull the vertices in certain ways to animate the model. You can see the model up close in [[https://www.youtube.com/watch?v=y3Rjg8JGa9w&t=0m37s this video,]] that covered the aforementioned note.
15th Jul '17 7:36:15 AM GBAuraRebirth
Is there an issue? Send a Message


* Naughty Dog cut their teeth on the first ''[[VideoGame/CrashBandicoot1996 Crash Bandicoot]]''. They developed it as a [=PlayStation=] 1 exclusive, and when it came out, it was so much better than anyone had ever managed to accomplish on the console that other developers cried foul, insisting that Naughty Dog had used secret libraries provided by Sony to them and them alone. The opposite was true: they used as little as possible of Sony's stuff, and essentially hacked as much of the game as possible to run as close to the hardware as they could make it, effectively developing their own development as they went. The result was ''way'' ahead of what anyone had managed on the meagre (even for the times) power of the [=PlayStation=] 1. You can read about many of the tricks they used in [[http://all-things-andy-gavin.com/2011/02/02/making-crash-bandicoot-part-1/ Andy Gavin's postmortem]] for the game.\\
A standout example is loading in polygons just before they're on-screen rather than everything in the level (the effects of which are plainly visible when forcing a widescreen resolution on the game), allowing lush environments with more in them in one screen than entire levels in other games of the day. This technique also solved performance issues in a [[StateTheSimpleSolution much cruder manner]]; got slowdown when coming over the crest of a hill? Stick a big fat leaf in the way so that half the stuff won't load until it's out of shot!

to:

* Naughty Dog ** They cut their teeth on the first ''[[VideoGame/CrashBandicoot1996 Crash Bandicoot]]''. They developed it as a [=PlayStation=] 1 exclusive, and when it came out, it was so much better than anyone had ever managed to accomplish on the console that other developers cried foul, insisting that Naughty Dog had used secret libraries provided by Sony to them and them alone. The opposite was true: they used as little as possible of Sony's stuff, and essentially hacked as much of the game as possible to run as close to the hardware as they could make it, effectively developing their own development as they went. The result was ''way'' ahead of what anyone had managed on the meagre (even for the times) power of the [=PlayStation=] 1. You can read about many of the tricks they used in [[http://all-things-andy-gavin.com/2011/02/02/making-crash-bandicoot-part-1/ Andy Gavin's postmortem]] for the game.\\
A standout example is loading in polygons just before they're on-screen rather than everything in the level (the effects of which are plainly visible when forcing a widescreen resolution on the game), allowing lush environments with more in them in one screen than entire levels in other games of the day. This technique also solved performance issues in a [[StateTheSimpleSolution much cruder manner]]; got slowdown when coming over the crest of a hill? Stick a big fat leaf in the way so that half the stuff won't load until it's out of shot!shot!\\
As another example to prove how much of a technical achievement they pulled with this game, Crash's model is one full mesh. May not sound special since this can be done so easily today, but at the time of early 3D games, characters used multiple meshs to make up the model, causing certain parts of the model (like limbs) to look so blocky. What Naughty Dog did to get is that they had to invent assembly language to pull the vertices in certain ways to animate the model. You can see the model up close in [[https://www.youtube.com/watch?v=y3Rjg8JGa9w&t=0m37s this video,]] that covered the aforementioned note.
10th Jul '17 12:12:27 PM ryanruff13
Is there an issue? Send a Message


* Naughty Dog loves to show off their technical prowess. The [=PlayStation=] 3 is almost infamous for requiring data installs, as searching for and loading information off a high-capacity Blu-Ray Disc would result in extremely long load times... or so people thought. ''VideoGame/Uncharted2AmongThieves'' required absolutely no installation, and the only loading time you would see is when the game starts up (about 10 seconds), and when you start or continue a game (again, about 10 seconds). The rest of the game loads seamlessly, not stopping for ''anything'', including area transitions, from start to finish.\\
\\
The iconic scene in the same game, the train sequence, is also a marvel of technical engineering. In addition to adjusting the physics to account for the fact that Drake's on a train, the entire sequence, from the start in the jungles to the end in the snowy mountains, has no repeated environments. Every single view and vista is unique, and waiting long enough for, say, the point where it's curving around a lake or mountain, will eventually give you alternate views of the location as your position shifts. And to top it all off, you can see the train curving ahead of you in the distance: you ''can'' reach all of those cars, and eventually will.\\

to:

* Naughty Dog loves to show off their technical prowess. prowess.
**
The [=PlayStation=] 3 is almost infamous for requiring data installs, as searching for and loading information off a high-capacity Blu-Ray Disc would result in extremely long load times... or so people thought. ''VideoGame/Uncharted2AmongThieves'' required absolutely no installation, and the only loading time you would see is when the game starts up (about 10 seconds), and when you start or continue a game (again, about 10 seconds). The rest of the game loads seamlessly, not stopping for ''anything'', including area transitions, from start to finish.\\
\\
finish.
**
The iconic scene in the same game, the train sequence, is also a marvel of technical engineering. In addition to adjusting the physics to account for the fact that Drake's on a train, the entire sequence, from the start in the jungles to the end in the snowy mountains, has no repeated environments. Every single view and vista is unique, and waiting long enough for, say, the point where it's curving around a lake or mountain, will eventually give you alternate views of the location as your position shifts. And to top it all off, you can see the train curving ahead of you in the distance: you ''can'' reach all of those cars, and eventually will.\\
10th Jul '17 12:10:25 PM ryanruff13
Is there an issue? Send a Message


Naughty Dog cut their teeth on the first ''[[VideoGame/CrashBandicoot1996 Crash Bandicoot]]''. They developed it as a [=PlayStation=] 1 exclusive, and when it came out it was so much better than anyone had ever managed to accomplish on the console that other developers cried foul, insisting that Naughty Dog had used secret libraries provided by Sony to them and them alone. The opposite was true: they used as little as possible of Sony's stuff, and essentially hacked as much of the game as possible to run as close to the hardware as they could make it, effectively developing their own development as they went. The result was ''way'' ahead of what anyone had managed on the meagre (even for the times) power of the [=PlayStation=] 1. You can read about many of the tricks they used in [[http://all-things-andy-gavin.com/2011/02/02/making-crash-bandicoot-part-1/ Andy Gavin's postmortem]] for the game.\\

to:

* Naughty Dog cut their teeth on the first ''[[VideoGame/CrashBandicoot1996 Crash Bandicoot]]''. They developed it as a [=PlayStation=] 1 exclusive, and when it came out out, it was so much better than anyone had ever managed to accomplish on the console that other developers cried foul, insisting that Naughty Dog had used secret libraries provided by Sony to them and them alone. The opposite was true: they used as little as possible of Sony's stuff, and essentially hacked as much of the game as possible to run as close to the hardware as they could make it, effectively developing their own development as they went. The result was ''way'' ahead of what anyone had managed on the meagre (even for the times) power of the [=PlayStation=] 1. You can read about many of the tricks they used in [[http://all-things-andy-gavin.com/2011/02/02/making-crash-bandicoot-part-1/ Andy Gavin's postmortem]] for the game.\\
8th Jul '17 12:28:08 PM ryanruff13
Is there an issue? Send a Message


* Famed ''Super Mario World'' player Masterjun found that the game environment itself can be used as a programming environment, in order to abuse the engine and end the game only a matter of minutes after starting it. By manipulating the environment -- that is, moving game objects like shells and powerups -- one is able to set a very specific string of numbers, which are executed by triggering a specific sequence of events and send the game program into arbitrary areas of memory -- such as the one that starts the endgame credits. The mechanics become obvious once they are [[https://www.youtube.com/watch?v=vAHXK2wut_I explained]] to a savvy user, but figuring it all out by sheer intuition without access to the source code takes a special sort of mindset. Also, it is possible to [[https://www.youtube.com/watch?v=hB6eY73sLV0 write and execute the source code to Flappy Bird]] ''within the game'', with no tools needed other than your controller. Granted it takes an hour of painstaking movements and one mistake means starting over, but you're effectively reprogramming memory without so much as an address editor.

to:

* Famed ''Super Mario World'' player Masterjun found that solely glitches could cause the game environment itself can ''itself'' to be used as a programming environment, in order environment. After utilizing a glitch to abuse the engine give Mario an invalid power-up state and end the game only a matter of minutes after starting it. By then manipulating the environment -- that is, (by moving game objects like shells and powerups -- powerups), one is able to set execute code that writes a very specific string of numbers, which are executed by triggering a specific sequence of events and send the game program numbers into arbitrary areas an unused portion of memory -- such as [=RAM=], and to use the one glitch to execute that starts the endgame credits. data. The mechanics become more obvious once they are [[https://www.youtube.com/watch?v=vAHXK2wut_I explained]] to a savvy user, but figuring it all out by sheer intuition without access to the source code takes a special sort of mindset. Also, it is possible to Through these glitches, with ''no'' external cheating devices or [=ROM=]-hacking devices whatsoever, Masterjun has been able to...
** ...
[[https://www.youtube.com/watch?v=14wqBA5Q1yc complete the game]] within ''minutes''.
** ...[[https://www.youtube.
com/watch?v=hB6eY73sLV0 write and execute the source code to Flappy Bird]] ''within the game'', with no tools needed other than your controller. Granted game''. Granted, it takes an hour of painstaking movements and one mistake means could mean starting over, but you're effectively reprogramming memory without so much as an address editor. editor.
** ...and create said [[https://www.youtube.com/watch?v=Ixu8tn__91E address editor]], which can be stored and loaded through a save file.
8th Jul '17 12:03:23 PM ryanruff13
Is there an issue? Send a Message


** The ''VideoGame/SpaceInvaders'' port [[SerialEscalation had it up to 39 player objects and four shots on the screen at once]], with no extra RAM or other special chips on the cartridge. It was doing things that the console literally shouldn't have been able to do.

to:

** The ''VideoGame/SpaceInvaders'' port [[SerialEscalation had it up to 39 player objects and four shots on the screen at once]], with no extra RAM or other special chips on the cartridge. It was doing things that the console literally shouldn't nobody ''ever'' would have dreamed of having been able to do.possible on the Atari 2600.
2nd Jul '17 12:45:58 PM nybiker1
Is there an issue? Send a Message


The Nintendo 64 version of the original Rogue Squadron also deserves a mention in that it contains over 80 minutes of high quality stereo sound and 40 minutes of voice acting on an N64 cartridge. This is due to that Factor 5 programmed their own sound drivers and advanced compression software to squeeze all that data into a 14MB ROM.

to:

The **The Nintendo 64 version of the original Rogue Squadron also deserves a mention in that it contains over 80 minutes of high quality stereo sound and 40 minutes of voice acting on an N64 cartridge. This is due to that Factor 5 programmed their own sound drivers and advanced compression software to squeeze all that data into a 14MB ROM.
29th Jun '17 10:29:42 AM hyphz
Is there an issue? Send a Message


* [[https://www.youtube.com/watch?v=sWblpsLZ-O8 A Mind Is Born]] is a demo that displays a pulsing screen of corrupt images while playing a techno-style tune lasting about 2 minutes. Why is that genius programming? The whole thing is '''256 bytes'''. That's not 256k, that's bytes - a quarter of a k. The entire code and data of the demo is shorter than ''this entry''.

to:

* [[https://www.youtube.com/watch?v=sWblpsLZ-O8 A Mind Is Born]] is a demo that displays a pulsing screen of corrupt images while playing a techno-style tune lasting about 2 minutes. Why is that genius programming? The whole thing is '''256 bytes'''. That's not 256k, that's 256 bytes - a quarter of a k. 1k. The entire code and data of the demo is shorter than ''this entry''.this description.
29th Jun '17 10:27:46 AM hyphz
Is there an issue? Send a Message


* [[https://www.youtube.com/watch?v=sWblpsLZ-O8 A Mind Is Born]] is a demo that displays a pulsing screen of corrupt images while playing a techno-style tune lasting about 2 minutes. Why is that genius programming? The whole thing is '''256 bytes'''. That's not 256k, that's bytes - a quarter of a k. The entire code demo is shorter than this entry.

to:

* [[https://www.youtube.com/watch?v=sWblpsLZ-O8 A Mind Is Born]] is a demo that displays a pulsing screen of corrupt images while playing a techno-style tune lasting about 2 minutes. Why is that genius programming? The whole thing is '''256 bytes'''. That's not 256k, that's bytes - a quarter of a k. The entire code and data of the demo is shorter than this entry.''this entry''.
29th Jun '17 10:27:19 AM hyphz
Is there an issue? Send a Message

Added DiffLines:

* [[https://www.youtube.com/watch?v=sWblpsLZ-O8 A Mind Is Born]] is a demo that displays a pulsing screen of corrupt images while playing a techno-style tune lasting about 2 minutes. Why is that genius programming? The whole thing is '''256 bytes'''. That's not 256k, that's bytes - a quarter of a k. The entire code demo is shorter than this entry.
This list shows the last 10 events of 454. Show all.
http://tvtropes.org/pmwiki/article_history.php?article=SugarWiki.GeniusProgramming