Sleeping Dinosaur
Oct 13, 2012
Reaction score
First Language
Primarily Uses
Knock, knock.
Who’s there?
Your ex.
What ex?
Your ex-plaination on doors.

Yeah I know.

Doors seem to be a simple thing, right?
There are plenty of them in the RTP and they are easy to use. But… they are all front view. And small. And maybe not the one special design we need.

So, how do we handle a door? Well, of course with a knob, but enough of the bad puns (for now).

Making a basic door
In fact, the height and width of your resulting door is up to your taste and the style you use.
To empathize that, I have here a picture of three different sprite styles you might choose for your game:
(left to right: MZ default, WaywardMartian, BrunaCremm)

It makes sense that each of them has a different “optimum” range for the door height. The general rule of thumb is:
  • A door should be at least as tall as you characters, maybe with a few extra pixels
  • A door should be at least as wide as your characters, usually it is 1 tile wide if it is a “normal” door.

The great thing is: if the width is 1 tile, you can follow this tutorial as is, no matter how tall or short the doors are. If you go with a different width, you might have to adjust your values a little.
If we look at any default door, we see a certain pattern: the door on the top is just our basic door and the bottom is just the empty frame, which reduces the frames we have to touch for our default door to two.

For those two frames there are a few things that need to be adjusted:
  • they have each a different width than the default one, with fixed values across all the default doors
  • the height on the other hand is never touched
  • as they submerge into the frame, they get shadows on the right and top area
  • they are sloped by fixed values across the default doors

For showing purpose I will use this medium door:

That of course already is the first frame, and since the last frame stays empty, half of the needed frames are done:

To get our door into the right format, we have several options on how to bring them into existence, but the steps are pretty clear.

  1. Adjust the width of the door
As you can see, we need one door version that is 38px wide and one that is 23px wide.
We can make that by simply using the transformation option in Graphicsgale:
We could also simply edit it to be more narrow, by cutting and pasting vertical pieces, which would give us full control over the ratio:
We could also use the scaling option in Gimp, or any other picture editing program, which usually uses an algorithm while scaling:
In this case, all results are passable:
The scaling in graphicsgale gives you a result that is still fully pixelated, but depending on the door design, your patterns might end up looking a little wonky.
The manual editing is my go to, but it can be a little difficult to nail the needed ratio and here you might have to make some further edits if more complex patterns are involved.
The scaling with a smoothing algorithm behind it as in Gimp keeps all those patterns intact, but might blur your result.
Other programs even let you pick which algorithm you wanna use when scaling (you could even get this to work in Gimp, if you scale the whole layer of the door and not just the selection).
I personally prefer to scale manually, while the default doors were obviously done with a smoothing algorithm. Which you pick, is up to you, for the doors here I prepared the manual versions.

  1. Sloping the doors
You can also make this in Gimp, but there the entered values depend on the height of the image you want to slope, so for me it is always Graphicsgale that I use for this step.
All we need to do is selecting our door and use “Slope” , the value for the 38px wide door is -0.33 (or 0.33, if it is supposed to open in the other direction)
and -1 (or again, 1 for the other way) for the 23px wide one.
Make sure your selection is larger then just the door, otherwise Graphicsgale will do this, when you use that option:
…which is usually not what you want for your doors.
Since the doors open “into the wall” we now need to cut off the upper parts of our sloped doors.

  1. Shading
Our sheet is now already pretty close to being done, with just the shading left.
The default door all open into a darker opening and have a transparent background:
but I personally prefer to have options with the “opening” behind, and since we are all in editing at this point, why not make a few more options to have ready in case we want to use them?
For example we can use the two dungeon doors and simply use cut and then copy and paste to bring them to the dimensions we need.
Then we can format them to how many options we want to have. I personally like to have one door that opens to a light opening, one that opens to a dark opening and one with a transparent background, in case I want to place something else behind it or just have it as an opening between two rooms or so.
The assembling happens in Gimp, we simply copy our door base on layers on top of the background layer we just made.
To create the lights and shadows, we again have many options, here I will show you one that makes use of layer masks once more.
We duplicate the layer with the door we want to apply the shading to and recolor it to the darkest (or brightest, in case of the other one) shade it is supposed to have.
Adding an all black layer mask to that layer will make that vanish for the moment, but now we just take a very soft white brush and draw in the area for the shading - on the right and the top.
We can now adjust these shadows with some smudging or drawing additional shades in with a lighter gray.
For the transparent door, I like to go with similar shade, just a little lighter and for the bright I like to go with a bright yellowish tone.
We export it with a !$ at the start, to ensure it is drawn on the map without any offset (as the chars usually have) and that the engine knows we have only one part of a charset, not the full sheet with eight.
And there we go, a fully functional custom door!

And if you read until here and did not notice anything, well, I did not until hiddenone nicely pointed me towards the fact, that my door opens in the wrong direction and the knob has to be on the other side.
First I had planned to redo all the images and edit it out, but I left it in to add this little talk about: think about what you do and always remember to step away from your work and check if everything you did actually makes sense this way.
Often when you just follow a procedure, you miss out on important adjustments as I did here.
But that is not horrible, and after a short embarrassed laugh, here is the fixed version ;3


Forewarner of the Black Wind
Jul 2, 2014
Reaction score
First Language
Primarily Uses
I love the puns, the knob error, and that this is very accessible (only the white brush on the layer mask leaves something up to user skill).



Sleeping Dinosaur
Oct 13, 2012
Reaction score
First Language
Primarily Uses
If you want to call "drawing a wonky rough line" something that needs skill ;D

And I realised I forgot to close up the tutorial.
Hopefully this tutorial gives you the tools to add just the doors you need to your game! Knock on wood!


Oct 8, 2018
Reaction score
First Language
Primarily Uses
GraphicGale has it uses that makes it easier in photoshop, the knob on the door
is also relative easy fix, but for a beginner is it really usefull.

nice "ex-plaination" again ^^


Jun 17, 2022
Reaction score
First Language
Primarily Uses
this was very helpful........but the puns are the best thing here i can't resist a pun :D

Latest Threads

Latest Profile Posts

Just completed another cutscene. Huge one for the story. I'm so enthusiastic about where this game is going.
Man, the enemies in the new Sonic Frontiers update are totally roided up. I wanted a little more difficulty myself, but Sonic Team turned the dial a bit too far.

At least the new tracks for roaming Ouranos Island as Amy, Knuckles, and Tails slap hard.

This battle victory screen has been pretty fun to work on. Not only can party members set new personal records for their contributions to the fight, but when they do, the party remarks on the accomplishment!
When you love all your children equally, but the world sees it differently.
Found an old, unfinished project of mine, where you fight movie screenplays as an up-and-coming actress.
Turns out I used VX way back when. I may need to remake this in MZ, the premise was kinda hilarious.

Forum statistics

Latest member