Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
A jam submission

UnveilView game page

Calming mystery puzzle game
Submitted by Klaatu — 1 day, 16 hours before the deadline
Add to collection

Play game

Unveil's page


CriteriaRankScore*Raw Score

Ranked from 6 ratings. Score is adjusted from raw score by the median number of ratings per game in the jam.

Source code repository

Tools used
Slackware64 Linux 14.2
Python 3
LMMS (for music)
ZynSubAddFX (for synth patches)
Nemoy font (Open Font License)

Leave a comment

Log in with to leave a comment.


Submitted (1 edit)

I managed to score some points but I’m not sure I’m not sure I understood. I already had python installed so I only had to pip install pygame, but you could have published an executable file, with py2exe for example 😀


I’m not sure I can do that. I’m on Linux, so I’m not sure that py2exe works without Windows.


Really nice! I liked that you have to figure out the rules for yourself. I’m not entirely sure I did, but I started to get an intuition for what worked, and the atmosphere was pleasant enough that I didn’t mind idly clicking at squares for a while :)


I played for a couple of rounds and managed to get a score of 99.  Tho, I couldn't decipher what was leading me to success. I might have taken a look the source code to understand what was actually going on.


Sorry, it just drops a lot of errors. Did you run it under a Linux?

[xtristrix@linux-2 unveil]$ ./ ./ SyntaxWarning: "is not" with a literal. Did you mean "!="?
  if self.visited and clone.get() and self.shade is not 2:
./ SyntaxWarning: "is" with a literal. Did you mean "=="?
  if self.shade is 3:  # white gets -2 when taken away
./ SyntaxWarning: "is" with a literal. Did you mean "=="?
  elif self.shade is 2:  # red gets +2 when sacrificed and can clone itself
./ SyntaxWarning: "is" with a literal. Did you mean "=="?
  elif self.shade is 1:  # green gets +1 when sacrificed
./ SyntaxWarning: "is" with a literal. Did you mean "=="?
  elif self.shade is 0:  # black gets -1 when sacrificed but gets +2 later
./ SyntaxWarning: "is" with a literal. Did you mean "=="?
  if column_padding is 0:
./ SyntaxWarning: "is" with a literal. Did you mean "=="?
  if hitbox.shade is 3:
Traceback (most recent call last):
  File "./", line 21, in <module>
    import pygame

maybe it helps for debuging

Developer (3 edits)

Yes, I wrote and ran it on Linux.

I’ll update the README with better instructions. Do you have python 3.7 or better installed?

Try specifically using python3 instead of just python as the command to start the game.

  1. Use Python to install the requirements:
$ python3 -m pip install -r requirements.txt
  1. Start the game:
$ python3 ./

I encountered the same errors on ArchLinux. python 3.8.5, pygame 1.9.6. I think those are just warnings (though legit, I do think you want == and not is).

There was an actual error that prevented the game from launching though:

AttributeError: module 'pygame.sprite' has no attribute 'Sprite'

I noticed that requirements.txt doesn’t pin to a specific version of pygame, maybe that’s the issue?

Also FWIW the jam page tells you to source venv/bin/activate, which isn’t included in the download (but does appear to be commited to your repo).


Thanks for the feedback.

I’ve updated the game with a numbered requirement, and I’ve changed some conditionals in the code to avoid warnings and errors.