Spritestacks - Pygame Tutorial

  Рет қаралды 24,054

DaFluffyPotato

DaFluffyPotato

Күн бұрын

Spritestacking is a simple technique for making layers of 2D artwork appear 3D! Spritestacking is quite easy to implement in Pygame, but any scalable implementations will probably require that you implement caching.
Tutorial Reference Code:
dafluffypotato...
Grass Tutorial:
• I simulated 40K blades...
Centered Rotations Tutorial:
• Centering Images & Cle...
Patreon:
/ dafluffypotato
My Discord:
/ discord
Potato Tier Patrons:
Agent Effe
Eivind Teig
fatcake
RyDawgE
Sam Cork
GaryTMSFruitcake
Dale Topley
Jb mandri
tbf135
#python #pygame #gamedev

Пікірлер: 57
@DaFluffyPotato
@DaFluffyPotato Жыл бұрын
accidentally recorded with my gain too high. oops.
@justinkim5692
@justinkim5692 3 ай бұрын
The audio actually sounds better
@eboatwright_
@eboatwright_ Жыл бұрын
This effect never gets old! It's so charming
@onebigsnowball
@onebigsnowball Жыл бұрын
bruh you again
@eboatwright_
@eboatwright_ Жыл бұрын
@@onebigsnowball 😳
@solstice_enigma
@solstice_enigma Жыл бұрын
That is a super neat and simple little trick! I guess the hardest part of all of this is just making everything consistent.
@maybe_tankerguy05
@maybe_tankerguy05 Жыл бұрын
This is a pretty cool effect. When I get to a point where I am able to make my dream project, I might add in spritestacking to give it a bit more of a unique look than a standard, 2d top down game.
@matheus5806
@matheus5806 Жыл бұрын
Nice to see you exploring other genres. I really liked the aesthetics in this video, good shit
@sbd2639
@sbd2639 Жыл бұрын
I tried to make a car racing game before and used a free asset from itch but didn't realize the asset was meant to be used as spritestacks and just took the upper layer of the car and added rotation to make it turn which ended up looking very bad. I gave it a try after watching this video and sure enough, it looks 100x better :)
@Dailyfiver
@Dailyfiver Жыл бұрын
Duuuuude this is amazing! I never knew what it was called but I accidentally did a lower form of this for my first game ever! We also had drawn all the maps with regular flat “brightness” and then added a “shadows” layer over top of the entire game so that the shadows looked like they covered moving objects dynamically lol.
@PaulHindt
@PaulHindt Жыл бұрын
Your racing game reminds me of Codemasters' NES racing game called "Micro Machines", based on the toy cars from the 1990s of the same name. Have you ever seen that game? They rotate the car sprites in a way that looks very similar, albeit without sprite stacks. Also, your rotating background looks awesome, and is something that was not done in Micro Machines.
@DaFluffyPotato
@DaFluffyPotato Жыл бұрын
I only know the name because someone else said the same thing.
@dslowcoder
@dslowcoder Жыл бұрын
I love how it looks, you allways find ways of making better looking games with pygame, it's awesome. Btw, how did all end with pygame and pygame-ce??
@DaFluffyPotato
@DaFluffyPotato Жыл бұрын
There is no end
@zvisger
@zvisger Жыл бұрын
:O I can't wait to watch this tonight!
@zvisger
@zvisger Жыл бұрын
Ok so I watched it and this is awesome... idk why I never thought of this. Thanks Fluuff
@QUASAR098
@QUASAR098 Жыл бұрын
damn this looks great! i really want to try out this racing game when it is finished
@quantum_hg3299
@quantum_hg3299 Жыл бұрын
Really cool concept
@rowanw5912
@rowanw5912 Жыл бұрын
In a game like this with a locked isometric perspective it seems more efficient to just do the spritework in 3d to begin with, that way you're not wasting performance on pixels that will never be rendered (the inside of the car for example). Even for the backgrounds since you're not using parallax the result will be identical to predrawn sprites with a clever tiling system. Spritestacking only seems worthwhile if you're trying to do 3D with perspective.
@DaFluffyPotato
@DaFluffyPotato Жыл бұрын
You don't waste anything on the middle if you cache.
@emperor8716
@emperor8716 Жыл бұрын
this is crazy
@blunderingfool
@blunderingfool 11 ай бұрын
I was wondering when someone would make a game with 2KliksPhillip's "dolly mixture" method. :D It looks great!
@novialriptide
@novialriptide Жыл бұрын
5:24 looks trippy.. wow
@howezae6338
@howezae6338 Жыл бұрын
Interesting concept! May I ask if you will ever be developing using a more efficient platform, say using C# or Java?
@DaFluffyPotato
@DaFluffyPotato Жыл бұрын
I have no reason to at the moment
@Fezezen
@Fezezen Жыл бұрын
I think I first saw this on a 2kliksphillip video where he called them "dolley mixtures"
@bloctans_4
@bloctans_4 Жыл бұрын
pygame is a wrapper for sdl2, i dont understand why people hate pygame but love sdl2
@TamerlanSerik-c9h
@TamerlanSerik-c9h Жыл бұрын
coder space made the similiar stuf likes you but he used magica voxel to make stacked sprites))
@himitesolaymane
@himitesolaymane Жыл бұрын
Can you do a tutorial about top down sprite rendering I have problems at ordering them correctly
@DaFluffyPotato
@DaFluffyPotato Жыл бұрын
Sort by Y of the base
@himitesolaymane
@himitesolaymane Жыл бұрын
@@DaFluffyPotato thx
@carrotsandcats
@carrotsandcats Жыл бұрын
Thanks, thats so cool, i’ve try this before but it was slow af.
@red-52
@red-52 9 ай бұрын
I use pg.RESIZABLE and pg.SCALED is there a reason why the other method is better?
@DaFluffyPotato
@DaFluffyPotato 9 ай бұрын
SCALED is faster but is more difficult to make work nicely with RESIZABLE. Also, I started using that technique before SCALED was even a thing.
@knut-olaihelgesen3608
@knut-olaihelgesen3608 Жыл бұрын
Have you developed your own framework when using Pygame?
@DaFluffyPotato
@DaFluffyPotato Жыл бұрын
yes
@OtateriheemEdRiemLav
@OtateriheemEdRiemLav Жыл бұрын
It looks like the spinning 3D rat meme xD
@bobyjoegames2
@bobyjoegames2 9 ай бұрын
Are the fences in this scene sprite stacked too?
@DaFluffyPotato
@DaFluffyPotato 9 ай бұрын
yes
@smosa605
@smosa605 Жыл бұрын
for a bigger game wouldn't this be very cpu intensive rendering all of these images for a 3d model because if they're multiple different 3d sprites in a game it could be a lot?
@DaFluffyPotato
@DaFluffyPotato Жыл бұрын
No, it's as fast as rendering a 2D tile if you cache properly.
@smosa605
@smosa605 Жыл бұрын
@@DaFluffyPotato by cache do you mean iterations?
@metgaming9545
@metgaming9545 Жыл бұрын
Is there a trick to caching? Or do you just add layers you’ve already generated to a dictionary or array
@DaFluffyPotato
@DaFluffyPotato Жыл бұрын
I actually prerender the whole stack and store it based on angle
@simonjones90
@simonjones90 Жыл бұрын
I'd love to know what base resolution you are setting with your games?
@DaFluffyPotato
@DaFluffyPotato Жыл бұрын
it varies. you can just run the games and check
@kevinkim9309
@kevinkim9309 Жыл бұрын
Hey dude, I have learnt way too much from you for free. Do you have a separate payment link? I'd like to donate some cash privately, without commission being taken off. Any cashapp would do.
@DaFluffyPotato
@DaFluffyPotato Жыл бұрын
Patreon takes a pretty small cut (
@RiveBlakBerry
@RiveBlakBerry Жыл бұрын
i been working on a same thing
@rapha4220
@rapha4220 Жыл бұрын
tutorial for caching!!
@majomajo36
@majomajo36 Жыл бұрын
wait its online or its ai?
@__Rizzler__
@__Rizzler__ Жыл бұрын
CUMAZINGGGGGGGGG!!!!!!!!!!
@Ansino558
@Ansino558 Жыл бұрын
Hi there guys
@plexus2000
@plexus2000 Жыл бұрын
wsg
@fmailscammer
@fmailscammer Жыл бұрын
What did you use to render the environment? is it just a huge version of spritestacking as well? it looks so good as well
@DaFluffyPotato
@DaFluffyPotato Жыл бұрын
It's just a big flat image (aside from fences, which are also spritestacked)
@fmailscammer
@fmailscammer Жыл бұрын
@@DaFluffyPotato thanks so much. I was about to start another game in Godot (which my only motivation for came from watching your "I make fast gaem" video and wanting to create a movement-based melee combat platformer) but now I really want to try and make something like this in pygame as a placeholder until I can come up with a real premise.
Миллионер | 1 - серия
34:31
Million Show
Рет қаралды 2,4 МЛН
Worst flight ever
00:55
Adam W
Рет қаралды 40 МЛН
How do Cats Eat Watermelon? 🍉
00:21
One More
Рет қаралды 12 МЛН
Will A Guitar Boat Hold My Weight?
00:20
MrBeast
Рет қаралды 275 МЛН
Телефон - самая грязная ваша вещь
0:24
Up Your Brains
Рет қаралды 1,9 МЛН
Пустая коробка вместо iPhone 16 pro
1:00
Кик Обзор
Рет қаралды 995 М.
Emergency Phone Wireless Charger
0:36
IAM
Рет қаралды 2 МЛН
iPhone 7
0:13
ARGEN
Рет қаралды 15 МЛН