- 77
- 1 329 881
Pigsy's Retro Game Dev Tutorials
United Kingdom
Registrace 31. 08. 2021
Welcome! I've made this channel to showcase my various Megadrive/Genesis home dev projects. Once I have enough skill and experience at making games for the system, I plan on creating a series of easy to follow tutorials teaching others how to make their own games.
How to Manage VRAM Limits for the Sega Genesis & Mega Drive - Beginner Game Dev Tutorials
Please consider supporting me on Patreon:
www.patreon.com/PigsysRetroGameDevTutorials
My X/Twitter account:
x.com/PigsyRetro
www.patreon.com/PigsysRetroGameDevTutorials
My X/Twitter account:
x.com/PigsyRetro
zhlédnutí: 1 377
Video
How to Convert High Colour Images for the Sega Genesis & Mega Drive - Beginner Game Dev Tutorials
zhlédnutí 1,8KPřed 14 dny
Please consider supporting me on Patreon: www.patreon.com/PigsysRetroGameDevTutorials My X/Twitter account: x.com/PigsyRetro Matt B's X/Twitter account: x.com/matteusbeus Link to the programme used to convert images: rilden.github.io/tiledpalettequant/ Link to forum post featuring the creator of the tool: forums.nesdev.org/viewtopic.php?t=24117
How to Fade In Palettes on the Sega Genesis & Mega Drive - Beginner Game Dev Tutorials
zhlédnutí 1,7KPřed 14 dny
Please consider supporting me on Patreon: www.patreon.com/PigsysRetroGameDevTutorials
How to Create Palette Cycle Animations for Sega Genesis & Mega Drive - Beginner Game Dev Tutorials
zhlédnutí 3KPřed 21 dnem
Please consider supporting me on Patreon: www.patreon.com/PigsysRetroGameDevTutorials Mark Ferrari's lecture on 8 bit pixel art: czcams.com/video/aMcJ1Jvtef0/video.html Colour Cycling Script: community.aseprite.org/t/color-cycling-palette-shifting-v0-05-update-29-12-2020/7604/18 github.com/tomas-marny/aseprite-scripts
How to Create SFX for the Sega Genesis & Mega Drive With Audacity - Beginner Game Dev Tutorials
zhlédnutí 2,3KPřed měsícem
Please consider supporting me on Patreon: www.patreon.com/PigsysRetroGameDevTutorials Mega CD SFX driver: github.com/viciious/SegaCDMode1PCM
How to Code Sound Effects for the Sega Genesis & Mega Drive - Beginner Game Dev Tutorials
zhlédnutí 1,5KPřed měsícem
Please consider supporting me on Patreon: www.patreon.com/PigsysRetroGameDevTutorials
How to Create Music for the Sega Genesis & Mega Drive - Beginner Game Dev Tutorials
zhlédnutí 1,9KPřed měsícem
Please consider supporting me on Patreon: www.patreon.com/PigsysRetroGameDevTutorials Delflemask download: www.deflemask.com/ Inglebard's Tutorial Series: czcams.com/play/PLLcg688c2_02HgJLSF2UI8hOv1eh8qkBC.html Stoo Busby (see his video descriptions for the deflemask files downloads): czcams.com/video/xmA7l7PzF7U/video.html FM Instruments download: drive.google.com/drive/folders/1y1Xsw6gIIuGenl...
How to Play Music On Sega Genesis & Mega Drive - Beginner Game Dev Tutorials
zhlédnutí 2,2KPřed 2 měsíci
Please consider supporting me on Patreon: www.patreon.com/PigsysRetroGameDevTutorials
Managing VDP Planes & Enemies on the Streets of Rage - Sega Genesis & MD Beginner Game Dev Tutorials
zhlédnutí 2,2KPřed 2 měsíci
Please consider supporting me on Patreon (source code for the lesson available): www.patreon.com/PigsysRetroGameDevTutorials Graphical assets for today's lesson: www.dropbox.com/scl/fo/exlq9u9ruaoivpex03kuv/h?rlkey=sx8es2hjqyerazj6srwd7pbai&dl=0
How to Create Ranger X Style Lighting Effects for Sega Genesis & MD - Beginner Game Dev Tutorials
zhlédnutí 9KPřed 2 měsíci
Please consider supporting me on Patreon: www.patreon.com/PigsysRetroGameDevTutorials
How to Create Coloured Transparencies for Sega Genesis & Mega Drive - Beginner Game Dev Tutorials
zhlédnutí 2,7KPřed 2 měsíci
Please consider supporting me on Patreon: www.patreon.com/PigsysRetroGameDevTutorials
How to Create Sprite Transparencies for Sega Genesis & Mega Drive - Beginner Game Dev Tutorials
zhlédnutí 8KPřed 3 měsíci
Please consider supporting me on Patreon: www.patreon.com/PigsysRetroGameDevTutorials Download link for the graphical assets used in the lesson: www.dropbox.com/scl/fo/tr7svponrlpi53oadoj5c/h?rlkey=j9a46yejeps7baso6xghvd7ca&dl=0
New Pixel Art for Harbour Level - GG Shinobi Remake for Sega Mega Drive & Genesis - Dev Diary 4
zhlédnutí 3,9KPřed 3 měsíci
Please considering supporting my work on Patreon if able. Thanks! www.patreon.com/PigsysRetroGameDevTutorials
First Look at Long Library & More! - Castlevania: SotN for Sega Mega Drive & Genesis - Dev Diary 26
zhlédnutí 8KPřed 4 měsíci
My Patreon, for those who wish to support the channel and my various projects. Thanks! www.patreon.com/PigsysRetroGameDevTutorials
32 New Sega Genesis & Mega Drive Games in Development in 2024
zhlédnutí 174KPřed 5 měsíci
Almost all the games featured in the video were created using the SGDK dev kit. The creator, Stephane Dallongeville, allows it to be used for free by everyone, even for commercial releases! I would encourage anyone who has the ability to support his efforts on Patreon. He is still working on it after 10 years and is currently developing a new sound driver: www.patreon.com/SGDK Here are the inks...
Xmas Demo and Plans for 2024 - Castlevania: SotN for Sega Mega Drive & Genesis - Dev Diary 25
zhlédnutí 8KPřed 5 měsíci
Xmas Demo and Plans for 2024 - Castlevania: SotN for Sega Mega Drive & Genesis - Dev Diary 25
Castlevania: Symphony of the Night Christmas 2023 Demo for Sega Mega Drive & Genesis
zhlédnutí 30KPřed 5 měsíci
Castlevania: Symphony of the Night Christmas 2023 Demo for Sega Mega Drive & Genesis
Castlevania: Symphony of the Night Demo for Sega Mega Drive & Genesis Playing on Real Hardware & CRT
zhlédnutí 19KPřed 5 měsíci
Castlevania: Symphony of the Night Demo for Sega Mega Drive & Genesis Playing on Real Hardware & CRT
A Meeting With Death - Castlevania: SotN for Sega Mega Drive & Genesis - Dev Diary 24
zhlédnutí 5KPřed 5 měsíci
A Meeting With Death - Castlevania: SotN for Sega Mega Drive & Genesis - Dev Diary 24
Hammer Time! New Sub-boss Fight - Castlevania: SotN for Sega Mega Drive & Genesis - Dev Diary 23
zhlédnutí 6KPřed 6 měsíci
Hammer Time! New Sub-boss Fight - Castlevania: SotN for Sega Mega Drive & Genesis - Dev Diary 23
ROM Size and the Upcoming Demo - Castlevania: SotN for Sega Mega Drive & Genesis - Dev Diary 22
zhlédnutí 7KPřed 6 měsíci
ROM Size and the Upcoming Demo - Castlevania: SotN for Sega Mega Drive & Genesis - Dev Diary 22
New Subweapons System & SFX - Castlevania: SotN for Sega Mega Drive & Genesis - Dev Diary 21
zhlédnutí 14KPřed 6 měsíci
New Subweapons System & SFX - Castlevania: SotN for Sega Mega Drive & Genesis - Dev Diary 21
An Art Project Sidequest to Saturn - GG Shinobi Remake for Sega Mega Drive & Genesis - Dev Diary 3
zhlédnutí 3,2KPřed 6 měsíci
An Art Project Sidequest to Saturn - GG Shinobi Remake for Sega Mega Drive & Genesis - Dev Diary 3
First Look at Outer Wall - Castlevania: SotN for Sega Mega Drive & Genesis - Dev Diary 20
zhlédnutí 12KPřed 7 měsíci
First Look at Outer Wall - Castlevania: SotN for Sega Mega Drive & Genesis - Dev Diary 20
New Sega Saturn Games for 2023 and How They Are Made
zhlédnutí 108KPřed 9 měsíci
New Sega Saturn Games for 2023 and How They Are Made
Quick Update & FAQ - Castlevania: SotN for Sega Mega Drive & Genesis - Dev Diary 19
zhlédnutí 22KPřed 9 měsíci
Quick Update & FAQ - Castlevania: SotN for Sega Mega Drive & Genesis - Dev Diary 19
How to Code Semi-Solid Platforms: Sega Genesis & Mega Drive - Beginners Game Dev Tutorials
zhlédnutí 2,2KPřed 10 měsíci
How to Code Semi-Solid Platforms: Sega Genesis & Mega Drive - Beginners Game Dev Tutorials
How to Code Level Collision for Large Sprites (Sega Genesis & MD) - Beginners Game Dev Tutorials
zhlédnutí 2,3KPřed 10 měsíci
How to Code Level Collision for Large Sprites (Sega Genesis & MD) - Beginners Game Dev Tutorials
How to Code Jumping & Gravity: Sega Genesis & Mega Drive - Beginners Game Dev Tutorials
zhlédnutí 2,2KPřed 11 měsíci
How to Code Jumping & Gravity: Sega Genesis & Mega Drive - Beginners Game Dev Tutorials
How to Code Level Collision for 2D Games (Sega Genesis & Mega Drive) - Beginners Game Dev Tutorials
zhlédnutí 3,9KPřed 11 měsíci
How to Code Level Collision for 2D Games (Sega Genesis & Mega Drive) - Beginners Game Dev Tutorials
Did i miss something? I can not find this template to download.
@PigsysRetroGameDevTutorials May i ask you a question? When using an emulator like gens or any other that has frameskip options... which option is more accurate regarding the "real" hw speed? Auto? 0? thanks.
I hope the Sega Saturn gets the tools and community like the genesis one day before I go lol
Great Video, very interesting content... What about SOTN, is it close to be completed? Will it be released till the end of 2024?
60-80 %
I tried making a shooter uusing another game engine but there were so few learning resources.. If I obtain the genesis tools does it have everything as far as understanding code things like targeting, AI, etc. I really think I can make it a Genesis game if all the resources are available. I realy emjoyed your video on space shooters, I have all my own sprite animations andspecial effects I just can't code.
so why are the bad guys dress like sailormoon in Kirito? hahaha
Is this an issue if I am using dynamic memory allocation? I am moving from one level state to another. But I only initiated the sprite engine once.... and the rest of the states I just reset the sprites...
What were tools that were used back in the day? are they lost to time? or is it that no one has really cared about making games on Saturn till now
Call me old fashioned but I I think that the Sonic Sprite looks way way better than the 3D polygon Sonic Sprite not saying it's bad work I think this is actually phenomenal that's just my opinion that's why it's better in my eyes
Is there a port of golden axe revenge of death adda
I did it today for my project. Thanks!
A new jewel tutorial.
Thanks, Pigsy.
mxretrodev mauro xavier is doing a rpg save sram based game
I can't stop thinking about how badly Sculptured Software did the backgrounds on Genesis MK3: Ultimate.
the bank background dithering
Unfortunately, the console's palette just isn't great at doing those kind of digitised graphics
@@PigsysRetroGameDevTutorials robocop vs terminator looks good
@@PigsysRetroGameDevTutorials they left single colour pixels everywhere. I zoomed in. My guess is they used a palette for each bg layer, one for each fighter and one for the ui.
yeah but consider how tight the schedule probably was and didn't they do the snes port as well? I think they're decent conversions in the end.
what sound driver did they use in batman and robin?
can we have the animated gears backgroud, at least?
Hi pigsy, are you gonna do mega cd videos at some point?
Maybe a couple of years from now I'll do some MCD stuff (I need to learn this myself first)
@@PigsysRetroGameDevTutorials your SOTN port gonna be insane with MCD
@@Dieg987 nowadays rom size has no limits
it could be useful if you teach developers how to implement save sram code function
I still haven't learnt how to do that myself yet, so it'll have to come later :)
Now I understand your response to my comment last week (you told me I should be watching that TPQ doesn't generate too many unique tiles). I completely forgot about VRAM limits. Thanks for taking on the topic in this video. I have a question for you: How would you manage the palettes to allow for palette swapping of sprites? For example, in beat'em up games, you have many enemies that are palette swaps. Given that you have only four palettes, and most likely two of them are being used for the backgrounds, you are left with two palettes for all sprites. Can you change the palette when a specific sprite is being drawn without altering the other elements on screen? Thank you very much for the video.
Every sprite is made up of indexed colours and changing the palette will change the way the colours are displayed. For the different coloured mermen enemies in SotN, we have three different sprites sharing the same palette, but the way the sprites are indexed are different). I think I featured this in one of my sotN dev videos, but can't remember exactly which one it was!
Nice demonstration, are you planning to show how to convert a video into 16-bit quality
codec 9 bit color quality
I don't think video is suitable for regular cartridge games do to how much memory it takes up. Maybe later for the Mega CD
@@PigsysRetroGameDevTutorials but animes are good to put into SOTY intro/ending
I always wondered what the difference is between Pigsy's RAM and VRAM.
no miracle here
VRAM stores the graphics and RAM stores things such as variables (player and enemy co-ordinates etc)
This doesn't seem like an actual hardware limit but a limitation of SGDK. That is, that games have the ability on the Genesis to draw tiles either as sprites, backgrounds, or foreground tiles. SGDK seems like a great tool for building platformers, but not limit pushers.
only for compression rom size
@rafaelantonio6765 So in VRAM, tiles must be tagged as either sprite or background?
@@MaxAbramson3 just ask pigsy
@@MaxAbramson3 they all have priority order
@rafaelantonio6765 But can't we get more usable tiles by seeing if there's already a Background or Foreground tile where you can just select a different color palette for it?
So, just to double check, you can basically freely allocate all of VRAM to background tiles or sprite tiles or any amount of a mix of both as you see fit, minus any space required for tile maps and such, yes? And the SGDK itself just defaults to the 1000 tiles allocated to backgrounds and 400 to sprites. Which is interesting that it does this and with those amounts, as it seems to be an arbitrary amount but is possibly based on what the tool creator(s) considered a pretty typical allocation of unique background tiles vs unique sprite tiles in the average game scene or something like that. Also interesting to note that the more of VRAM you allocate to background tiles the less you have for sprite tiles and visa versa on a kind of 1:1 basis basically, so it's always a bit of a balancing act in the typical game that tends to have both backgrounds and sprites of course, and you generally can't just allocate the entirety of VRAM memory to either backgrounds or sprites in most use cases. Nothing for free I guess.
since paralax background on genesis is limited to 1
@@rafaelantonio6765 I'm not quite sure what you are meaning here?
@@inceptional less tiles would be required for only one paralax
@@rafaelantonio6765 Yes, you could limit the backgrounds to just one layer and simplify things to save some unique background tiles that way. You'd obviously lose proper overlapping parallax and such, but in certain cases that would be fine, and you can still do faux parallax row/line scrolling there. So that's one way to allow for more of the available memory to be allocated to sprites.
@@inceptional also the shadows/dithering can save vram resources
Definitely a useful thing to know! I'm curious, would it be possible to set the number in SPR_initEx as a variable, and update it based on the needs of various scenes? Would it be possible to have a function to find how many background tiles are in a particular level, then update the SPR_initEx variable to change the sprite allocation as needed? I guess it could just be done manually, but it might be handy to automate it through code.
In my games I store the number of VRAM tiles dedicated to sprites as part of each level data. I do this manually, but it would be neat if you could do this automatically as you suggested. I think there probably is a way to do this so I might look into it!
horizontal black bars wont help nothing but DMA
Thanks for the video, it's fantastic how you explain things. For this and the previous ones they deserve a subscription to the patreon.
Thanks! The Patreon is small at the moment, but I appreciate everyone who can contribute. The more support I get the more I can potentially do (in terms of tutorials, fan projects etc)
Where can I get a manifold game cartridge for my genesis?
That's a great tool, but I have a suggestion for cases where the image has smooth gradients or more "natural" detail: run first the image through a floyd steinberg dithering palette reduction routine, reducing the colors to the minimum you think still gives a good result (e.g. 64 unique colors with no palette limitation), then run it again through palette quantization with no dithering. I think the result can be even better for some kind of pictures
you're a saint for bringing up volume adjustment btw
Good luck getting your hands on the dev kit from back in the day... I spent years looking and I've all but given up. I have notepad and an assembler, with enough patience and trial and error I managed to get stuff working so you dont need to go the SGDK route if you dont want to.
Thanks
Cheers!
litle flame skulls would be great
please make a 5MB ROM
Sonic 2, for example, displays 75 colors on screen in the Aquatic Ruin Zone. It does this using a mid-frame palette swap technique, which allows it to exceed the 64-color limit in the same frame.
comes to show that even with a limited color palette like that on the Genesis, you can still get some pretty as hell graphics, the crunchy colors in the images look so weirdly satisfying to see...!
please add some scenes to SOTN just like eanest evans
I'm having a great time doing a couple of videos at a time then playing with what I've learnt. Thanks
Thanks! I hope you continue to enjoy the lessons!
question: how do I use a tileset for displays?
for slower parallax scrolling, instead of writing int when writing a variable, write float, float is just like int, but for decimals
As @JohnnyApathy said below this creates a bug where if both characters are moving and one of the players presses B, then both do the attack animations. To fix it use if (value & (changed & state & BUTTON_B) && attack_timer == 0) // # player 1 - fixes bug and if (value2 & (changed & state & BUTTON_B) && attack_timer2 == 0) // # player 2 - fixes bug The full function is below which you can copy and paste // # this is my user created function for button pad controls for player 1 and 2 static void joyEvent(u16 joy, u16 changed, u16 state){ u16 value = JOY_readJoypad(JOY_1); // # need to put readjoypad in each function u16 value2 = JOY_readJoypad(JOY_2); if (value & (changed & state & BUTTON_B) && attack_timer == 0) // # player 1 - fixes bug { //if ((changed & state & BUTTON_B) && attack_timer == 0 ) // # This line above creates a bug for both characters so comment it out { SPR_setAnim(player, ANIM_UPPER); // # set animation to grand upper attack_timer +=1; } } if (value2 & (changed & state & BUTTON_B) && attack_timer2 == 0) // # player 2 - fixes bug { //if ((changed & state & BUTTON_B) && attack_timer2 == 0 ) // # This line above creates a bug for both characters so comment it out { SPR_setAnim(player2, 7); // # set animation to 8th row which is spin attack attack_timer2 +=1; } } }
I loaded first the background than the foreground into the main and the background appears like a mess. When I put the code like is in the video, first the foreground (BG_A) and then the background (BG_B) appears perfect. Is there any reason for that? It's how works the VDP? Do you always have to load first BG_A and then BG_B?
every time i try to compile and run it , this message pops up C:\Users\Admin>%GDK%\bin\make -f %GDK%\makefile.gen release && START /B C:\wgens211\gens.exe %CD%/out/rom.bin C:/SGDK/bin/mkdir.exe -p src/boot C:/SGDK/bin/mkdir.exe -p out C:/SGDK/bin/gcc.exe -m68000 -BC:/SGDK/bin -n -T C:/SGDK/md.ld -nostdlib out/sega.o @out/cmd_ C:/SGDK/lib/libmd.a C:/SGDK/lib/libgcc.a -o out/rom.out -Wl,--gc-sections -flto C:\Users\Admin\AppData\Local\Temp\ccmJpXMh.ltrans5.ltrans.o: In function `_reset_entry': <artificial>:(.text+0x734): undefined reference to `main' C:\Users\Admin\AppData\Local\Temp\ccmJpXMh.ltrans5.ltrans.o: In function `_start_entry': <artificial>:(.text+0x81e): undefined reference to `main' <artificial>:(.text+0x8f4): undefined reference to `main' make: *** [out/rom.out] Error 1
Thanks!
Thanks!
OPTPiX is what we used back in the day. It is the best converter to palleted tiles by far.
Skechers Megacraft finally makes its way to Mega Drive! It's what I've always wanted! this stuff is amazing, thumbs up to the people that make this happen
MP3 TO VGM CONVERTER. DIGITALIZED MEGA DRIVE MUISC SOTN SOUNDTRACK
Guys i do not want to ruin your dreams, but all of them are just slightly more than tech demos... I loved Sega Saturn at his time, and i saw awesome works for almost all Systems in homebrew... But i dont think the most of those demos could ever been completed...
I didn't know Tiled Palette Quantization existed! What an amazing tool! Thank you very much! I was trying to convert maps from arcade games by hand using GIMP and Krita, and it was a really long and complicated work. This tool gives you a workable image in seconds. As usual, an excellent and very informative video.
Maybe you can get better results converting level tile maps than I did. Be careful that it doesn't create too many unique tiles though.
@@PigsysRetroGameDevTutorials I tried with the first stages from Double Dragon and Knights of the Round, and the results were pretty good. Not perfect, but a good starting point. I can keep working from there. Thanks for the tip.
@@GimblyGFR I'm glad you're seeing good results from it. Looking back at my SotN example again, it looks like the tool is doing a good job in not creating extra unique tiles so it''l' probably be fine
@@PigsysRetroGameDevTutorials I think that the stages I used work rather well with the tool 'cause they were designed with well-defined tilesets and a relatively small color count from the get-go. The results are not perfect, but you can use the output from the tool and tweak the images as you did on the video. In any case, it is a very useful tool. I was using GIMP to edit the images and Krita to convert the colors to the Genny palette, and TPQ reduced the work considerably.
Hell yeah! Thanks for a tool that actually transforms pics into actual pixel art ;)