close call gameplay
hiding with coin

Slink around collecting coins and Don't get caught

Life is pretty busy, huh?

I originally got into TriJam because it was a small enough that I could devote a few hours over the course of a weekend to making a small-scale game that didn't have to be a grand piece of work. That being said, sometimes you can be immensely excited for an idea you had, but just not have the time to get to work on it. That was the case with this Jam. I wanted to build a small game where the player had to collect as many coins as they could while avoiding detection by a creepy eye-looking creature in the center of the stage. In the little bit of time I was able to scrape together to work on this, I was able to create the creepy eye creature, a simple player controller, and coin collection.

The Eye Creature

I knew I wanted the eyeball creature to have a creepy vibe. I started with the idea of an eyelid that would occasionally blink. This blink would be more than visual, as while the eyelid is shut, it will not be able to spot the player. It's cone of vision is what the player can see it in game. If there was something obstructing the path, including it's eyelid, it will not be able to see past that obstruction. The eyelid would blink at a reasonable pace unless alerted, in which it would be shut and opened back up again in the blink of an eye. But the creature would also be able to hear the player if they are moving too fast. When the creature hears or sees something, it directs its attention towards the obejct. The creature also looks around the room at random, but at a much slower rate than that of it directing its attention towards a sight or a noise. The goal for the creature was to have the player within the its sights for a second or two without interruption and the game would conclude. Even though there is a progress bar show around the creature when this is happening, a proper "game over" was never implemented.

The Player Character

The player character is just a circle whose purpose is to collect as many coins as it can without getting sighted. The player character moves itself towards the user's mouse position indefinitely while the player has their left mouse button pressed. This means the player can move pretty fast! But, as mentioned earlier, when the player is moving fast, they are making noise that will alert the creature. So there is a tossup between being fast and being stealthy. The player must move the player character over the coins to acquire them, and then the next one will spawn.

The World

An Lights ON example of the elements of the world moving

The world is made up of a few different rectangles that are to be used as cover from the sights of the eye creature. The issue is, the world is dark and is only lit by the creature's eye, the small aura the player character gives off, and the even smaller aura/glow that the coins give off. The elements that make up the level also move and change in size a little bit at random. The plan was to have a handful of levels that the player choose from and see what the highest score they could achieve on each of them. Unfortunately, only one map was made in the short time I had to work on this game jam.

The Tech

The world "lighting" and creature "field of view" solutions are essentially casting out a handful of rays in front of the eye creature and creating a mesh while taking into account the obstacles in it's field of view. The objects/obstacles are being detected through the use of layermasking as well as the aforementioned raycasting. There are two different "field of view" cones being shown from the creature. One is showing the actual visual representation of the field of view, and the other is just posing as a light, lighting up the world regardless of obstacles in the way.