UPDATE: Please note that SGDK has been updated since this video was created. If you are using a version of SGDK newer than 1.7, then please write "u16 ind = TILE_USER_INDEX;" instead of "u16 ind = TILE_USERINDEX;" and it should compile fine :)
Its amazing how big the development community has gotten for the Genesis. People seem to have fun making games for the system and tend to learn new things along the ride. It's great.
I might do a special video a few weeks from now where I feature graphics created by viewers of the channel. I'm sure there are a lot of talented artists among my subscribers, and I would love to see what you all come up with! Maybe a cyberpunk style cityscape or a Green Hill style natural environment or some alien planet as a shoot'em background? The possibilities are endless! My email is in the About section of the channel, so feel free to send me the rom with your graphics displayed. I hope everyone has fun creating their very own Mega Drive graphics :)
I see Tile16 was released just a few days ago in the Allone Works site. But now I also wanna go look up and try the tilemap in Aseprite. Hope I get the time to make something for that video!
I'm going to do lots of palette -related lessons at some point in the future, but it will probably be part of the intermediate tutorial series, as it involves arrays and such. You can do some really neat things with palette cycling!
I really appreciate your tutorials. I did many of the graphics for Pier Solar more than a decade ago, but I never was great with the technical side of things. I used MS Paint most of the time (only program installed on the PC at my day job where I actually worked on the game quite a bit XD) with a little Gimp and PSP here and there... I asked coders for the correct multiples of R,G,B and then adjusted colors by hand changing the values instead of importing ready made palettes, I copy pasted checkerboards onto the canvas to have my grid without an actual grid function etc. And to test animation I would create animated GIFs every time. The job got done but it was quite ineffective. I am now trying to follow along to be able to not only make my own graphics but to be able to put them into a game, however simple. There have been quite a few projects on several systems where I did some graphics but the programmer lost interest or simply didn't have the time anymore, so I like the idea to always be able at least put graphics I did into a playable ROM myself in the future. :) It's nice to think that even if a project may fall through I could at least put it all into a little graphics demo or something myself. :) So thanks for the well done tutorials!
Asperite sounds a lot better for making game art than MS Paint! I've heard a lot of stories of great projects be abandoned due to lack of programmers or the programmer dropping out. That is my main reason for doing these tutorials - to create more MD programmers and hopefully more MD games :) At the very least, you'll learn enough in this beginners series to be able to put your work on the screen and enjoy seeing it run on the console without needing anyone else help. All the best!
@@PigsysRetroGameDevTutorials Just a little update with a video... It took a while since I want to use my own graphics instead of the downloads, but I finally did get to manage to display a basic background and foreground thanks to your tutorials. Nothing fancy, but it all looks and works as intended, I am grateful for that. Now I am looking forward to sprites and to how what else can be done. :) ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-AfWrSJ3rNRI.html
@@stephenwhite506 I really appreciate the other,but for the time being I just want to play around a bit. It has been a long time since I did MD graphics anyway. But maybe I can get back into it. :)
Another great episode. I used to draw sprites all the time just for fun, but I'm a little out of practice these days. Your videos are a great inspiration, and I'm seriously considering starting to work on a Genesis game, once I've learned more advanced stuff from you. Thank you very much for uploading these amazing tutorials.
That palette becomes a lot easier to navigate if you size it to be 8 swatches wide. That way the x and y axes of each square correspond to G and R values and moving between squares becomes the B channel. It's still an inconvenient way compared getting 3-bit RGB sliders that actually give you accurate Mega Drive values but I haven't found a way to do that in Aseprite yet.
The palette you linked does not match the video output of the Mega Drive. Your palette has steps of 0, 36, 72, 108, 144, 180, 216, 255, which corresponds to an almost linear curve. Real Mega Drive hardware, on the other hand, according to oscilloscope measurements, has a non-linear progression with steps of 0, 52, 87, 116, 144, 172, 206, 255. On top of that, there are additional possible colors due to Shadow and Highlight which have the following steps: Shadow: 0 29 52 70 87 101 116 130 HiLite: 130 144 158 172 187 206 228 255 By the way, even many emulators display the colors incorrectly in a linear way. The official Mega Drive emulator on Steam, for example, does it correctly.
If you have a more accurate palette, then please send me a link and I will update it. I found the palette currently linked on a forum a few months back and it doesn't seem too bad, but the more accurate the better of course!
I don't think RU-vid allows links, so it might be better to email me if you do have a better palette (my address can be found in the About tab). Thanks
@@yasminesteinbauer8565 It looks like RU-vid is already smart to that trick, as that comment isn't showing up for me. I got your email though and have added a download link to the video description.
I finally found the Asprite Genesis/Megadrive digitizer and really want to be able to output content to the Mega Drive. Not a programmer here (more of a script kitty) but I'd love to make cinematics, graphics or movies for the console. I don't want to use Bee Hive or some sort of video encoding software as I really want to use indexed colors and asprite
That's a great idea! apart from games, I think there is a lot of potential for making music/art/movie projects on the console. I hope these tutorials give artists like yourself the knowledge to be able to bring your work to the system. Good luck!
Really awesome to learn retro games development. For me, I'm more SNES than in Genesis. Not because Genesis can't do that much, then SNES. It's shown more differently
I dont know if tou have used it in this video but asepeite has a tilemap feature that shows you how many unique tiles you have and it is very useful to keep track of how many tiles you have
Another good one. I've been putting off switching to Aseprite but this video made me take the plunge and I'm glad I did. Gimp was really getting on my nerves. Looking forward to more. I'm very interested in how to animate sprites in code and how to do raycast collision. Cheers.
@PigsysRetroGameDevTutorials did the tool mentioned at the last quarter of the vido came out to the public? or is still on developement? Also, did you have any video regarding on tricks or speed ups using asm calls from c code for megadrive? Ty for the channel. Keep working on it, please ;)
Would be interesting if I was able to get my hands on Aseprite before going here. Since I can't afford that though, I can only use GIMP at this time. Update 1 (July 16, 2023): Looks like I'm out of luck for good.
confused at 8:11, first time i programmed the background it worked however i tried to program the foreground and it didnt work then i tried to change the background and it wont work. i deleted the image and everything its off my computer but when i complie and run it still pops up
Hello, i am there because i need help. does someone has the Sega Genesis Palette but in 256 colors, because i import the palette on Clickteam fusion 2.5.
With that master palette I can see how, as you said, the MD is lacking in the darker colours and greyscale. That's all the more curious as there are plenty of hues for the rainbow colours, which look a bit samey. I wonder if the hardware designers could have hand-picked and forced any in themselves. So if you use the chromatic bar, plus the brightness one above and pick a colour, Asperite will just choose the closest one in the MD palette?
I would easily sacrifice some greens and reds for a few dark greys! I'm not sure if the designers of the hardware could handpick any 512 colours, or whether there were some addition technical limitations at play. Yeah, Aseprite can be quite good at selecting the nearest MD colour. Actually, the console itself will also select the nearest colour for you if you upload an image with colours that don't match the palette.
Make sure the graphic only has 16 colours, is a multiple of 8 pixels wide/high, has colour mode set to indexed etc. If it still doesn't work then you can email me your custom background
Really appreciate you doing these, very helpful! I'd be very interested in the process of adapting existing images to the Mega Drive in Aseprite or similar. Basically what you're doing adapting SotN from PS1 to work on the MD (change resolution, palette, etc.). Any upcoming videos on this, by any chance? :)
can your main sprite use more than 1 16 colour palette? Can you use colours from the palettes in the background and vice verse? if so does that mean you can use the transparency color from pal0 across all sprites or does each palette use colour 1 as transparent automatically? cheers dude.
Each background tile or sprite can only use one of the 4 palettes. If you wish to use the colours from more than one palette in a single character sprite, then you will need to create 2 sprites in SGDK, each using a different palette, and then layer them on top of each other in the game. I used this technique for the first level SotN boss.
@PigsysRetroGameDevTutorials So technically you could split the character into 4 sprites with only the information for each colour in the separate palettes. Just thinking you could have a highly detailed main sprite and hide the extra colours past the initial 16 in the other palettes. For example in fighting games you could share the skin tones in 1 palette then share clothes colours in another palette.
Question: The Genesis can use any of its four colour palettes for background or sprites or both, rather than it being limited to say two palettes dedicated to only sprites and two to only backgrounds, correct?