Stealth Extended
My goals with this project was to learn more about Mecanim and root motion in particular, get some experience with reverbs and the various audio filters in Unity 5, attempt to create a passable GTA 5 style character controller and camera rig, and try to create some interactable world space GUI using the new Unity GUI. And of course to play with the Stealth tutorial assets to see what I could do with them because these assets are very well made.
Overall I feel like I accomplished what I wanted. First of all I think I can safely say that I dislike root motion. I don't think it gives you enough control over your character and it's awkward to work with. That is unless I'm using it completely wrong. There's still some Mecanim/root motion things in this project from the original tutorial or the standard assets third person character controller I don't entirely understand.
As for audio I still need to try more things with reverb and filters, what's in this project is a bit unpolished, but it's a start. I ended up creating my own audio manager which controls every audio source in the game. Whenever a sound is played the audio manager calculates the distance between the audio listener and the audio source and checks whether or not the source is occluded (line of sight check to the listener) and then tweaks the pitch, volume and a low pass filter accordingly. I playtested it with some headphones and it gives a pretty good indication of where sounds are coming from, but like I said it still needs more work.
My GTA 5 style character and camera rig turned out okay for a first pass. It's loosely based on the third person character controller found in the Unity 5 standard assets. I will tweak it more in the future. I will wait until GTA 5 gets cheap on Steam so I can compare it to the real deal played with mouse and keyboard. When I made this I only had GTA 5 on Xbox 360 to compare with.
I also added two "mini-games" to the terminals controlling the laser fences. There's now a keypad on the terminals which requires a code before you can turn off the laser fences. Some terminals require you to hack them to succeed.
My extended version still has the same premise. Your goal is still to get to the lift and exit the level, but I've changed a lot of the stuff in between.
Here's a mostly complete list of all the changes I've made to the original project:
- Added a keypad to the terminals using the new GUI system. All the terminals require a password. The passwords are usually hidden around the level. Some terminals may also require you to hack them.
- Added a hacking mini-game to the terminals.
- Added an audio manager which controls every audio source in the game. Whenever a sound is played the audio manager calculates the distance between the audio listener and the audio source and whether or not the source is occluded (line of sight check to the listener) and then tweaks the pitch, volume and a low pass filter accordingly.
- Added roofs to all the buildings. Entering a building enables reverb and changes the ambient sound.
- Changed the perspective from top down to third person.
- Added a GTA 5 style character controller with a camera rig that checks for collisions with the level geometry and moves to avoid it.
- Added an in-game menu with a slider for controlling brightness through a simple image effect as well as a volume slider.
- Made it so the doors also open/close when the robot guards walk through them, and changed the waypoints for the guards so they enter buildings. You're never safe.
- All the cameras now animate from side to side and if they spot the player they lock onto him until he leaves their field of view.
- Added a red glow to cameras and a fake volumetric lighting effect to easily visualize for the player their field of view.
- Made it so the player can crouch. Useful for hiding under tables or behind obstacles.
- Added zones under tables where the guards can't see you even if you are in their line of sight. Useful for avoiding frustration caused by thinking you're safe and suddenly being spotted.
- Made it so the robot guards actually look up/down depending on where you are. This had to be done for them to detect the player if he crouched. Now the guards always look towards the player's head. They also aim towards the player's head when they are in the shooting state.
- Added proper footstep sounds to the player and the robot guards which trigger when their feet touch the ground.
- Changed the geometry of the level a bit, mainly just as an exercise to see how easy it was to tweak non-source assets like .fbx-models.
- Changed the setting for the level. It's no longer a training excersise in some facility. It's now an secret base outdoors in the mountains with a starry sky.
- Changed all the materials to the standard shader. There's no proper roughness maps etc. for them, but when I changed the render path to the new deferred renderer all the old materials broke so it was necessary. The game has almost the same look as before, but if you add roughness maps I expect it to look a lot better.
- Changed it so that when a guard sees you only he comes running, and not all the guards in the level. If he hears you he instead walks to investigate. Also changed the range at which guards begin shooting to make them run after you if they see you rather than just shoot you instantly. It's scarier and more fun. If the player triggers an alarm (laser fence or camera) all the guards come running.
- Added the Bloom V2 image effect from the Unity Labs project. It's better looking than the default bloom and in low quality mode it's faster as well.
- Added Thomas Hourdel's Subpixel Morphological Antialiasing: https://github.com/Chman/SMAA
The original tutorial is available from the official Unity site here:
https://learn.unity.com/projects/stealth-tutorial-4x-only
If you want to follow the tutorial from scratch in Unity 5.x before you look at all the changes I've made to the project there's a support thread for doing the original tutorial in Unity 5.x here:
https://discussions.unity.com/t/tutorial-project-stealth-under-unity-5-x/571065
In case you missed part 1 of my extended series, it was based on the Surival Shooter tutorial:
/projects/survival-shooter-extended
Project information
Current version: 1.0.3
Built with: Unity version 5.6.7
The Unity project is hosted on Github:
https://github.com/oyvind-stromsvik/stealth-extended
You can get Unity 5.6.7 for both Windows and Mac from the Unity download archive:
https://unity3d.com/get-unity/download/archive
Add new comment
- Upgraded the project to Unity 5.6.7 and moved everything to Github.
- Upgraded the project to Unity 5.4.4.
- Added a quit-button to the pause menu because there is no Web Player anymore, only standalones.
- Added Windows and Mac standalone builds.
- Made it so no character or camera input registers while the pause menu is open.
- Tweaked some shadows that changed in Unity 5.4.
- Added a README.txt to the project.
- Upgraded the project to Unity 5.3
- Initial release
There are no known issues or planned features at this time. If you've encountered a bug or have suggestions for additional features feel free to leave a comment and let me know.
Alex
I really like the GUI on the terminals and the audio. Really cool changes overall.
- Alex
Øyvind Strømsvik
@Alex: Thanks, it means a lot.
Karen
I love it! :)
But what's with the green terminal? I can't find any passwords for it and it's not hackable. Halp!
Øyvind Strømsvik
@Karen: I'm sure you can find a clue if you download the project and take a look at the source. There's a clue visible in the last screenshot on this page as well. :)
PS: Don't get your hopes up as to what the green terminal actually does though. :p
sps
It's awesome. Thanks for sharing.
Max
Hey when I try and get to the exist in the game the lift door doesn't open, is this because in ran to exist door without turning of the switches
Øyvind Strømsvik
@Max: Haha, to be honest I don't remember the victory conditions for this game. I think the keycard is still in the game? So perhaps you need to find that.
But I honestly don't remember. :p
David
Hi, very nice demo. LOL
I will download and will use it to prictice with my new Fmod 101 certification skllis. if you don't have any problem. is ok?
thanks
Øyvind Strømsvik
@David: Thank you. :)
Do what you want with this project. :)
David
@Øyvind Strømsvik:
Thanks, i will try to remake the sound using Fmod Studio (Midleware Sound Software).
Thanks
Tomas
Hi Øyvind,
thank you for all of your beautiful work. I already used your game project Pong for basic experimenting with the world of game audio. I wanted to take next step with the Stealth Extended project, but I have problems controlling the game. After the game starts, I am not able to jump, open the minimap and do other things. I can only walk, squat (switch) and run. Am I doing something wrong? I have to be sure that the game is working properly before I start implementing sounds.
Thank you,
Tomas
Øyvind Strømsvik
@Tomas: There is no minimap or jumping in this game. What lead you to believe that? :) I'm fairly certain the available controls are written in an included README-file.
The basic gameplay is the same as in the original tutorial.
Tomas
@Øyvind Strømsvik: I saw these controls (jump, minimap, etc.) in the settings window (resolution and input) that pops up after you start the game.
Thank you for your answer. I will check out the README file.
Øyvind Strømsvik
@Tomas: Ahh, right, those are default from Unity. I guess I should check and see if I can disable those or at least remove those I don't use. Thanks for letting me know. :)
Harley
hey man great project. really having fun using to practice fmod and unity integration. just had a question regarding the layer mask for occlusion. i'm not sure what needs to be culled on the layer mask pop up menu. can you remember what setting it was on?
Much appreciated.
Harley
@Harley:
I figured it out in the end :)
Robert Harley Matthews
Hello, im encountering a glitch where the camera spins out of control and auto rotates, usually happens when i run into one of the buildings? any ideas on what the issue could be.
SJS!
Nice one. Just 1 request can i use this project for my learning purpose and extend your work further Øyvind??
Øyvind Strømsvik
@SJS!: Sure, whatever you can do with the official Unity projects you can do with this one.
SJS!
@Øyvind Strømsvik: Thankx, helping a lot to learn.
micheal milton
Changes i have made
Added a settings manager so that level sounds are same over all levels loaded.
Added a levels manager so that you can make the level harder as they progress
Converted old files to work with unity 2019.1.x and up
Added scores only adds scores if player is moving reason for this is so that players don't leave the game in play mode to get better scores.
Raani
join our escorts service its safe and secure come and fulfill your desire with our sexy girls. https://www.nightangels.in/escorts/gurgaon
https://www.eroticangel.in/escorts/gurgaon
https://www.dlfgurgaonescorts.com/
https://www.kavya-arora.in/
https://www.elitepassion.club/call-girls/gurgaon
https://pornstarsname.com/
https://www.escortservicesmumbai.in/andheri-escorts/
https://www.escortservicesmumbai.in/borivali-escorts/
https://www.escortservicesmumbai.in/goregaon-escorts/
https://www.escortservicesmumbai.in/bandra-escorts/
https://www.escortservicesmumbai.in/dahisar-escorts/
NatashaRoy
Hello i am NatashaRoy Great article post, I really interesting the way you highlighted some important points. Thanks very much, I appreciate your post.
https://www.natasharoy.net
https://www.hyderabadbeauties.com
http://www.cross.tv/blog/234085
https://www.businesslistings.net.au/Backlink/And/Hyderabad/Backlink_Nine...
https://natasharoyin.hatenablog.com/entry/2024/09/22/155435
https://www.businesslistings.net.au/Backlink/And/Hyderabad/SEO_Backlinki...
https://natasharoyin.hatenablog.com/entry/2024/09/10/203100
https://natasharoyin.hatenablog.com/entry/2024/09/06/151410
https://natasharoyin.hatenablog.com/entry/2024/08/29/014350
https://natasharoyin.hatenablog.com/entry/2024/09/02/164926
http://www.cross.tv/blog/234001
http://www.cross.tv/blog/233935
http://www.cross.tv/blog/233876
http://www.cross.tv/blog/233918
http://www.cross.tv/blog/233952