Frequently Asked Questions
Table of contents
Mega Drive questions
How do I get started?
There isn't enough information in this site yet (sorry!) but meanwhile:
- Learn how to make a game in a modern platform with your own engine (at least the basics, e.g. what's a game loop). No, seriously, you don't want to have to learn that and an old platform simultaneously.
- If you already know how to program in C, take a look at SGDK, which is a popular Mega Drive devkit that uses GCC. Remember to turn on LTO (link-time optimization) as it helps make the code faster.
Can I use your code snippets in my game?
Do whatever you want with the code snippets in this site.
I'm making pixelart, what are the limitations?
This is an oversimplification (quirks!) but:
- Everything is based on 8×8 tiles (16 colors each)
- There's enough video memory for 2048 tiles (but some of it is used up by tables, so realistically it's more like 75% or so of that)
- Can load up to around 200 tiles or so every frame at 60Hz (in 50Hz you can do even more)
- Video modes: 320×224 and 256×224
- 50Hz systems can also use 320×240 and 256×240
- Interlaced mode gets you 448/480px height modes, too
- 61 colors on screen
- 4 palettes of 16 colors each (first color is always transparent)
- Background color can be any of them (only way to display a "transparent" color)
- Colors are RGB, with 3 bits (8 shades) per component (for a grand total of 512 possible color shades).
- A "shadow/highlight" feature gives you 50% black and 50% white translucency to some limited extent, allowing more colors on screen
- Some games like Sonic change palettes mid-screen (e.g. for translucent water or for a sky gradient)
- Up to 80 sprites on screen
- Up to 20 sprites or 320px per line (whichever is hit first)
- Only 80% of all the above in 256px wide resolutions, beware
- Size can be 8px, 16px, 24px or 32px (can be set separately for width and height)
- Sprites can be flipped on both axes and use any of the palettes
- Two scrolling tilemap planes (plane A and B)
- Horizontal scroll can be fullscreen, per tile or per line
- Vertical scroll can be fullscreen or for every 16px
- Raster effects can also be used to change scroll values mid-screen
- Sizes (in tiles): 32×32, 64×32, 128×32, 32×64, 64×64, 32×128
- Individual tiles can be flipped on both axes and assigned any palette
- Fixed tilemap plane (window plane)
- Overrides plane A wherever it's displayed (even blank tiles)
- You specify horizontal and a vertical divisions on screen which gives four "quarters", plane A will show in one of the quarters and window plane in the rest.
- Generally used by HUD, but can be exploited for vertical split screen too.
- Ability to change how layers are sorted
- Normally it's sprites over plane A over plane B
- There's a priority flag that can override this order on a per-tile or per-sprite basis
- Sprites sorted by their order in the list as well
- A lot of this stuff can be changed mid-screen by rewriting stuff as the video hardware is scanning through the screen (as far as the limited bandwidth allows)
None. Nothing is collected unless explicitly mentioned ahead of time (no active tracking going on). There's the usual server logging (to catch network issues) but that's it.
Why the name Plutiedev?
Plutia (Iris Heart) is a goddess in the Neptunia series who's the personification of the Mega Drive. One of her nicknames is Plutie. This is a site mainly about Mega Drive development, ergo Plutiedev (Plutie development).
Iwis is a chibi Iris Heart (see above) and the mascot of Plutiedev. She slurs the L and R sounds and likes to boop everybody who gets close. She gets excited whenever anything Mega Drive shows up and she's also fond of hedgehogs. Make sure to treat her well and give her pets if you run into her.
How do you pronounce iwis?
Well, iwis is really meant to be "Iris", but she has trouble pronouncing the R sound so it comes out slurred.