Enemy Design in Games

The Basics of Enemy Design

An Enemy can have up to 3 Senses. They are not like human senses, but the idea is kind of the same.
They can be rather complex or very simple. Each game is different so the enemy design in games has to be different every time you create a new game.

The Senses are as follows:

  1. Eye (Seeing something)
  2. Ear (Hearing something)
  3. Touch (Feeling ?)
  4. Pre-Set (or Non-Sense)

There extra’s which can literally be passed into the first 3.
Which are “Feeling something” and “Smelling something”. But as i said it’s not like in the real world.

There can also be “Mood” if you use different states or behaviors in which the enemy can be. This most of the time is relative to values like health.

The Non-Sense

This is a rather old sense, in which the enemy doesn’t do much but moving from Point A to Point B. That “Path” is usually set by hand or is based on Obstacles.

When using obstacles, the enemy needs to what to do when it “reaches” an obstacle. There are 2 common possibilities. You can give the enemy an Eye or a Touch Sense.

The Eye Sense

The first sense of an Enemy in Games is usually the “Eye”. In Unity we can use Raycasts to look forward or in any direction to “see” something. And The Raycast “sees” something we are looking for, the enemy can react to it. In my example change the move direction. We just need to make sure the raycast is not to long.

So what can the enemy “look” for?

  • The Player/s of the Game
  • Obstacles
  • Items or Collectibles
  • Other Enemys

Based on “priority” and maybe some random or special factors, you can give the enemy a possiblity to react.

This can be factors like range, strength or other parameters you have to decide on your own. By creating a reaction board you can better design the enemy behavior, later on you can fine tune that reactions, times or even numbers.

So if the enemy has multiple option, you need to tell the enemy, maybe based on a difficulty setting, how the enemy should react once he has a scenario like above.

The enemy sees 4 Options, he can pick up an item, he can hide behind an obstacle, he can pick up a weapon, or can attack the player.

Decision making is hard to program, and if you are not using maschine learning, you have to pre-determine such scenarios.

How to do that is rather simple to do enemy design in games. You can simply weight importance and calculate chances to do the most weighted first.

A weight table could be like :

  • weapon: (if better than current) 45% priority
  • item: (if needed for something enemy relevant) 35% priority
  • attack player: (if stronger than him) 15% priority
  • obstacle: (if to weak to battle, player is way to strong) 5% priority

But the weight table can also be totally different or change, because of other behaviors which play a role. Again, you need to decide how you want the enemies to act. Don’t forget to pull in distance and speed parameters as well, like: Is the item even reachable, am i faster than the player?

The Ear Sense

Of course a an enemy is unable to hear, but you can put in items which have a event range to make every enemy nearby listen to that event. Like you step on a twig, or shoot. Also it can be an alarm, which you triggered. That can trigger events on enemies which are close enough and are able to listen to that event.

In such a case you can put the enemy into a different state, so he may look into the direction where he heard it, or runs around , trying to find the player for using the eye sense.

The Touch Sense

The touch sense, can be different from game to game, but you can see that sense like getting hit by something. In that case the enemy looses health or takes damage which is the most common use for that.

There are a bunch of possibilities to react to it. In a Boss Battle as an Example you can enrage the Boss at a specific health amount, and use total different behaviors, or even attacks the boss will perform.

The Smelling Sense

That is a sense which can be seen as the ear sense. If your player has a “Rose” smell you could react with the enemy in different behaviors.

The Pre-Set Sense

This is like the Non-Sense. An Enemy walks on a given path, not doing much but maybe idle here and there. Combined with the other senses it can be pretty powerful. Since it might still be able to hear something like a deer in the wood, can run in the opposite direction of the sound.

It maybe runs for 1 second and than continues with his route. But also it can react to touch, if you shoot the deer, or even can be enraged, if you hurt another deer nearby.

Conclusion

Enemy design in games can be rather complex, and you have to decide, what you really need, and what the enemy should do. So plan ahead, and try to use the easiest sense to get best effects.

Thanks for reading.

Core feature – Picking a Game Idea

There are multiple mistakes done new game developers. They are not picking the core feature of their game. Most of the time they’re picking too much topics they want to introduce or put in their games they want to create. In this article i will explain how you can focus on the most important steps for your game.

As an example:

  1. automatic maze generation
  2. ninja 3D shooter
  3. procedural mesh generation
  4. plattformer
  5. item crafting

As you can see that are lot of topics in which new game developers are going to easily be stuck in. Also you’re going to lose the topic of the game itself and you’re going to struggle or probably have to restart the complete process over and over again. So for that problem to solve, especially if you are you new in game developing, you want to make sure that you choose a core feature.

Make sure you only choose one core feature, with one twist inside as well.

What is a core feature?

A core feature is the actual game idea, so you only focus onto this actual game idea or core feature. As an example you choose to core feature: plattformer

So meanwhile you are creating your game, you don’t want to lose the focus on this feature, so everything has to be inside this particular topic.The good thing about it is, that you always know what the aim for the game is, and you can simply extend that idea later on.

Once the feature is completed and implemented you can create some levels to test the idea out and also add the twist to your specific plattformer in this case.

Game developement. Pick one Core Feature and one Twist.

What is a twist?

A twist is meant to be some specific feature which makes your game be different to other existing games in that niche. As an example, you now have a platformer with all its necessities to actually create some prototype, but now you add a special feature to it like a:

  1. grappling hook mechanic or
  2. magnetic mechanic or
  3. watering plants mechanic

This would make your game different from other existing games and is your “sales pitch” later.

Pick just 1 core feature and 1 twist!

Pick only one core feature which is going to be the theme of the game and only one Twist. Once you have chosen those, start to create a prototype and play test it. If your prototype is fun to play you can start to work on the graphics, the sounds and all the other good stuff and show it to the world.

Prototyping is a super important step at this point, but you need to know what you want to prototype, so pick your core feature and your twist wisely.

Conclusion

Only pick one core feature and one twist per prototype. Build the prototype around those two and playtest them. Once you’re happy show that prototype to the world and get feedback. Finally create the rest of the needed content to make a full fun game out of it.

Do you need help in creating your first game or prototype? Hire me!

Getting started in Game Development

Getting started in game development is not as hard as you think. You literally just download a game engine and then you just start to learn how to use that game engine as well as  learn from sun and tutorials how to make something at least to go on in your little first Project.

There are a couple of tutorials outside as well as courses in which you can learn specific content or even beginners stuff like in unity game engine.  But when it comes to a bit more in details, you actually have to learn some coding, graphics, sounds and a lot of other things.

A lot of people which are starting out in game development having trouble, most of the time, the graphics at the very beginning.  But even for that are courses on side and which you can run a graphic basics using some specific programs like Inkscape or any else to make some at least basic graphics.

 So the question is:  

How good do my graphics have to be?

The truth is it doesn’t matter. Because you need to learn to work with the engine first. If you want to make stuff automatically beautiful well then you’re screwed with two problems.  As an example if you are bad with graphics of course you can learn that,  but you can simply ask your daughter or your son to do some graphics for you and nobody will care about the quality.

When it comes to prototyping you don’t even need any graphics a circle a square or even a triangle will do the best to Showcase whatever is going on.  Because I’m prototyping itself it doesn’t matter at all how things do look,  at least not at the first place. 

The same as you will happen or appear if you need 3D graphics.  So before you can create stuff and 3D you of course it to learn any type of 3D software.  And you also need to learn how to make those 3D models beautiful comma, animate or rig them, how to create UVs  and of course the textures for these 3D models.

But again in prototyping face or in the basic game creation this is not important. What’s most important of a here is create your idea and learn first how to code in C Sharp if you’re using unity engine as an example. Also learn everything about the engine and content you need for one or the other Project.

How good to do my sounds have to be?

I recommend not care taking care of Sounds at least not for the moment or for the start. Because that takes even more time to learn a software which can produce sound, or even create music,  how to mix, export, import and all the other stuff.

So whenever you are starting out was game creation you shouldn’t take care of Sounds at all.

What is the most important thing in starting with game development?

Get used to the game engine you want to work with, and start learning to code and how things are working together. Learn to code in C Sharp by using several tutorials especially for beginners on YouTube or just go to udemy.com and get some of these over there. 

And if you have some specific game in mind you can go and visit one of my courses or even other ones.

Why is so hard to learn coding?

The biggest issue in learning to code is understanding the logic. So what do I mean by that? Think about you want to solve problem.Coding is nothing else than solving problems you encounter by creating systems which you want to do something.

As an example you need to create an inventory system. Such a system is quite code heavy especially if you don’t understand how to create that. So what do you no need to learn or understand is the logic behind such a system. 

For example: What is an item really? How do I store multiple items? How can I use items? And how can I pick them up? How can I visualize items?

As you can see there are a lot of problems to solve for just one system. And to solve those problems it is crucial that you learn the basics of a c sharp like: what is a class? How to set up an item class? What needs to be inside this class? How can I read this class? And how can I make use of that class?

Again we have a lot of other small problems to solve so we should take now each single small problem and try to solve it one after another.

Don’t try to reinvent the wheel!

Try to learn from others as much as you can to increase your process time.  Sooner or later, most of the time, you will understand why people write code in a specific way.

Game development is a process you have to learn, do it with passion and create your first prototype of a game you ever wanted to see, or like to play on your own. Make sure your first game is not super huge and can be solved in about a week or maximum of two weeks,  so you don’t lose motivation.

Make sure you to finish your little game and present it to your audience if you have one already.

If you hit the wall try to solve the way through the wall.  Ask other people for help or check out at different videos and probably other websites about solving your specific problem you Encounter.  If the problem is still too huge split up in multiple small problems so they are easier to solve in the end.

Happy game making.