30) I have a new idea for a behavior: A 'detector cone' object.
So, basically, if you've ever played Metal Gear Solid, you know what this is about:
We basically would assign 'cones' to a sprite and define it as their 'detector' behavior. So, we could trigger events like:
If player is being detected by enemy1's cone - enemy 1 is alerted.
The cones should be parametric, so we could define the cone angle and the radius directly in Construct - so we could dynamically create enemies that don't see very well and others that see really well, etc.
Also, the cone should be able to be stopped at obstacles. So, if I stand behind a wall and the enemy is on the other side of the wall, if his cone detects me, the event shouldn't be triggered if there's a wall between us.
This could be used for enemies in general in a multitude of genres or even for those desktop tower defense like games, where every turret would act according to such a cone detector.
This would pretty much allow us to simply emulate the visual AI of enemies - so they can actually see or not see a player and their detection 'skill' is based on the creators input.
Now, how could we solve this for sound? Like, if the player has to sneak through an area, how do we create a gameplay event that'd help us define the area in which enemies can hear the player if he starts being noisy by running, jumping, doing something noisy in general?
Now, our ears don't work like our eyes in the sense that they're not bound to a certain angle. We can hear what's behind us, but we can't see what's behind us.
So the solution should be simple - a sphere! In the same way we attach the cone to emulate an enemies visual field of view, we could create a sphere to basically emulate his ears. So, if the player makes noise inside of an enemies 'audio sphere', we could trigger an event that'd alert the enemy.
So, for a sneaky game or generally just to make our enemies smarter and sorta emulate a simple AI that could be very convincing already, we could add events and base triggers on them. So, we could make a private variable that would define how much noise the player makes - and this'd just be an additive variable.
So, the base noise would be 0. If the player just walks around, he doesn't make any noise at all. If the player starts running, we set the private variable to '+20'. If the player jumps while he's running and lands, we add another '+20' the moment he hits the ground. If the player activates some switch, we could add '+10', etc.
Because of that setup, we could again create enemies that hear well and enemies that can't hear shit. That could make for some very interesting gameplay schemes, where the enemy has to outsmart those relatively 'simple' systems, but it sorta feels real, cause you don't see the cones and spheres.
So if we give our enemies cones for sight and spheres for sound our enemies could actually SEE and HEAR us, which could be a HUGE plus for a lot of games.
Metal Gear Solid on the original PSX was awesome because the enemies seemed a lot smarter because of that - and imagine a zelda-like adventure where you have to sneak inside of the castle and actually be smart about your movement and about when you start running, activate switches, etc.
Also, it'd help for these kind of games: