Create a stealth game

WittyAdrian GameDev DK30 Quarantine 2020 25 24

Description

I recently watched a video by Game Maker’s Toolkit on Stealth (https://www.youtube.com/watch?v=Ay-5g36oFfc) and got inspired to make a prototype myself using some of those stealth mechanics. My goal with this isn’t to make some fully fledged game, I don’t even have anything concrete planned, I’m just doing it to have some fun prototyping.

Recent Updates

WittyAdrian 5 years ago

I want to start by thanking you all for playtesting my previous build and giving me some really nice feedback. The past few days I’ve been going through that and polishing the game up with some much needed changes. Besides that, I also implemented some more voice lines, other sound effects and added some more things.

While the previous build was functional, it was also kind of rough around the edges. With the recent polishing I did, I now feel much more confident about it and think it’s coming together nicely. If you want to give the new build another shot, please let me know what you think and don’t hesitate to hit me up on Discord!

Download CameraSpy v1.2.exe here!

WittyAdrian 5 years ago

I did it! After some crunch time last night, I was able to finish the game to the point where it has an intro sequence, functional objective and outro sequence. There’s definitely still a few things that I want to polish and there’s also a few bugs still, but the game is playable!

Thanks a ton to Drengen for the music, Ezekiel_III and SDelaplain for the voice acting and popup for the handler art! I’m hoping to do some more work later on to fix some of the things I’ve neglected to do thusfar, but for now I’d love to hear your opinion! If you decide to give it a try, please hit me up on Discord and tell me what you think!

Download CameraSpy v1.1exe here!

WittyAdrian 5 years ago

In the last few days I started shaping the level more in the way it’s actually going to be played. So instead of just spawning inside of the castle, the player will be parachuting into the level and start only with a camera and some nightvision goggles. The camera now also works, as in it actually tracks what is being photographed and only works at a certain distance. This is communicated to the player through a small text display in the camera HUD.

Since weapons are now not in the players possession from the start, you’ll need to find them in the environment. Beside weapons, you can also find items which you can throw to distract guards. This has the same bug as the knife where it can just fly off into the sunset if you angle it too high, but for now I don’t want to spend the time to fix that.

Lastly, I worked in another element which the player will need to keep track of. Namely a van that is moving through the level and will open the gate for a short period of time to drop off some new scientists. The idea is that the player can use this period to sneak in through the front gate, but this will of course be risky, as there are guards patrolling the area constantly.

WittyAdrian 5 years ago

Guards already responded to seeing you, but they didn’t actually hear anything yet. So objects being broken or guards being killed didn’t affect their behavior. In the last few days I added a sound trigger system that can easily be added to any event and triggers the guards to come check it out. At the beginning of the gif below, you can see me shooting out one of the lights, which causes the guards to come check it out.

More importantly though, I thought about some core mechanics that the game is going to revolve around. The main one of those is going to be a camera. I’m planning on making a sort of spy game where taking pictures will be your main objective. So I modeled a simple camera and allowed the player to take pictures! If you pay close attention, you’ll note that the screen on the camera itself also works! This feels like something I can really build my game around and I’m very happy with the result.

Lastly I also added a simple night vision gadget and played around with some more sound effects. Big shout out to sdelaplain#9047 for providing voice lines for all of the guards. You can’t hear them yet of course, but I hope that you’ll all be able to enjoy the glory of his voice acting soon!

WittyAdrian 5 years ago

I realized that a stealth game that takes place during the day need a lot more ways of reducing detection, like obstacles or other gadgets. And since my level isn’t all that big to begin with, I decided to try out a night time setting instead. This also allows my guards to feel more natural with a lower vision range, since it’s so dark. After playing around with it a bit, I actually quite like the look of it, so I’ll stick with it for now.

I also added a few houses down the road, which I might incorporate into the game more as I settle on a flow of the level. You can also see some cars moving down the road toward the castle. Currently they don’t do much yet, but I’m going to see if I can find a use for them later on.

Down in the bottom left you can see the first semblance of an inventory system. This will start to play a more important role as I add more mechanics and items to the game.

WittyAdrian 5 years ago

After the last update I spent far too long making a throwing knife. You can either just use it to stab, or you can hold it up and throw it in a nice little arc. There’s a bug with throwing it too high though, causing it to never fall back down again. But since I already spent so long on it, I’m just going to call that specific mechanic finished for now.

One of the most important aspects of the game is going to be the guard AI. So I started implementing some reactive states, where they take note of you and start shooting at you. I’ve started adding some sounds to the weapons as well, but it doesn’t actually damage you yet. I’ll be iterating on this AI a fair bit to make sure it feels right.

WittyAdrian 5 years ago

To further enhance the effect of shooting an enemy, I added a blood spurt effect when shooting them. It has two stages; at first it explodes in a little fountain of red blood cubes and then any surface that gets touched by said cubes gets smeared with a blood splatter. Also when you hit any surface, it now leaves a bullet hole. This way you can really place your mark on the world!

Just to satisfy my own curiosity, I wanted to see what it would be like to add a fully automatic weapon into the game. So I added an Uzi which fires quite a bit more rapidly than my regular pistol. I don’t think this will actually make it into the game though, as it’s far too overpowered in its current state. That said it is very satisfying to play around with, so I could add it in as an easter egg or secret unlockable or something like that.

WittyAdrian 5 years ago

This is the first time I’ve used rigs like this so I thought it would be fun to try and make them rag-doll all over the place. Also since the player has to defend themselves at some point, I thought it’d be good to give them a pistol to work with. Silenced of course, because it is still looking to be a stealth game.

As an added little effect I animated the slide of the pistol when shooting and made little empty casings fly out after every shot. Getting the enemies to properly rag-doll was definitely a learning experience, but it’s a lot of fun to just see them flailing around the place so I say it was worth it.

WittyAdrian 5 years ago

Of course if I want to make a stealth game, the enemies must be able to detect you somehow, so that’s what I worked on next. I’ve started out with a very simple trigger that’s attached to the enemies, where they can differentiate between “suspected” and “spotted.” This is indicated by the bar above their heads, which is semi-transparent by default and turns yellow or red respectively based on their detection status.

I might remove the detection box in a future update, but for now it’s pretty handy to see the system working. Also this doesn’t include any ray-tracing yet, so enemies can still spot you through walls. This is of course not a desired outcome, so I’ll be fixing that in the future.

Besides the detection I also finished the castle I was building and added a little terrain on the outside, just to give the level a bit of extra flair. I will probably add a few more things here and there as I keep developing, but the idea is there.

WittyAdrian 5 years ago

As a next step I wanted to expand the environment a little more. The idea is to make a small castle that the player has to infiltrate. Guard can patrol the walls and inner area and the player will have to sneak past them somehow.

In this update I finished the castle walls and added another soldier that also patrols the area. Enemies pick their next destination from a list of pre-set point that they can walk towards. In the future I’m likely going to have each enemy have a specific set of points that they can walk between. I also might restrict that list to 2 point per enemy, so it’s easier to predict where an enemy is going to be at any time.

WittyAdrian 5 years ago

Since I’m just aiming for some prototyping, I’m not going to be making assets from scratch. If I really can’t find any suitable ones I might do so, but otherwise I’ll be using assets I already have. For this particular one, I’ll be relying heavily on a bunch of assets from Kenney, which I’ve already picked up a while back.

As a start I decided to get some simple objects in a scene and make my enemies be able to walk around with some basic animations. When they reach their destination they have a brief look around to determine if they see anything and then pick another target to walk to.

Estimated Timeframe

Apr 29th - May 30th

Week 1 Goal

  • Find some relevant assets to use
  • Put the assets in a project and add some animations and configuration where needed
  • Build a simple level with them

Week 2 Goal

  • Start with some simple enemy AI
  • Have the enemies detect the player when getting too close
  • Use raytracing to not detect the player through walls

Week 3 Goal

  • Add some player mechanics to enhance stealth
  • Add an objective to the game
  • Add some sounds

Week 4 Goal

  • Expand on mechanics where possible
  • Finish off the prototype by adding a menu and some other elements

Tags

  • 3D
  • C#
  • Programming
  • Witty
  • Adrian
  • WittyAdrian
  • Prototype
  • Prototyping
  • Stealth
  • Unity