I always like to keep busy, so I’ve decided to start developing a turn based stealth game in my free time. The object of the game is simple. You’re a sneaky guy, and you’re trying to make it to the level exit without being spotted by the guards… but it’s not quite as easy as it sounds. To move, launch your character by clicking and dragging. Once you’ve launched, you’re completely at the mercy of physics. Whenever your character finishes moving, now it’s the guards turn to shift, rotate, or whatever they need to do to run their usual routes. You alternate turns until either you’re spotted or you escape to sweet freedom.
Day 5 (8/02/2017):
Today the game finally became turn based. Initially I planned for the enemies to have to wait for the player to become motionless before they could move, but this was sluggish and boring. Instead I’m experimenting with a system where there is a four second safe period after the player launches before the enemy moves and rotates.
Day 4 (7/30/2017):
Implemented a basic level select screen, exits, and I laid the foundation for my level builder. I can’t stress enough that all these graphics are just placeholders that I threw together in a couple minutes. I was originally planning to build my levels in Photoshop and then use Unity’s PolygonCollider2D to place the wall colliders, but unfortunately I found out this tool does not work as I initially thought. It is mainly used for creating colliders on complex 2D shapes, and the shapes have to be solid for it to work. Since I have a border level wall and many shapes inside, it does not function properly, so instead I am going to create different outlines and shapes, manually assign the colliders, and build the levels inside Unity.
Day 3 (7/27/2017):
Added in a detection meter that the player can actually see. When you’re in the line of sight of an enemy, the bar will quickly decay. If it runs out, then you’ve been spotted and it’s game over. If you manage to get out of the line of sight, it will fill back up again.
Day 2 (7/26/2017):
Now that you can move and see, it’s time to die. I settled on the basic enemies having a narrow eye sight that can easily be changed on an enemy to enemy basis. The default shape of sight is a cone, but later on I’ll be implementing other shapes. I implemented a ray cast sight system where enemies view the environment at a default 60 degree angle. This system is great, because it gives players plenty of freedom to sneak around the guards anyway they want while also making the guards comically dumb. To compensate for less skilled players, I gave the player a “detection meter” that builds up when they’re in the guards line of sight and resets when they leave it. This acts as the players health and when it gets too high, you lose. But of course, dying has to be fun too, so I added in a nice little death animation where the player shrinks until they’re smaller than a cell.
Day 1 (7/25/2017):
I started by creating some simple placeholder art in Photoshop. A circle for the player, a circle for the basic enemy, and a hollow square for the level. Simple as can be. Implementing the basic movement was easy, and after a few hours I had a functional launching system where you could move by clicking and dragging the left mouse button. I also laid the groundwork for the camera system. By default, the camera will follow the player’s movement while keeping at a nice distance. If the player holds the right mouse key, the camera will zoom out and center on the middle of the level. This system works because it’s easy enough for the average person to hold both buttons at once.