+Lloyd Mack The CPU is called "Central" because it is the center of where all processing occurs, but he used a funny way of interpreting how the words interact with each other to come to a different conclusion as to what they mean.
@@mrosskne ; glBegin/glEnd are deprecated OpenGL API functions introduced in 1.0, in 1992. In laymen's terms, you would push model data (specifically triangle vertices) in between the 'begin' and 'end' commands, one API call per-attribute. OpenGL would take this data and rasterize/draw it on the screen for you; ex. the Stanford Bunny model would require 200,000 API calls *per frame*. Since around OpenGL 2.0, you could instead load all this data ahead-of-time, and use 1 API call per frame to rasterize your loaded data. Anyway, some people still use it for hobby/fun projects. Since it's very straight-forward and easy. It will perform terribly on modern hardware though.
glBegin/glEnd are still useful to visualize 3d programming for beginners. But terrible on performance. Once you understand rasterization, z-depth, vertex math/linear algebra, etc; you can move onto things like GLSL, VBOs, etc
@@RasMatHam02 yeah. They don't get too public because they're worried they'll be shutdown because they don't follow blockbuster corp. policies, despite there likely not being one in existence anymore. Silly if you ask me
@@gavintantleff Ahh silly me. I actually meant to follow up on this comment because it turns out that this last blockbuster happens to be in a town that is less than an hour drive from me. The town is called Lincoln city. Small world lmao
My jaw dropped when it went into first person, I was expecting maybe a 3d sideview, Well done, absolutely astonishing! People like you make programming look like fine arts.
Hey Tom I just want to let you know that you are amazing and I love your work, your write up in Sigbovik 2016 for the fairness of snack re-ordering was a great read! I hope to see more videos from you soon!
I want you to know that I super appreciate that you make your source code available. I will be spending some time looking through some of it soon. The work you have done is pretty remarkable.
Its not real 3d. It used pallete and graphic tricks to give the illusion of the ground scrolling. The objects and enemies are just swapping sprites and swapping graphics to give the effect of moving closer.
You could try putting a setting in the emulator for the "view type", with presets and maybe an advanced/custom section to tweak some variables later down the road. * Type 0 (or: "Regular 2D") - Default view * Type I (or: "Quake Pro") - Use for top-down games like Zelda * Type II (or: "Hallway") - Use for side-view games like Super Mario Bros. * Type III (or: "Pop-out Book") - Use for games like Tetris to add a 3D pop-out effect This setting would require the user to manually set the ideal view, but would be simple enough for a user that doesn't understand it, to use it effectively.
This is fantastic. Really good job at all of this, and wow the explanation behind it... thanks so much. I've been meaning to write a 2d tiled game, and try and translate it to wolfenstein style graphics. This has helped so much!
Absolutely love everything about this and what you are doing. Can't wait to see how you progress and what else you come up with. Thank you for share this ;c)
This video has made me realize that we have plenty of "super" Marios but we still haven't decided what is the "supest" Mario and then that begs the question are there any low tier "supe" Mario's? This is a question only you can answer Tom!
You may run into difficulty in some of the warp-testing experiments with games that use "zip" type physics when you are within boundaries, such as Mega Man 1 and 2. Rather than stopping you from moving, the game engine will rapidly move your character in some direction or another until you no longer occupy those tiles. It might give some false positives about tile properties.
+Omnigamer Agreed. Very many games do this (though not necessarily as fast as MM). The idea is to test that the player is moving in accord with the controller, in the expected speed and direction. So far, ppu scroll and things like sub-pixel offsets have been the biggest obstacle here!
I originally felt like your humor is a bit too dry and hard for me to really appreciate, but I have to admit that I laughed heartily despite myself at the end. You've won me over and I hope to see more from you. Thanks for the video.
suckerpinch Okay! Lol it's good to know an old favorite is back, can you make another Auto-game players, but for newer games? It would be cool to try it!
Every time I see you upload a video I am truly excited. And like always I was shocked to see what you made in this video. Just WOW! Good job Tom! Keep up the awesome work!
0:10 I think the correct term would be melt, smelt implies the removal of large amounts of impurities like what happens with the production of iron from iron ore.
OMG, you demonstrates complicated concept really well. I wish professors in my school have half of your teaching ability. And really professional quick drawing
Cool unforeseen consequence, where the water is interpreted as a wall. It's an obstacle, yes, but not because it is physically in the way. Interesting.
Right, that's what caused a problem back when he was working on Learnfun/Playfun. The computer thought it was winning by jumping forward into a pit, since the value for the x position of Mario's sprite kept getting higher.
What about 'pretend 3d games', like Snake Rattle N Roll, Marble Madness or the likes? The walking almost behaves like zelda with a semi-top down fashion, but if you position the player sprite on a 'wall', it has gravity and falls.
Wow impressed as always, maybe when you automatically determine if it's a top down game or side scoller you can make the controls auto adjust, so up is always forwards. BTW that ending with the chopsticks had me laughing quite a lot.
+Jam man Agreed, it's actually really easy to remap the controls, but I was running out of time super bad on this one! So I was prioritizing work on the new stuff like the autocamera/tile detection. Glad you liked it :)
I'm always amazed by your videos, simplified science stuff coding stuff, known as bugs real life interpretation of games a good commentary Keep having fun, this is amazing !
You haven't made a video in a long time so I was so excited to see you posted a new one! Please continue to create more content I love your work and your humor! :D
Tom way IS good! My second time now watching this video, (and a couple others, marathon style:p) and I just have to acknowledge your genius! Great work, love your stuff!
No, people say Oot is "Zelder" than Legend of Zelda NES because it doesn't have nonsense puzzles where you're expected to use random items in arbitrary locations with genuinely no clues outside of a Nintendo Power, guidebook, or (nowadays) internet. Just because it was the first one doesn't make it an excellent timeless classic
It would be good to add custom settings per game. Then you could define each sprite type (not detect it using your algorithm (very cool BTW!)) and add extra attributes (height for example) for cool customization. But custom cameras is what I think would be handy. For example, in your Mario 3D view, you are looking from the first person perspective, but a 3D view from the side might be better. You can have more than one camera option per game. Very sleek project.
I know it's a few years old now, but the 'move the player around the screen and see whether they can move' part makes me wonder how this sort of emulator could cope with games where anything outside the normal playing field isn't solid. For example, in the Mario & Luigi series, you can walk through any object or wall you're not meant to reach in normal gameplay, since anything you can't touch normally doesn't have collision detection. Same likely goes with quite a few top down view games too. Would that make it difficult to get something like this working for those titles?
I just accidentally not watched this whole video because I saved it on a tab to watch after I finished programming something. And the tab started the video without me knowing.
Great work! I was wondering when someone would tackle a tile based 3D-ification for emulators. In my dream world there would be sprite to 3D model replacement akin to HD texture packs. Also any concept how you will deal with mode 7 games? It would also be interesting to see the merge of your character movement testing with the other 3D conversion emulators which appear to be using 2D to 3D upscale similar to that built into projectors and PowerDVD. Those methods seem to have trouble with foreground and background sprites covering the player in return they do seem to provide rounded edges on characters and some semblance of 3D aside from cubes with sprites.
Whow... with just a 1/10000th of your drive, I would probably be able to offset my debilitating depression.... O.O ... whow... all these videos.... so much effort.... I don't get it.... T-T
I had a smile when you changed Mario's glasses to red and blue:D Nice one:) EDIT: I was wondering wich software do you use to draw and copy paste so fast? It seems amazing.
The footage is sped up my guy. He's not drawing in real time. He's reading a script over sped up footage - i genuinely dont know how you could confuse that for real time, the lines are clearly handmade but too fast to be hands, therefore it's clearly sped up
"And like all central procesing units, this thing processes centers."
Comedy gold.
+Diego Carnaval that went so far over my head
「Alas, the UI is perpetually out of reach... like a metaphor for life itself.」
This too.
+Lloyd Mack The CPU is called "Central" because it is the center of where all processing occurs, but he used a funny way of interpreting how the words interact with each other to come to a different conclusion as to what they mean.
"This is StuG, it StuGs
This whole video is full of more gold than a nes zelda cart
I looked in the source code, and sure enough, you're using the dreaded glBegin/glEnd. Hilarious video and paper nonetheless.
+Ciggbit I would never betray an excellent pun.
I just wanted to write that nobody does that anymore, sure enough, he does :D
what do those do?
@@mrosskne ; glBegin/glEnd are deprecated OpenGL API functions introduced in 1.0, in 1992. In laymen's terms, you would push model data (specifically triangle vertices) in between the 'begin' and 'end' commands, one API call per-attribute. OpenGL would take this data and rasterize/draw it on the screen for you; ex. the Stanford Bunny model would require 200,000 API calls *per frame*. Since around OpenGL 2.0, you could instead load all this data ahead-of-time, and use 1 API call per frame to rasterize your loaded data.
Anyway, some people still use it for hobby/fun projects. Since it's very straight-forward and easy. It will perform terribly on modern hardware though.
glBegin/glEnd are still useful to visualize 3d programming for beginners. But terrible on performance. Once you understand rasterization, z-depth, vertex math/linear algebra, etc; you can move onto things like GLSL, VBOs, etc
Plot twist: due to interest and stock market fluctuations, you now owe around $45,000 to Blockbuster
lxjoe96 I thought Blockbuster went out of business
@@yellingyellow5209 Isn't that one private?
@@RasMatHam02 yeah. They don't get too public because they're worried they'll be shutdown because they don't follow blockbuster corp. policies, despite there likely not being one in existence anymore. Silly if you ask me
Xavier Uribe he means private as in stock market
@@gavintantleff Ahh silly me. I actually meant to follow up on this comment because it turns out that this last blockbuster happens to be in a town that is less than an hour drive from me. The town is called Lincoln city. Small world lmao
My jaw dropped when it went into first person, I was expecting maybe a 3d sideview, Well done, absolutely astonishing!
People like you make programming look like fine arts.
+TheGamingOnion Oh thank you :)
The sword at the brick wall got me
"which processes centers" that got a giggle out of me
Hey Tom I just want to let you know that you are amazing and I love your work, your write up in Sigbovik 2016 for the fairness of snack re-ordering was a great read! I hope to see more videos from you soon!
+DrMantisToboggan Thank you! :) I hope to find time to make lots more videos.
@@tom7 Just a side note: 3d tetris games actually exist.
apply this to street fighter 2 or street fighter 3 3rd strike and you've got a interesting port that will sell very well on ps4
The 3D Tetris is actually existentially terrifying.
Do a racing game. Mazes look too claustrophobic. It's amazing btw!
Even though it's a joke thing, I found it interesting to hear how you did it. Looking forward to more videos.
This channel is pure scientific and comedy gold. Awesome work!
I want you to know that I super appreciate that you make your source code available. I will be spending some time looking through some of it soon. The work you have done is pretty remarkable.
+Terra Hyde Thanks! The code is a terrible mess due to deadlines, sorry about that :)
Great video! I hope your sick Bovick got better. I have no idea what a Bovick, but the little guy sounds important to you.
You manage to cover 2 of my favourite topics so well, retro gaming and programming. Always look forward to your videos!
The fact that you tortured yourself by using the earliest version of OpenGL just as part of the joke...
How would this program run 3d world runner?
Perfection.
Play it with the 3D mode on with the glasses and with it in 3D.
Is this 3D or 4D or 6D?
would be 9d^2 as that is 3d*3d
Its not real 3d. It used pallete and graphic tricks to give the illusion of the ground scrolling. The objects and enemies are just swapping sprites and swapping graphics to give the effect of moving closer.
ConnorM we all knew this
I really appreciate how you recolored the clouds as bushes.
I've been checking you channel one a week for the last two years. thanks for the new video
+HazardCrossbones you know you could just subscribe
+Raatomieli well I did that but you can't trust youtubes sub box
+HazardCrossbones Have it send an email to you? I have like 300 subs and I get emailed for the most important ones.
+HazardCrossbones Thanks for your enthusiasm! :)
+HazardCrossbones +raumaan kidwai same.
You could try putting a setting in the emulator for the "view type", with presets and maybe an advanced/custom section to tweak some variables later down the road.
* Type 0 (or: "Regular 2D") - Default view
* Type I (or: "Quake Pro") - Use for top-down games like Zelda
* Type II (or: "Hallway") - Use for side-view games like Super Mario Bros.
* Type III (or: "Pop-out Book") - Use for games like Tetris to add a 3D pop-out effect
This setting would require the user to manually set the ideal view, but would be simple enough for a user that doesn't understand it, to use it effectively.
he's trying to make it completely auto
You sir, are amazing
+Edwardify (3dwardify) Thanks! (:
+suckerpinch no problem !!!!!
Nice 3Dification of that username!
Nice callback! "The only way to win is not to play." 9:21
This is fantastic. Really good job at all of this, and wow the explanation behind it... thanks so much. I've been meaning to write a 2d tiled game, and try and translate it to wolfenstein style graphics. This has helped so much!
This... is... BADASS! Not only is the tech cool and ingenious but I was glued to the whole presentation. Props! Excellent work!
+Tyler Kellogg Thanks Tyler! :)
Well, The SNES used a technology called 'Mode 7' That was used to make a Semi 3D Platform, like F-Zero and Star Fox.
Yeah "mode 7" is a 2D-projection to make a floor. Pretty genius idea.
@Natty Fatty Powerlifting Yeah, the Super FX Chip.
'The most Zeldist' is the bestest superlative imaginable for a game ... in any number of dimensions.
Brilliant. Your channel has stopped me in my tracks. Your deconstructions and explanations of Nintendo hardware are blowing my mind.
Your reenactments of bugs continues to get me. (every. Single. Time. Lol.)
Absolutely love everything about this and what you are doing. Can't wait to see how you progress and what else you come up with. Thank you for share this ;c)
This video has made me realize that we have plenty of "super" Marios but we still haven't decided what is the "supest" Mario and then that begs the question are there any low tier "supe" Mario's? This is a question only you can answer Tom!
You may run into difficulty in some of the warp-testing experiments with games that use "zip" type physics when you are within boundaries, such as Mega Man 1 and 2. Rather than stopping you from moving, the game engine will rapidly move your character in some direction or another until you no longer occupy those tiles. It might give some false positives about tile properties.
+Omnigamer Agreed. Very many games do this (though not necessarily as fast as MM). The idea is to test that the player is moving in accord with the controller, in the expected speed and direction. So far, ppu scroll and things like sub-pixel offsets have been the biggest obstacle here!
"wolfNEStein 3d" -> genuine laugh
I originally felt like your humor is a bit too dry and hard for me to really appreciate, but I have to admit that I laughed heartily despite myself at the end. You've won me over and I hope to see more from you. Thanks for the video.
+Campo C Ha, thanks for telling me that. :)
Wow u uploaded
+Daniel Vereshagin (Experience) Never give up hope!
+suckerpinch does this mean I can expect more in a short amount of time?
suckerpinch Okay! Lol it's good to know an old favorite is back, can you make another Auto-game players, but for newer games? It would be cool to try it!
Lots more to do on the NES first!
suckerpinch Alright! Maybe try having games like geometry dash would be good
Every time I see you upload a video I am truly excited. And like always I was shocked to see what you made in this video.
Just WOW! Good job Tom!
Keep up the awesome work!
+MatanRad Thanks for the encouragement! :)
0:10 I think the correct term would be melt, smelt implies the removal of large amounts of impurities like what happens with the production of iron from iron ore.
I was sure you'd use raycasting but as ever you impress with me something even more ridiculous. Good work, Tom
I love how your April Fools jokes are real programs. You're one of the only people on the internet I can trust during April Fools.
How about Wolfenstein 2D?
I love how much fun you have with this stuff! I just wish I had your skills in the code.
+TriliconWarrior There are lots of boring and painful parts too, I just don't show those! Glad you liked it :)
"Alas, the user interface is perpetually out of reach. It's a metaphor for life." fucking comedy gold
Great job! Nice explanation / overview of pattern tables and NES graphics :)
You're awesome!
But I wanted to see Wolfenstein 3D² :p
Oh you're THAT guy! I did an album in a day once. It was a fun time. Glad to see you're still making so many different things. This is very clever.
The concept of your work is absolutely fantastic 😂😂😂
OMG, you demonstrates complicated concept really well.
I wish professors in my school have half of your teaching ability.
And really professional quick drawing
Aw thanks :)
Cool unforeseen consequence, where the water is interpreted as a wall. It's an obstacle, yes, but not because it is physically in the way. Interesting.
But what about watching playfun in 3d?
Interesting that when Mario dies and falls down, he keeps falling for ages, long after he's off the screen
Right, that's what caused a problem back when he was working on Learnfun/Playfun. The computer thought it was winning by jumping forward into a pit, since the value for the x position of Mario's sprite kept getting higher.
What about 'pretend 3d games', like Snake Rattle N Roll, Marble Madness or the likes? The walking almost behaves like zelda with a semi-top down fashion, but if you position the player sprite on a 'wall', it has gravity and falls.
+amante pensanta Yes, these do not work so well :) I did in fact try Marble Madness, but that game only got weirder.
8:20 That face is timeless
daaaaaaam
so hyped to know what will be the result when you'll use theses techniques in your AI
This is awesome! A dream come true, man. I really hope this will be available for both windows and Mac, using wine is impossible
I think the main reason I watch your videos is because your voice is so calming. I don't even understand half the stuff you say.
+vincent mcabee Hehe thanks. :)
Wow impressed as always, maybe when you automatically determine if it's a top down game or side scoller you can make the controls auto adjust, so up is always forwards. BTW that ending with the chopsticks had me laughing quite a lot.
+Jam man Agreed, it's actually really easy to remap the controls, but I was running out of time super bad on this one! So I was prioritizing work on the new stuff like the autocamera/tile detection. Glad you liked it :)
You have nice hand writing in MSpaint, and the pictures were pretty decent too
Dude, your work is fucking amazing. And on top of that you manage to make it funny. Keep it up.
+Santiago Requena Thank you for saying so! :)
I'm always amazed by your videos,
simplified science stuff
coding stuff, known as bugs
real life interpretation of games
a good commentary
Keep having fun, this is amazing !
+SaigneurGuerrier Thank you very much (:
You haven't made a video in a long time so I was so excited to see you posted a new one! Please continue to create more content I love your work and your humor! :D
This is awesome! I'd love to see more of this. And I'm glad to hear more NES AI stuff is on the way too.
+Sporkaganza Thank you! :)
Tom way IS good!
My second time now watching this video, (and a couple others, marathon style:p) and I just have to acknowledge your genius!
Great work, love your stuff!
Thank you Mikoro! (:
No, people say Oot is "Zelder" than Legend of Zelda NES because it doesn't have nonsense puzzles where you're expected to use random items in arbitrary locations with genuinely no clues outside of a Nintendo Power, guidebook, or (nowadays) internet.
Just because it was the first one doesn't make it an excellent timeless classic
I think that's the best outro I've seen to-date
Your content is amazing, but it must take you ages to get done, so when I recieve a notification of your new video, I am glad I had waited.
It would be good to add custom settings per game. Then you could define each sprite type (not detect it using your algorithm (very cool BTW!)) and add extra attributes (height for example) for cool customization. But custom cameras is what I think would be handy. For example, in your Mario 3D view, you are looking from the first person perspective, but a 3D view from the side might be better. You can have more than one camera option per game. Very sleek project.
I know it's a few years old now, but the 'move the player around the screen and see whether they can move' part makes me wonder how this sort of emulator could cope with games where anything outside the normal playing field isn't solid. For example, in the Mario & Luigi series, you can walk through any object or wall you're not meant to reach in normal gameplay, since anything you can't touch normally doesn't have collision detection. Same likely goes with quite a few top down view games too.
Would that make it difficult to get something like this working for those titles?
This is great... how comes I get this recommended just today?
It might be called "Object Attribute Memory" because its used for storing information more generally rather than storing it in a table format.
It's been 2 years since I watched this video and it's just as entertaining as it was the first time!
Thanks :)
WHY DO YOU ONLY UPLOAD ONCE A YEAR?
I need more NES AI learnfun and playfun videos pls
This project is top notch stuff. Even without a day job, this should take months to do.
"Without any labor" the lie I tell myself anytime I automate anything lolol
What in the world?! I barely care about/understand any of this and I watched the whole thing. You are delightful.
+alongFTW Thanks for letting me use up your time! :)
Lol visiting your website today is really funny
man you are always mak8ng rad stuff for sig bovic. whatever happened to learnfun and playfun?
Still working on those, and some other simultaneous NES hacks! Thanks for your enthusiasm :)
out of all the games they made, they never just did THIS, it's all I wanted, thanks.
I really want to know what this does to elite
Your videos are among the best I've every seen. Excellent work!
Favorite new fountain of comedy and breaking stuff for the sake of good. So intrigued. Thank you for your gifts to humaninty
Although i have no idea what you say most of the time, the videos you make are still really funny, keep it up dude you make really interesting videos.
LOL loved the dramatization clips! sword throwing never looked more awesome
Now how did you get into my subscriptions... (checks videos) ooooh right, that Star Wars alphabet, bloody hell...
You're a madman. Keep up the good work.
I just accidentally not watched this whole video because I saved it on a tab to watch after I finished programming something. And the tab started the video without me knowing.
I subscribed after the first AI video and have to say I had to look at your channel first before remembering who you are. But I love your projects! :D
+TheUndeadLeech Surprise, it's-a me!
Great work! I was wondering when someone would tackle a tile based 3D-ification for emulators. In my dream world there would be sprite to 3D model replacement akin to HD texture packs. Also any concept how you will deal with mode 7 games? It would also be interesting to see the merge of your character movement testing with the other 3D conversion emulators which appear to be using 2D to 3D upscale similar to that built into projectors and PowerDVD. Those methods seem to have trouble with foreground and background sprites covering the player in return they do seem to provide rounded edges on characters and some semblance of 3D aside from cubes with sprites.
See also: 3DSEN
i fount your channel a few months back. when i fount your learnfun and playfun video i loved your channel. keep up the good work.
I think the Philips CDi Zelda games need to be 3D.. that would make them GREAT. 😜
Whow... with just a 1/10000th of your drive, I would probably be able to offset my debilitating depression.... O.O ... whow...
all these videos.... so much effort.... I don't get it.... T-T
YOURE BACK! Today truly is a day to celebrate
Clever way to deduce the function of certain memory locations!
this is amazing, great idea, a lot of work... I hope you will accomplish your dream(/)project. Good day, sir.
Mass probs to your various great skills. "You never walk alone" i'm singing right now.
I'm 4 years late but this video is AWESOME.
Tip: try to look into the camera a bit more man :)
+Thermometer10 I bet he's looking at himself on a screen.
+Thermometer10 I agree with you
Idk. It can seem a little too intense when someone stares at the camera too much.
Hey buddy my eyes are UP HERE.
He's reading the script.
I'm so happy when you upload! Such good content.
+Vel0city Aw, thanks for the encouragement! :)
+suckerpinch I've learned so much from reading your code/papers as well, so thank *you* :D
This man is my role model. He is one possible future of myself.
That handwriting makes me hate myself.
I had a smile when you changed Mario's glasses to red and blue:D Nice one:)
EDIT: I was wondering wich software do you use to draw and copy paste so fast? It seems amazing.
The footage is sped up my guy. He's not drawing in real time. He's reading a script over sped up footage - i genuinely dont know how you could confuse that for real time, the lines are clearly handmade but too fast to be hands, therefore it's clearly sped up
if this isn't an April fools day prank this is amazing man!
+Gaming Jay It's both April Fools AND real! :)
i would never have thought this would be possible