Helpful Resources For Creating A Stealth Game?

Hello everybody,

This year, I plan to study and learn Unity as a hobby, and I plan to spend some time each day learning about the fundamental aspects of Unity. I have already completed a majority of the Official Unity tutorials. I have loved and enjoyed stealth games for years, and I was curious to hear your feedback about resources that would be helpful in learning a basic overview of how to create a stealth game. I have already spent a large amount of time researching and have found the following resources.

(Field of View Youtube Tutorial)
https://www.youtube.com/playlist?list=PLFt_AvWsXl0dohbtVgHDNmgZV_UY7xZv

(Unity 4 Stealth Project Tutorial)

(First Person Stealth Game Tutorial)

Lastly, I just wondering if anyone has found any other learning resources that have been helpful in teaching about stealth game mechanics or creating a stealth game?

2 Likes

Hey there, welcome, and kudos to you for having done your background research!

I don’t have too much to offer to your specific question. I will say, though, that a “stealth game” is 95% the same as any similar FPS game. So, if all you’ve done so far is tutorials, you probably don’t need to worry about stealth mode yet.

Instead, what you should do is start building your own games from scratch. I recommend starting with something like Flappy Bird or Doodle Jump. Sound easy? Maybe it is, but try it and see. If you’re fully awesome, it’ll take you a couple of days, and then you can put it to bed with a sense of satisfaction and move on. More likely, though, you’ll discover some gaps in what you’ve learned, and it’ll take a little longer, but force you to level up your skills — and that’s a good thing.

Making something like a first-person stealth game is a big undertaking, even in Unity, so build up to it, and have fun along the way!

5 Likes

Hey JoeStrout,

Thank you for your answer,

All I have done is tutorials, and the thought of making a game from scratch does seem intimidating. However, your suggestion is a great idea because making small scope games from scratch will force me to understand my gaps of knowledge and force me to focus on the foundations of Unity. I appreciate your insight :slight_smile:

I think looking back at when I posted this question, perhaps I was overtly passionate about immediately jumping into creating a first person stealth game when in reality I need to learn to build games from scratch and incrementally increase my Unity knowledge in order to understand that small scope will be really helpful to me learn how build things on my own.

Lastly, when you say from scratch, are you referring to creating a flappy bird or doodle jump type game without looking at tutorials? Just based on one’s current Unity knowledge?

3 Likes

If you understand Joe’s advice already and get why it’s valuable to start small, trust me when I say that you are already way ahead of a lot of new Unity developers!

When it really comes down to it, there’s no wrong way to make your first game. You certainly could take on a grand-scope, enormous MMO-RPG-FPS-MOBA, and you’d definitely learn some things along the way. The problem is you’re fighting for every scrap of progress you make, and a lot of it turns out to be unusable because it’s beginner code that would be tough to scale and maintain.

So the advice for small games helps push you in the direction of figuring out the “wrong” way to make things first, in a small enough project that you can still finish the game. And you still learn something, too!

As far as using tutorials… It’s not that tutorials are bad or anything. I use them all the time when I’m exploring concepts that are new to me. But I wouldn’t go into it saying “I’m going to make a Flappy Bird clone”, find a Flappy Bird tutorial, follow along, and call it a day.

If you want to gain actual, useful experience for what it’s like to make a game, sit down and think through the project yourself first. Consider trying to flavor the game in some way to add your own spin to it, including art direction, a bonus game feature, etc. Example:

  • Concept - I will create a “Flappy Bird”-like game with a key difference being the player can move directly forward for a brief time when holding the Jump button. This would be a short “boost” that lasts for short periods based on a cooldown meter. Maybe there are power-ups?

Just a really basic mission statement of sorts for the game to keep you on track. You should feel free to remove stuff from this as you go, but carefully consider adding anything, and weigh the potential scope increase it would entail.

Next decide the general direction kind of stuff.

  • Platform - I will build a desktop (PC) version as my main goal. I may try building a Mac version and test on my brother’s MacBook, if he’ll let me. WebGL could be a good candidate as well.
  • Art - The main character will be an anthropomorphic rocket. The environments will be space-themed, with aliens, orbital structures, and debris as obstacles. I will draw all the art myself in Paint, or use free assets from the Asset Store when appropriate.
  • Sound - I should probably have music and sound effects. This seems like a low priority though and I’ll look into it once I’m done with the main portion of the game.
  • Story - Implied through the characters and environment. No story elements necessary.

At this point, consider technical needs you may have, such as what kind of systems you’ll need to create / acquire to complete your concept.

  • Controls - The player controls their character by clicking or click-holding the screen. They could also use the space bar.
  • UI - I’ll probably need a main menu. Maybe a pause menu when in the game, too. Options? For turning off music and SFX and stuff?
  • Save system - The player starts over each game, but the game should keep track of your highest score.
  • Randomized levels - The game should be different each time you play. I’ll need to figure out how to randomize the placement of obstacles and powerups.
  • Network - The game will be singleplayer, so no networking should be necessary. What about achievements? How do they work? Should I have those? Research this more later.

Once you get that list done, it might be a good time to go back through everything you have so far. Weigh things for importance, and DO NOT BE AFRAID TO CUT BACK. Remember the main point of the exercise: to learn and finish the game.

Okay, so it’s time to get started. Break things down from big concepts you don’t know how to do:

  • Generate an infinite number of random obstacles scrolling across the screen

to lists of simpler concepts you already know, or can figure out how to search/learn:

  • Select a random object from a list of objects

  • Use a script to instantiate a prefab on the screen

  • Make an object move from right to left and disappear once it’s out of view

  • Detect when an object collides with another and end the game if it’s the player

Approach your tasks one by one. Take comfort in knowing that for each item ticked off your list, not only are you learning stuff you didn’t know before, you’re getting that much closer to making a complete game!

As you grow and develop, you’ll eventually get to the point where you look back at some or all of what you made and think “This is garbage! I could write this so much better now!” This is a milestone, and means you have several options:

  • Continue on. Finish the game and do it better next time.
  • Rewrite the crappy portion. Great exercise, but can sometimes get you stuck in an infinite loop, if you’re learning enough. :stuck_out_tongue:
  • Scrap the game. Either start over from nothing or move on to the next project. You shouldn’t do this too much, or you end up like me with 30 incomplete projects on your hard disk and not much of a full portfolio. But if you feel like you’ve learned something and would rather move on to another set of tasks, there’s no shame in canceling a learning project. Having fun while you’re working is important early on, so don’t burn yourself out by forcing yourself to do stuff you don’t enjoy.

If/when you get yourself to a completed or nearly completed game, do a bit of testing. Try to break the game. Identify those bugs, and fix them. Hand the controller off to a friend or family member, and have them play while you sit silently and watch. See what things work and don’t work for someone not intimately familiar with the game, and address those issues as needed.

That’s kind of it! At this point you’re either ready for the next project, or – if you’re really proud of this one – you could release your game! That’s a conversation for another time though, when I’m not already up an hour past my bedtime.

Good luck, and have fun!

3 Likes

Thank you so much Schnieder21!

That post is extremely valuable to me, and I really do appreciate your insight. To be honest, right after I finished most of the Unity official tutorials, I started to make experimental learning projects, and I ended up scrapping all three of them. Essentially, what I did was to try to understand what task did I need to do, and then search for information for how to do that task, if I didn’t understand it. While I learned a ton, my expected scope for the projects far exceeded my own practical knowledge.

One thing though from reading your post, is that I need to spend a considerable more amount of time fleshing out the thoughts in my head regarding what I want the learning project to actually accomplish in terms of art, story, game mechanics, and platform. My tendency is to immediately jump in and start to experiment without a solid framework of what I want to accomplish. In a strange sense, jumping into a project compulsively can actually lead me to burn out faster.

Often that leads to feature creep as I want to continuously add features which sound cool, but I don’t actually know how to implement. Thus, the scope of the learning project quickly becomes overwhelming when I want to do all of these awesome things I am imagining in my head without realizing that I have to be patient with my own knowledge and skillset.

Lastly, from both of the previous posts, something that would be really helpful for me is to organize and flesh out of my thoughts regarding possible projects on a whiteboard. Additionally, I’ll make sure to focus one accomplishing one task at a time and understanding the underlying concepts needed for that task. In this sense, I want to keep my scope small, and take my time in learning Unity.

2 Likes

Yes. Also, no.

Planning is important. But there’s definitely such a thing as doing too much planning, because it means you’re not doing any doing. For each unfinished project I have on my hard disk, I have 30 more projects written out on Post Its and scraps of paper tucked away in drawers.

Don’t forget that of all the riches and fancy things you may acquire in your lifetime, one of the most valuable things you have is actually your time. Don’t undervalue your time! And when working on a game project, try to manage your time the way you would as if it were a project you were being paid a flat fee for. Budget hours for tasks, keep track of time spent (to some degree, no need to be meticulous or anything, unless you’re going to really analyze the data), and do your best to adhere to those budgeted hours and timelines.

I would imagine the planning phase of your project should be 5-10% of your total hours tops. This counts mid-project planning/replanning sessions for when you need to re-evaluate things, so don’t burn all that time up front, either.

I should point out this is all fantastic advice that I haven’t successfully followed myself… yet. But if you can pull it off, let me know how it worked for you and I’ll try harder to adhere to it next time around. :stuck_out_tongue:

4 Likes