Explanation how I made 3D platformer in Scratch from 3D rendering , game design to performance issues.
➤ Crystal seeker: scratch.mit.edu/projects/4635...
➤ Faster: turbowarp.org/463553665
➤ Description:
🔍 Explore the incredible journey behind the creation of Crystal Seeker, a groundbreaking 3D platformer crafted from scratch in the limitations of the 2D game engine. Witness the challenges, triumphs, and unique solutions that make this game stand out in the world of game development.
➤ Timestamps:
0:00 - Introduction
🌟 Discover why Crystal Seeker is more than just a generic 3D platformer. Delve into the unique challenges faced when building a 3D game in Scratch, a 2D game engine.
3:03 - 3D Basics
🤔 Uncover the complexities of implementing 3D in Scratch, from projection matrices to the laws governing 3D rendering. Learn the secrets behind creating a 3D experience in a 2D environment.
6:40 - Models
🎨 Dive into the intricacies of translating manually written cubes into a 3D model. Explore the challenges of using .obj files in Scratch and witness the dedication required to bring 3D models to life.
7:49 - Physics
⚙️ Experience the journey of overcoming challenges in physics and collision detection. Learn how a chance discovery in a C++ book led to a breakthrough in creating efficient collision systems for Crystal Seeker.
9:46 - Inside the Game
🕹️ Gain insights into the game design process and the meticulous optimization required for performance. Uncover the use of the Painter's Algorithm to address CPU rendering limitations in Scratch.
15:30 - Gameplay
🏆 Explore the simplicity and charm of the gameplay, focusing on the unique aspect of Crystal Seeker designed for speedrunning. Witness how seemingly limited movements become the foundation for an engaging speedrunning experience.
17:28- Boss Battles
👾 Meet the bosses - Dull Bull, Tech Mech, and Slog Frog. Learn about their simple yet strategic mechanics and discover the role they play in adding variety to the game.
19:06 - Things I Would Change
🔄 Reflect on the project's weaknesses.
🔔 Subscribe for more game development insights and stay connected for future projects!
➤ Credits:
Music
Kevin MacLeod (incompetech.com)
• "Adventure meme" • "Investigations" • "Jaunty Gumption" • "Magic Escape Room" • "No Good Layabout",
• "One Sly Move" • "Padnaya Blokov" • "Seven March" • "Spy Glass" • "Tiny Fugue" •"Townie Loop", • "Tyrant"
Licensed under Creative Commons: By Attribution 4.0 License
creativecommons.org/licenses/b...
• Vivaldi Four Seasons -...
CC BY-SA 1.0 DEED
Intro
/ @shiftclicklearn • Top 10 Scratch 3D Games!
/ @zonxscratch • Top 5 KILLER 3D Scratc...
/ @denshi • The Most Impressive Sc...
/ @thesteamist • TOP 10 Scratch Games 🎮...
C++
/ @thebennybox • #0 3D Game Engine Tuto...
/ @pardcode • C++ 3D Game Tutorial 2...
/ @javidx9 • Code-It-Yourself! 3D G...
/ @jdh • Programming a first pe...
Bob ross:
/ @bobross_thejoyofpainting • Bob Ross - Distant Hil...
Wall of China
en.wikipedia.org/wiki/Great_W...
As someone who has done speedruns of crystal seeker, its really cool that the game was designed with speedrunning in mind. I was actually the first person to "discover" the axe climbing at 17:00, so it was crazy to see it was intended all along. It was really fun to run the game, I should really go back to it sometime, maybe try to get the Any% record
inice bro story
@@crazychicken8290☠️
he is not your bro
@@Ningumkkkmaybe he is
@@Illager_Fries_Gaming k
The person who said this is not impressive doesn't know what they are talking about. This "generic platformer" is better than anything I could make in my 2 years of using unity because like you said it has a soul. In my opinion you have something truly special here. Hats off to you 👑
It was designed for speedrunning, and there's a lot of movement tech utilizing knockback to get you through faster. It ain’t much compared to, say, SM65 or Crash Bandicoot, but not only are those some of the best of the best (especially at the time), but they were made on platforms designed for 3D stuff, while this was made on Scratch
Yeah I don't know what the hell that guy from the beginning's problem is. It is INFINITELY more impressive if you somehow make a 3D game in an engine meant for 2D games, rather than obviously using a 3D game engine (Unity for example) to make a 3D game
@@BoiGamer124 Not only that the game is actually fun and played by many and not just a 3D tech demo
@@OhCrapI_He Doing stuff the normal way is just never as cool. It's like making tetris vs making tetris on a redstone computer.
I think he trie creating a game that look as 3d crystal run but he failed
Scratch over Unity
hell yeah
This is the first comment
Unity is Temporary Scratch Is Eternal
scratch
@@user-tq8on6by4u nothing is eternal
Bruh, you made an entire graphics engine, and then created a game on top of it! This is super impressive! And the fact you made it in scratch, means you probably had to optimize the heck out of it! I am super impressed! Well done dude! I personally don't normally watch ScratchTubers, but you are an exeption! I subscribed, and turned on the bell! And left a like! I want to see more content! Keep it up man!
Saying that this is just as impresive as making a 3D engine in C++ is like saying that athleths running is just as impresive as driving a car.
i made 3d engines in scratch its not that hard but it is still impresive
@@fugusamdifficulty is subjective :3
@@skmgeek In truth programming a 3D Engine isnt that hard when you grasp the fundamentals. A solid understanding of anything makes doing it easy.
@@linhero797thats what he meant
I still remember when I first played this 2 years ago and wondered how the hell it's so smooth IN SCRATCH
Your game has a cool retro vibe to it and the level design is fun, setting aside the limitations. I remember that the games/prototypes I feel most proud of, are the ones that are not as graphically impressive but the ones in which I learned more and had to do more hard work coding.
Been watching all your videos, really like the quality of the videos, you put in so much effort and there’s so much quality! Love it!
This is amazing. Probably the coolest project on scratch. I had in fact played the game before, but I didn't know it was yours. Good work.
Imagine calling something "meh" because what a single person did isn't more impressive than Unity, a program that has been developing for almost twenty years by hundreds of employees.
You should consider making an expanded version with a real 3d engine such as Godot, because this kind of lovely retro game is something I'd pay for on Steam.
This project is so crazy. Keep making more of these things!
Wow, great video! This explanation makes your game even more impressive
I had never heard of this game before watching this, and my previous experiences with '3d' scratch weren't very impressive, so i went into this video thinking this was just another half baked 3d platformer game, but no. You dominated all competition. I was genuinely blown away when i saw some gameplay of this. Good job mate
Amazing, cant wait for the sequel :]
the engine, and the game itself even are both incredible, i feel like it would be interesting to see what other people could do with your "engine", since you've put so much work into it, there is a lot of potential for 3D scratch games made with this.
This game is legendary! This is the kind of stuff I could only dream of doing in Scratch back in the day haha
whoever voiced PratixYT needs to go to hollywood, the accent, the deep voice, the menacing tone, everything is just immaculate. i guess the rest of the video is cool too.
I've thought for a long time that this is the most impressive game on scratch, huge props man!
I still can't believe this yt channel exists, you're like... my idol. Crystal seeker is one of the best online games I have ever played, The fact that it exists is actually mind-blowing. For the sequel, I wonder if you could find a way to make 3d enemies without affecting performance. I cannot wait for you to talk about the tower defence!
This video was the best scratch video I have ever watched. I liked the game because it had the n64/ps1 atmosphere.
you are an absolute legend I had always wondered who made that game and _how_ very insightful video!!
props for both making the game and being a goated editor
I really like that you can see the triangles. As texture mapping would certainly be way too hard, it is a good way to bring some detail into the render.
This is a great video! I've always wanted to make a 3d game in scratch, and this was very interesting. I don't think I have to mental capacity to do that though. Anyways, I loved your game, and your video! It was very funny.
I have been using scratch for at least 5 years now, and still could never make anything as cool as this. This Is Amazing!
You inspired me to create my own 3D engine in scratch, thanks for that. Could you please do a tutorial on the topic of z-clipping?
Find codingbio tutorials
Thank you
is codingbio also on KZhead or just on scratch?
@@daniloarndt3597 scratch only
I looked at the z-clipping tutorial from codingbio. The algorithm in the tutorial clips the triangles in 2 dimensions. I have now made my own z-clipping algorithm that clips the triangles in 3 dimensions. I hope my algorithm is not weaker. Or should I rather use a 2D clipping algorithm?
YOU MADE CYTSTLA WAAAAA ( very excited ) i love this game thank you for making this :3
That speedrunning segment blew my mind, holy crap
Thx for making a video about it (the game is realy good for secretly playing it at school)
Brilliant :) Reminds me of trying to make 3D games in Game Maker back in the day, that's what lead me to learn C++ instead XD
Awesome video as always :)
This remembers me to Spu7nix, who made a whole physics engine in Geometry Dash just to make a level. Congrats btw
If something has an editor, there will be a Spu7nix of that thing to completely push the limits. This guy is the Spu7nix of Scratch.
Update: not only did he just make a physics engine, but he also made a 3D LEVEL using it (don't forget it is a 2D game) literally called "WHAT". He also made a programming language inside Geometry Dash (Spwn), and hosted the biggest collaboration to make a level (around 14.000 participants) called "Place" that worked like the r/place subreddit. Just search it, it's amazing.
Played this in school a few years ago before they blocked scratch, love every bit of it
Bruh wtf schools block scratch???
@@anname7373that's it, I'm calling 911.
Actually they don't because it is technically educational. Idk what school this guy goes to but unlucky!@@anname7373
Idk, maybe he should try playing it at home@@anname7373
worst school ever
your video series is a beacon of knowledge!
You not not only made an 3D game in scratch YOU MADE AN EDITOR IN SCRATCH AND A ENTIRE 3D ENGINE THAT IS EXTREMELY IMPRESSIVE
Really cool to learn how this game was made
I can't imagine what this man can do with an actual 3D game engine
See that's what I always say. Giving yourself restrictions and pushing your limits makes you far better than those who stayed in their comfort zone.
@@stickguy9109 I agree, in this case he also undesrstood some of the core principles of 3D rendering
@@aless.c064 Which is very helpful when you are writing shaders
@@stickguy9109 A friend of mine is into shaders
he added 1 to 2d, so will he had 1 to 3d and make 4d?
This 3D engine reminds me of the doom one (IDtech) a Lot, Very Nice work
this is so impressive
I'm currently making 4D engine on Scratch, and I understand the pain you got when develop Crystal Seeker
Incredible!
Wow great video :)
This is crazy absolutely crazy
Nice quality +1 subscriber
You need to be recognized for this
we found ourselves Dani 2, good job this is impressive btw so much work :0
bro you deserve more subscribers man,
You are 100% one of the best scratch creators of all time, not only did you make a 3D game on scratch, but you made it a good game at that! 🤩
I made a game tutorial for the engine
On the account thank you for 40 subs 2.0 is we're the tutorial is at
Amazing video!
Thanks!
as someone who coded a 3d rendering "engine" in pygame i cant imagine the effort to make this from scratch
I really enjoyed this.
wow this is very impressive!
Whoa whoa that's very VERY COOL
I just played it and all I have to say is "Wow" and "How is it widescreen"
OHHH YES, I WAITED SO LONG
This is making me mind blowing
This is a great video!
"Z buffering vs Painter's algorithm." I was working awhile back on something 3D and this was really a problem. I ended up going down a huge rabbithole trying to figure out how to correctly segment triangles analytically.
there is also method called BSP, which is same painter's algorithm but it splits triangles that way you never have errors, at it doesn't have to sort triangles , make it much faster , with condition that triangles aren't moving (like in doom game). But it's EXTREMELY hard to make.
3:22 You mention here about a complex formula, but a formula I would use is for horizontal projection: x * (focal length / z) for vertical projection: y * (focal length / z) USE SIMILAR TRIANGLES TO FIND THE FORMULA, NOT A MATRIX Plus, it's a lot less hardware intensive also that formula at 3:51 works too
isnt that basically the same formula
@@iylun270 yes
Well done
Subscribed for the sequel!
Not even 10k Subs?! You deserve a million
its incredible how scratch can run this much math and maintain a smooth framerate
this game is awesome and the video is really funny too!!
This was helpful
Wow...❤
You've a very wonderful mind. Compliments.
Very Nice video!
i very like your video all of them 👍
I watched this during coding class and I'm pretty sure I learned more about scratch while watching this than I would listening to the teacher. this video was epic
You made it!!
Really neat
this is so cool
Very interesting!
I have nothing meaningful to add, but this is some crazy stuff
This reminds me - someone is attempting to make SM64 in Scratch! This is one of their inspirations i think
This was such an an informative video on advanced scratch programming. I was wondering if you planned on making a video like this for your other game vectoid? I don't know if you think there's anything new worth discussing from it, but i would love to hear the ins and outs of how you made that game work. Going through its code has really inspired me and made me start considering transitioning my game from clones to pen rendering, but I still think I lack a fundamental understanding of how a pen-game like that is put together.
There's still a lot to be said for vectoid because vectoid have much better game design, and it isn't slow even on vanilla Scratch(expect if there are many turrets and enemies at once).
I remember first playing this and thinking how on earth did this guy make it
Amazing work! A few things, the reason painters algorithm is not used in modern games is not because of triangle clipping(thats a solved problem) its because the algorithm becomes much slower than a depth buffer check as you add more triangles. Also a modern CPU has more than enough power to drive decent 3D graphics by itself, your main problem is scratch itself (or more so javascript and then scratch). Still amazing work as scratch really is not made for the shear amount of low level calculations you had to do.
17:43 That took me quite some time to finish, a lot of which was me thinking that maybe the fences had some hidden health bar so him ramming me near one enough times would break it, which I was kind of right, except two things, firstly him doing a normal ram wasn't enough, and secondly the health bar was not in fact hidden.
So what you think of it overall. I already know how to beat it immediately because I made, so it is hard to imagine how others react. Personally I would like it, because it isn't that hard to beat, but you need to figure out how to beat it which can be fun
@@ggenije Frustrating pain in the butt. It's very impressive that it's 3d though!
thanks you helped me with the 3d matrix! I used 3 hours
I feel like scratch is evolving like real video gaming did. We went from simple paddle games to this
wow that is so cool
I subscribed you im playng your 3d platformer right now
I just saw this video and ive been playing crystal seeker for almost a year
You can't call Unity game developers gods for any of this, they didn't make an entire graphics library/engine.
Bro insane.
A tutorial would be sweet, maybe a base project to remix where you can adapt levels and models. Like designed for people to remix with comments on what does what and explanations.
it's crazy to think that Scratch went from a simple educational tool to teach children coding to producing online MMOs, first person shooters and a full blown 3D platformer
Bruh this guy deserves more subs
PratixYT's speech has the same energy as "an a press is an a press. You can't say it's only a half".
I have messed around a ton with Scratch (for around 7-8 years, so literally around half my life) and I have NEVER, not once, seen anything even remotely as impressive as Crystal Seeker. People who haven't used Scratch have no clue how hard something like this is.
Oh wowser! I played this game.
ALSO, holy cow, insightful and interesting coding content from someone who isn't as stiff as a board or doesn't appear to have their head permanently buried somewhere dark and stinky... Even if you only post every other month, I'm here for it. Teach me, Senior Scratch Programmer. :P
i've been searching for so long for videos like these! how did you learn all of this? you touched on it in the video, and i was wondering how you learnt all of this and possible could you point me towards some tutorials? i've always tried breaking scratch's limitations, and making a a3d game has always been an ambition of mine! god bless!
scratch.mit.edu/studios/32152322/ Also I have a lot of gamedev experience
Just gotta learn all the math needed for making a 3d engine and you could probably make one in any coding language you want
You should make a series about making 3d platformers!
There might be a way of figuring this out in scratch but raymarching might help performance since you're technically only calculating 2 triangles💜
Brilliant
they way that 3d models are rendered is exactly the same as when i tried making osu!taiko in scratch: its divided into subsections, general data, metadata, storyboards, hitobjects, timing points, BPM points, slider velocity and so on, to make the project not run at the speed of a snail walking the great wall of china, i combined the songs into a single line, spent 5 seconds decoding it into a list, separate it into 8 different lists to get all of the data in seperate times, and made one sprite run the entire game excluding menus. this took me 6 months to figure out...(yes i did ask spiritsk for help)