Enemies?

  • 33 Replies
  • 10468 Views
*

Offline Nifflas

  • 1532
  • 59
    • View Profile
Enemies?
« on: November 11, 2010, 23:51:06 »
Almost every enemy is a robot built out of four components, two sensors, an engine, and a weapon. The main sensor tells the engine where it thinks the player is, and the sub sensor tells the weapons where it thinks the player is. If a robot for example have a "radius" main sensor, and an "unstoppable" engine, it will once it sees the player begin to move toward the player and move in the same direction until it collides with something. Another example is that If a robot have a "look ahead" sub sensor and a "plasma cannon" weapon, it will try to kill the player by shooting ahead of it. The reason I want to go for this system is that I only need to do a handful of each type, and just 10 sensors, 10 weapons, and 10 engines will result in 10000 possible enemy types, while yet being easy to understand in a level editor.

Anyway, my question is suggestions for sensors, engines, and weapons.
« Last Edit: November 11, 2010, 23:58:17 by Nifflas »

*

Offline LPChip

  • You can only truly help other people by allowing them to fail.
  • 3431
  • 126
  • Excel at the thing you're the best at!
    • View Profile
    • LPChip Interactive
Re: Enemies?
« Reply #1 on: November 11, 2010, 23:55:48 »
Nice to explain the enemy system, but why do I have the feeling you forgot to post a question? X)
on the left, above my avatar.

MODPlug Central Forum
"If I tried to kill you, I'd end up with a big fat hole through my laptop." - Chironex

*

Offline Nifflas

  • 1532
  • 59
    • View Profile
Re: Enemies?
« Reply #2 on: November 11, 2010, 23:57:32 »
Oh, right. Editing original post.

*

Offline Grookie

  • 135
  • 11
  • 9
    • View Profile
Re: Enemies?
« Reply #3 on: November 12, 2010, 06:59:09 »
There are my idea about weapons:
a) it will try to shot you only once and then it will stop
b) it will be shooting permanently (player can run between "bullets")
c) it will be shooting only if it detect the player
c) it will be shooting hunting missiles (or another hunting enemies)
d) it will be shooting through a wall (there can be a special bulletproof wall)
e) there can be a alley of this e) weapons, they will be dropping a deadly liquid, the place will be polluted "forever"
f) there can be a weapon, which is releasing deadly gas

That's all  X)
:turtle: :turtle: :turtle: :turtle: :turtle: :turtle: :turtle: :turtle: :turtle: :turtle:
Spoiler: Archievements (click to show/hide)

*

Offline sergiocornaga

  • 1242
  • 130
    • View Profile
    • Sergio's Games
Re: Enemies?
« Reply #4 on: November 12, 2010, 11:55:28 »
How about an enemy that mindlessly throws projectiles, i.e. no sensor? Sort of like the cube-chucking Muffinman in Lyle in Cube Sector.

*

Offline LPChip

  • You can only truly help other people by allowing them to fail.
  • 3431
  • 126
  • Excel at the thing you're the best at!
    • View Profile
    • LPChip Interactive
Re: Enemies?
« Reply #5 on: November 12, 2010, 14:33:42 »
I wouldn't make mindless robots, but an enemy doesn't have to be a robot per se. An enemy can be an harmful object that has a timing mechanism in it. Like to rails that spark electricity on a given basis. A pipe that ignites flames every x seconds.
on the left, above my avatar.

MODPlug Central Forum
"If I tried to kill you, I'd end up with a big fat hole through my laptop." - Chironex

*

Offline Pick Yer Poison

  • 782
  • 3
  • One cool cat.
    • View Profile
Re: Enemies?
« Reply #6 on: November 12, 2010, 17:37:15 »
I think that sensors should have options in them like "proximity" or "movement," where they might activate only if the given object was closer or farther than a certain distance or was moving.

Sensors:
-Aim at (aims directly at the object)
-Aim ahead (aims ahead of the object)
-Aim behind (aims where the object just was. For use with instant-hit weapons like lasers to prevent the player from running backwards)
-Aim away (aims away from the object; the opposite of "aim at")

Two options for engines could allow them to accelerate from a standstill and/or slow to a stop, with variable rates, so you could make a robot that slowly builds up speed the longer it chases the player, or one that rockets off but has trouble making turns. Note that these options are NOT the same as the "boost" engine, which is the only engine that does not seek to maintain a constant speed.

Engines:
-Slow
-Medium
-Fast
-Unstoppable (continues moving until it collides with an object)
-Boost (applies a large force when it starts to move, but does not apply another until it has reached a complete standstill. Perhaps it could propel the enemy into the air?)

You should be able to specify weapons as either "pulse" or "ray." "Pulse" weapons would act like any ol' gun, expending their clip and then waiting out the cooldown/reload time. "Ray" weapons would have an infinite clip and no reload time, and would fire a continuous line of ammunition. You might set a rocket launcher to "pulse" and a laser to "ray," for example. All weapons should have an optional "range" setting that determines how far away the weapon is able to hit.

Weapons:
-Machine gun (basic bullet-spitting gun)
-Laser (fires an instant-hit laser beam that appears as a colored line from the weapon nozzle to the contact point)
-Dumb rocket launcher (fires a missile that moves in a straight line)
-Guided rocket launcher (fires a missile that homes in on the object. Speed of rotation should be modifiable)
-Flamethrower (spits out fire)
-Mine cannon (shoots landmines. The delay after impact before arming the landmine should be modifiable)
« Last Edit: November 12, 2010, 17:39:38 by Pick Yer Poison »

*

Offline Nifflas

  • 1532
  • 59
    • View Profile
Re: Enemies?
« Reply #7 on: November 12, 2010, 18:14:13 »
Quote
How about an enemy that mindlessly throws projectiles, i.e. no sensor? Sort of like the cube-chucking Muffinman in Lyle in Cube Sector.
There can't really be exceptions. However, there could be a sensor that detects random positions instead of the player position itself, if that's assigned to an engine, it will move around randomly, or if it's assigned to a weapon it will shoot randomly. Also, I'm not adding any more global customization parameters than I already have implemented now. If e.g. a specific weapon can only fire a limited distance, that's a property of that weapon, not a generic setting for all of them.

Thanks for the suggestions though :D I think I can use many of them :)
« Last Edit: November 12, 2010, 18:28:15 by Nifflas »

*

Offline Yoeri

  • 256
  • 15
  • Normality is relative
    • View Profile
    • Bumper's business
Re: Enemies?
« Reply #8 on: November 12, 2010, 19:35:17 »
Heat sensor, only affecting knytts.
Motion sensor, move slowly, which is impossible for the ball character.
Trigger sensor, don't press that switch!

Flying engine, incoming!
Mirror engine, like in that room in #MAS OS with the ball that follows your moves exactly.
Bouncy engine, boink!
Swooping engine, bats!
Vertical engine, wall climbing.

Snowball weapon, slows you down.
Wave weapon, causing wide waves that are hard to dodge.
Fireball weapon, causing a deadly little fire where the projectile hits the ground.
Selfdestruct, uh-oh...


*

Offline LPChip

  • You can only truly help other people by allowing them to fail.
  • 3431
  • 126
  • Excel at the thing you're the best at!
    • View Profile
    • LPChip Interactive
Re: Enemies?
« Reply #9 on: November 12, 2010, 20:26:45 »
I'm not sure if you can make this, but if so, then it would be nice to have a self finding laser. The idea is, there will be a finder (crosshair) that moves slowly over the field. Once it collides with you, it will fire up a laser. With a delay of one second. It then fires a straight line towards you. If you haven't moved by then, pow! you're dead.
on the left, above my avatar.

MODPlug Central Forum
"If I tried to kill you, I'd end up with a big fat hole through my laptop." - Chironex

*

Offline PONTO

  • 605
  • 8
    • View Profile
Re: Enemies?
« Reply #10 on: November 12, 2010, 20:53:35 »
I'm not sure if you can make this, but if so, then it would be nice to have a self finding laser. The idea is, there will be a finder (crosshair) that moves slowly over the field. Once it collides with you, it will fire up a laser. With a delay of one second. It then fires a straight line towards you. If you haven't moved by then, pow! you're dead.
That's like the lasers in N. :)

*

Offline LPChip

  • You can only truly help other people by allowing them to fail.
  • 3431
  • 126
  • Excel at the thing you're the best at!
    • View Profile
    • LPChip Interactive
Re: Enemies?
« Reply #11 on: November 12, 2010, 22:24:04 »
I'm not sure if you can make this, but if so, then it would be nice to have a self finding laser. The idea is, there will be a finder (crosshair) that moves slowly over the field. Once it collides with you, it will fire up a laser. With a delay of one second. It then fires a straight line towards you. If you haven't moved by then, pow! you're dead.
That's like the lasers in N. :)

Its actually what I was thinking of when making the post. I even went to youtube to find an example from N. but most videos have many levels in them, making it hard to find one that solely demonstrates the enemy.
on the left, above my avatar.

MODPlug Central Forum
"If I tried to kill you, I'd end up with a big fat hole through my laptop." - Chironex

*

Offline Nifflas

  • 1532
  • 59
    • View Profile
Re: Enemies?
« Reply #12 on: November 12, 2010, 23:35:30 »
I have played N though; I know those lasers well. It's definitely worth looking into, because it should be no problem making them! Definitely sounds like something I should do! The crosshair stuff would be a specific type of sensor, and the laser would be a specific type of weapon, combined they would have that behaviour.
« Last Edit: November 12, 2010, 23:42:35 by Nifflas »

*

Offline jimj316

  • 165
  • 1
  • ...
    • View Profile
Re: Enemies?
« Reply #13 on: November 13, 2010, 22:16:15 »
I wish I'd thought of that enemy system. :( I mebbe can has use in future projects?

Nao let's see...

Sensors
Line of sight: Active if the enemy can see the player. Causes severe damage to Nifflas's brain.
Trap:Invisible point (or line, circle or box) on the terrain that activates if the player touches it. Great for rigged items, especially if you make it so that enemies can be invisible if inactive.
Sound: Activates if the player makes or triggers a "sound" that is too loud (running instead of walking, landing too hard, Using a ball material that is too noisy, causing explosions) As a joke, you could make the program also check if the user is running a media player program in the background and activate then.  XD

Engines
Pounce Engine: Long jumps at player (maybe about 4 times across as upwards) Optionally, hops twice towards player if out of range. like the demented mimigas in Cave Story, but slowed down 4x or something. (My first playthrough of CS was really laggy, and they were terrifying like this.)
Rocket Engine: Flies at speed towards player, gaining speed through flight. Cannot navigate, but will aim at player before firing.

Weapons
Laser Beam: Fires a continuous beam of pwnage for a set time. Hits target instantly (speed of light). Maybe needs to charge first, with a visible glow or something.
Missile: Starts slowly, but builds speed through flight. Can navigate and chase players. No speed limit, eventually will be going too fast to avoid the terrain. (like the missiles fired by the spellbook in #MAS:OS. I liked those)
Knife: Causes collision damage. Maybe the enemy has to rotate the knife towards the player before "Stabbing", meaning fighting the enemy by hand is still possible (by attacking from the other side)
« Last Edit: November 14, 2010, 09:59:02 by jimj316 »

Spoiler: RAEV TIEM! (click to show/hide)

*

Offline Nifflas

  • 1532
  • 59
    • View Profile
Re: Enemies?
« Reply #14 on: November 15, 2010, 16:25:50 »
Nice ideas, I really like the sound sensor. I think all sensors will have an optional "line of sight" setting, since it's probably really common to want that, but that will also be the only setting global to all sensors.