I am trying to reproduce the same stamping tool as the one we found in the video game "Papers, Please".

In my case I want my users to be able to modify the text they are going to stamp. I will use a similar blocky font.

As you probably noticed in this sprite, the top of the letters is clearer in order to give an effect of depth.

How should I proceed to copy the same effect? The only solution that came to mind was to create sprites for each needed letter and then include them dynamically over my sprite but there has to be a more efficient way. I suspect the author directly drew them in the sprite but I'm not sure.

red stamping tool from the video game "Papers, Please"


1 Answer 1


A simple approach would be to just render the text twice, first with the ligher color, and then with the main color but offset by a pixel down, so that only the top edges of the characters rendered with the ligher color will stay visible.

  • 2
    \$\begingroup\$ thats actually incredibly smart. I think Im gonna do this. the simpler the better \$\endgroup\$
    – Majork
    Commented Jun 20, 2021 at 16:30
  • 1
    \$\begingroup\$ @Majork This is a great solution, but if you're using a sprite based font, I think it's worth pointing out that you can also do the same thing in a graphics program (Photoshop, GIMP, etc) to produce a new sprite font that has the same visual effect baked in. \$\endgroup\$
    – Pikalek
    Commented Jun 20, 2021 at 18:34

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .