Managing VDP Planes & Enemies on the Streets of Rage - Sega Genesis & MD Beginner Game Dev Tutorials

  Рет қаралды 2,572

Pigsy's Retro Game Dev Tutorials

Pigsy's Retro Game Dev Tutorials

Күн бұрын

Пікірлер: 48
@PigsysRetroGameDevTutorials
@PigsysRetroGameDevTutorials 10 ай бұрын
I know this topic is one that has been causing people a lot of problems, so I thought I should cover it here. Next week we'll finally start doing some audio stuff - music/sfx etc. Have a great weekend!
@dacueba-games
@dacueba-games 10 ай бұрын
Thanks a lot for this series. I would have never figured this out on my own, and reading docs hurts my noggin.
@PigsysRetroGameDevTutorials
@PigsysRetroGameDevTutorials 10 ай бұрын
I'm glad that these tutorials are making developing for the console more accessible to people!
@NoSpamForYou
@NoSpamForYou 10 ай бұрын
Are these the variables we need to change for making sprites stay on screen in Widescreen emulator? My instinct says probably after watching this video. Trying to learn so I can contribute to rom hacking someday.
@PigsysRetroGameDevTutorials
@PigsysRetroGameDevTutorials 10 ай бұрын
Each game may do this in a slightly different way, but I think the principle should be the same, so it might be possible (I've never hacked a game myself)@@NoSpamForYou
@Kr33ch4
@Kr33ch4 10 ай бұрын
funny i just figured out about hiding the sprites last night while trying to clear them; and this! exactly what i needed couldn't fathom how to get the map and sprite to interact as if all is based off tilemap size. THANK YOU!
@PigsysRetroGameDevTutorials
@PigsysRetroGameDevTutorials 10 ай бұрын
You're welcome!
@guillaumenunes9319
@guillaumenunes9319 10 ай бұрын
Still the same high quality, well done :)
@PigsysRetroGameDevTutorials
@PigsysRetroGameDevTutorials 10 ай бұрын
🙏
@jakenastysnake
@jakenastysnake 9 ай бұрын
No idea why there is even a SINGLE dislike on this video. Love your videos dude!
@PigsysRetroGameDevTutorials
@PigsysRetroGameDevTutorials 9 ай бұрын
Just 3 dislikes on this one - can't please everyone!
@jakenastysnake
@jakenastysnake 9 ай бұрын
@@PigsysRetroGameDevTutorials Haters gon’ hate, that’s a fact. Keep it up man, I’m learning a ton from these vids!
@48hourrecordsteam45
@48hourrecordsteam45 9 ай бұрын
They hate sega Genesis 😂 Some people hate themselves so bad they can’t stand anything from anyone else
@jumpygamer123
@jumpygamer123 10 ай бұрын
cant wait for the slope tutorial, if you are doing that :D
@PigsysRetroGameDevTutorials
@PigsysRetroGameDevTutorials 10 ай бұрын
I'll get around to it eventually for sure, but lots more to cover before then
@jumpygamer123
@jumpygamer123 10 ай бұрын
cool@@PigsysRetroGameDevTutorials
@jumpygamer123
@jumpygamer123 10 ай бұрын
i like sonic too much XD
@jumpygamer123
@jumpygamer123 10 ай бұрын
well its like the only tutorial series@@clonador.206 also its not that bad
@MaxAbramson3
@MaxAbramson3 10 ай бұрын
Pixel artist here. I've done work on everything from the SMS to Windows to Mac. Surprisingly difficult work to maintain consistency.
@2SUB-TV_space
@2SUB-TV_space 10 ай бұрын
What program should use to draw the hero sprite? Is there a video on how to draw a hero?
@PigsysRetroGameDevTutorials
@PigsysRetroGameDevTutorials 10 ай бұрын
I just started practicing since the start of this year and it's not easy! I hope I'll get better (and faster) at it as time goes by. Let me know if you have any special tips or advice
@man4171
@man4171 10 ай бұрын
Great and very instructive video, thanks
@PigsysRetroGameDevTutorials
@PigsysRetroGameDevTutorials 10 ай бұрын
Glad you enjoyed it
@werelwolf
@werelwolf 9 ай бұрын
Another REALLY great video, I found this ads to much helpful body to the overall coding design process. I was wondering two things though, With SGDK, is there somewhere that you can pull 'HORIZONAL_RESOLUTION and 'VERT...' as a global variable that the library at large knows is being used when setting the different resolution modes? It's a small detail, but I know in each of my projects I'm always re-creating the same constants with very standard methods like camera definition. The other is, all of this code looks really clean and ready to ship when all the parts are put together. When all of the stuff in the game design DOES work, what refactoring do you expect to perform? What stage do you (if at all) pull out large bodies of related functions and code to their own (maybe modular?) source files? Appreciate any of your thoughts about these matters, I'm in the Discord too if that's where text is easier. :) Thanks!
@PigsysRetroGameDevTutorials
@PigsysRetroGameDevTutorials 9 ай бұрын
You can use that HORIZONAL_RESOLUTION constant as many times as you like in different parts of the code. If you ever need it to change it then you could define a global variable instead. I'll be covering organising the code into different files next year!
@littlegTV
@littlegTV 9 ай бұрын
Is there anything like adding simple sprites to any specific number on a tile array? Like the rings on Sonic for example.
@AlexvrbX
@AlexvrbX 10 ай бұрын
What if the enemy sprite width is dynamic? For example if the baddy leaps into the air for a mid-air kick. Or to include x and y (you'd need an offset for Y too)... a flying craft that transforms from a wider aircraft to a taller mecha? Is there an easy way to retrieve the sprite width and height for the current frame of animation? Or is that too resource-wasteful to constantly update those numbers, and would you then just recommend taking the widest/tallest frame values and using those values? I'm not a programmer, but I did a little Pascal and C++ a couple decades ago.
@GreyMatterShades
@GreyMatterShades 10 ай бұрын
Taking the widest and tallest values would work, but you might also be able to define variable for their width and height, and have those variables update with the correct info (added manually) every time it switches frames of animation. That might be more complex than needed for the camera system, but it could help out with other things like collision.
@NoSpamForYou
@NoSpamForYou 10 ай бұрын
Just set the visibility past the largest possible sprite width in the character sheet. Also the further out you keep them visible the better it will work in Widescreen emulator like Genesis Plus Gx Wide.
@AlexvrbX
@AlexvrbX 10 ай бұрын
@@GreyMatterShades Yeah that's what I was implying by "resource-wasteful" - but if you already generate the data for collision, might just cost you a few bytes...
@GreyMatterShades
@GreyMatterShades 10 ай бұрын
@@AlexvrbX Yup, though a lot of games handle collision differently via hit/hurt boxes, which might use totally different data. Sort of depends on how you're building your game, but it could be useful in some cases.
@RGH-MD
@RGH-MD 10 ай бұрын
I did this in my game without knowing it was the correct way, I thought I was doing a trick.
@PigsysRetroGameDevTutorials
@PigsysRetroGameDevTutorials 9 ай бұрын
I'd be interested to see if there are alternative ways, but maybe this is just the most obvious method
@panzerdragonlegend6664
@panzerdragonlegend6664 10 ай бұрын
Hello Pigsy's I tell you that Ami I would like to know how the Sega Saturn and MD/Genesis VDPs work but more about Saturn Xd
@PigsysRetroGameDevTutorials
@PigsysRetroGameDevTutorials 10 ай бұрын
Eventually I'd like to do more videos on the Saturn, but I need to learn how to use it properly myself first :)
@videogamesandfilm6821
@videogamesandfilm6821 9 ай бұрын
dude, is there a way to do this with background tiles, for example a fighting game with a really complex background that would overload the vdp, you have all tiles that are offscreen unloaded and then when the screen scrolls the tiles that fall off screen unload and the new tiles load? cheers.,
@PigsysRetroGameDevTutorials
@PigsysRetroGameDevTutorials 9 ай бұрын
There is a way to alter VRAM tiles dynamically if needed)
@ivanrodriguez5599
@ivanrodriguez5599 2 ай бұрын
mate do you have a github rep to visit the sor proyect??
@VagnoSilvaYT
@VagnoSilvaYT 10 ай бұрын
Could you make a tutorial demonstrating how to develop enemy AI?
@PigsysRetroGameDevTutorials
@PigsysRetroGameDevTutorials 10 ай бұрын
That one will probably have to wait until next year I'm afraid, as there is still lots of other stuff I need to cover first
@Robert-nl3fd
@Robert-nl3fd 6 ай бұрын
It was said that C ran rather slowly on the Megadrive hardware. Sonic Spinball's game framerate was the evidence of such an hardware issue. Do you have any experience with a Megadrive As68k assembler by chance 🤔🤔
@videogamesandfilm6821
@videogamesandfilm6821 9 ай бұрын
also dude, thanks for supplying the graphics, would it be possible for you to supply the base code where the tutorial starts? or is that a patreon only thing?
@PigsysRetroGameDevTutorials
@PigsysRetroGameDevTutorials 9 ай бұрын
The source code is an extra bonus I offer Patreon supporters
@rafaelbaugis
@rafaelbaugis 10 ай бұрын
Couldn't the Samurai Shodown Game at the time it was ported to the SEGA Genesis support the zoom-in and zoom-out feature?
@dacueba-games
@dacueba-games 10 ай бұрын
The MD version most definitely lacked the effect iirc. But I think maybe the Sega CD version had it?
@rafaelbaugis
@rafaelbaugis 10 ай бұрын
Looking at videos on KZbin of the Sega CD and Mega CD versions, there is no zoom in and zoom out effect.@@dacueba-games
@zabustifu
@zabustifu 10 ай бұрын
@@rafaelbaugis Indeed, it does not. By the way, Sega Lord X released a video about that port a couple of days ago.
@PigsysRetroGameDevTutorials
@PigsysRetroGameDevTutorials 10 ай бұрын
You can use software scaling and/or multiple different graphic sizes to simulate the effect, but it generally works best for small sprite, trying to do the whole screen would be too much. One day I really want to learn how to use the Mega CD's scaling hardware and trying to do that Samurai Showdown effect would be a nice test for it!
How to Fade In Palettes on the Sega Genesis & Mega Drive - Beginner Game Dev Tutorials
13:49
Pigsy's Retro Game Dev Tutorials
Рет қаралды 2,2 М.
The Making of Streets of Rage 2
17:52
strafefox
Рет қаралды 167 М.
Don’t Choose The Wrong Box 😱
00:41
Topper Guild
Рет қаралды 62 МЛН
Арыстанның айқасы, Тәуіржанның шайқасы!
25:51
QosLike / ҚосЛайк / Косылайық
Рет қаралды 700 М.
黑天使被操控了#short #angel #clown
00:40
Super Beauty team
Рет қаралды 61 МЛН
Мясо вегана? 🧐 @Whatthefshow
01:01
История одного вокалиста
Рет қаралды 7 МЛН
The Curious Case of WarMECH/Death Machine and Final Fantasy
7:42
The Returners' Hideout
Рет қаралды 1,8 М.
Darkstalkers for Mega Drive/SEGA Genesis **Progress Report**
10:39
Retro Reloaded
Рет қаралды 4 М.
How New Sega Genesis & Mega Drive Games Are Made (1980/90s versus Now)
10:08
Pigsy's Retro Game Dev Tutorials
Рет қаралды 34 М.
How to Convert High Colour Images for the Sega Genesis & Mega Drive - Beginner Game Dev Tutorials
12:49
How to Code Sound Effects for the Sega Genesis & Mega Drive - Beginner Game Dev Tutorials
14:32
Okay, but how does airstrafing ACTUALLY work?
37:13
zweek
Рет қаралды 317 М.
The BEST Mechanical Display You've EVER Seen!!!
13:51
Tin Foil Hat
Рет қаралды 514 М.
Don’t Choose The Wrong Box 😱
00:41
Topper Guild
Рет қаралды 62 МЛН