Difference between revisions of "Ikari Warriors/Game Mechanics"

From SDA Knowledge Base

Jump to: navigation, search
(Enemy AI)
Line 91: Line 91:
 
The game has a sprite limit that frequently comes into play. Enemies that are supposed to spawn in a certain area, but are prevented from doing so because of the sprite limit, will appear out of nowhere when one of the other sprites has disappeared off-screen. It hasn't been investigated in detail the exact rules for the sprite limit, but for the individual sections where it makes a difference, it's often easy enough to understand the triggers. The sprite limit (and the generally slow speed of the game - 15 fps!) means that lag is almost non-existant.
 
The game has a sprite limit that frequently comes into play. Enemies that are supposed to spawn in a certain area, but are prevented from doing so because of the sprite limit, will appear out of nowhere when one of the other sprites has disappeared off-screen. It hasn't been investigated in detail the exact rules for the sprite limit, but for the individual sections where it makes a difference, it's often easy enough to understand the triggers. The sprite limit (and the generally slow speed of the game - 15 fps!) means that lag is almost non-existant.
 
=Enemy AI=
 
=Enemy AI=
The game appears to use a fairly simple rng-algorithm. Some enemy types appearances seem to be fixed (although they can sometimes be missing) and some appear to spawn more randomly (but still restricted to certain areas). One of the random enemy types, the blue soldiers equipped with normal guns, move about in what at first seems to be a random pattern. However, even if it hasn't been investigated exactly how it works, it's quite evident by observations that some enemy movements repeat themselves too often for it to be random. It would take a lot of dedication to map out all those possible enemy patterns in all areas of the game and then what to respond in each case. Still, it's worth keeping this in mind if there is a particular section, where the enemy movements come into play.
+
The game appears to use a fairly simple rng-algorithm. Some enemy types appearances seem to be fixed (although they can sometimes be missing) and some appear to spawn more randomly (but still restricted to certain areas). One of the random enemy types, the blue soldiers equipped with normal guns, move about in what at first seems to be a random pattern. However, even if it hasn't been investigated exactly how it works, it's quite evident by observations that some enemy movements repeat themselves too often for it to be random. It would take a lot of dedication to map out all those possible enemy patterns in all areas of the game and then what to respond in each case. Still, it's worth keeping this in mind if there is a particular section, where the enemy movements come into play. The following clip demonstrates this effect: https://www.youtube.com/watch?v=gIFoTTkVTRM

Revision as of 09:09, 25 May 2015

Ikari_Warriors_(NES)

Items

Pink soldier drops

  • F ik1.png F - Your bullets will be able to pass through walls and multiple enemies.
  • L ik1.png L - Longer bullet range.
  • S ik1.png S - Faster firing rate (bullets).
  • B ik1.png B - Grenades will finish with a huge blast upon impact.

These drops are always fixed. There are a few fake pink soldiers throughout the game that don't drop anything.

Green soldier drops

  • K ik1.png K - Smart bomb, kill all the enemies on screen

Green soldiers always drop K.

Tank drops

  • Gas can ik1.png Gas can - Bullets are restored to 99, +50 grenades, gas is restored to 99

Tanks can drop gas cans, a tank or nothing. However, some tanks will never drop a tank. The drop is determined some time before the tank appears on screen. Once the drop has been determined, there is no (known) way to change it. Before the drop has been determined, it can be changed based on typical rng-factors such as firing or moving around a bit.

Destroyable environment (gates, parked trucks, ...) drops

  • Gas can ik1.png Gas can - (explained above)
  • Gun ik1.png Gun - Bullets are restored to 99.
  • Grenades ik1.png Grenades - +50 grenades

The drops from the destroyable environment are always predictable (with the exception of the garbage sprites around the helicopter in level 4).

Hidden items

  • SS ik1.png SS - Your speed on foot is increased.
  • H ik1.png H - Bullets and grenades are restored to 99 and gas is restored to 199.
  • Knife ik1.png Knife - Touching an enemy inflicts damage corresponding to a bullet. Enemies that are immune to bullets will either be rendered harmless (for example the "big men") or will still kill you (helicopters and tanks). The knife also allows you to run through gates and destroyable enviroment.
  • Heart ik1.png Heart - Allows you to keep all collected items if you die or clear the level. Without a heart, you'll start from scratch. Once used, you need to collect another heart.
  • Golden heart ik1.png Golden heart - Same as the heart, but gives you all upgrades and replenishes your inventory to the max.
  • Triple shot ik1.png Triple shot - Replaces L, S and F with a triple shot (similar to the helicopter gun). If you pick up L, S or F again, you'll lose the triple shot and go back to the normal gun with only the power-up you just collected. This power-up must be avoided at absolutely all cost.
  • Various other items (girl, clock, gold box etc) - Points (useless)

These items are always in the same spot and can only be reveled with the gun or a tank shot.

Collecting several upgrades of the same kind does nothing more than add points to the total.

Movement speed

Diagonal movement in this game is done at a 45o angle on a flat surface. Slopes change this angle (more about this below). All levels go from bottom to top of the screen so it's important to keep the vertical movement speed up as much as possible. Below ratios are with respect to the foot speed with the SS power for the vertical speed (unless stated otherwise).
Diagonal/Straight speed ~70% (on a flat surface, regardless of in the water, in a tank etc)
Foot ~67%
Tank ~83%
Heli 100%
Foot (SS) water ~74%
Foot (SS) uphill slope ~70%
Foot (SS) uphill diagonally ~55%
Foot (SS) downhill (horizontal speed)^ ~121%
Foot (SS) uphill (horizontal speed)^^ ~61%
Foot (SS) diagonally uphill (horizontal speed)^^^ ~45%
Foot (SS) diagonally downhill (horizontal speed)^^^^ ~100%

^ It's not possible to move in a straight horizontal line on a sideways slope. You will lose 4 units of height for every 10 horizontal units.
^^ The opposite of ^.
^^^ You will gain 12 units of height for every 10 horizontal units.
^^^^ You will gain 6 units of height for every 10 horizontal units.

Some comments on how to use the above for speed considerations:

  • Helicopter and foot (with the SS power) speed are equal and the fastest modes of movement.
  • Diagonal speed is "geometrically correct". Since the diagonal movement is done at 45o, the speed ratio of ~70% corresponds to the inverted root square of two as it should be. This also means that diagonal movement should be done when traveling at the fastest movement speed. For example, it's better to wait until you get out of the water to start moving diagonally.
  • In water areas, it's slightly faster to walk uphill and then downhill again instead of staying in the water the whole time. This is very marginal though, but still useful in level 3 and 4.
  • As a rule of thumb, moving diagonally "one block" (so the width of a bush or an item token) at SS speed costs 8 frames of vertical movement.

Glitches and cheats

Flying glitch

https://www.youtube.com/watch?v=kQF-OpUh99o
If you hold A, B and up at the same time while in the helicopter (they don't need to start to be pressed down simultaneously, you just need to hold them down at the same time), Paul/Vince will exit the helicopter and continue traveling vertically at helicopter speed as long as A and/or B is kept held down (the glitch doesn't work with the tank). In this state, you're invincible, can't interact with anything in the game (such as collecting items or the terrain) and can't use your weapons. If you let go of A and B, you will either be teleported back to the helicopter (if it's still on screen) or land in a glitched state. Your movement speed will be back to walking speed, but the movement doesn't correspond to the graphical terrain (you'll appear to walk in water while on land, there will be invisible walls etc). You'll still be in the invincible state, you're still unable to collect items or use your weapons. The only way to revert back to normal is to exit the level. This glitch has the potential to completely break the game, but is of limited use with the current knowledge due to some unlucky circumstances: - In level 1 you still need to collect 3 items (SS, the knife and the heart) after the helicopter section. If you activate the flying glitch and fly through the whole level and exit, you will start level 2 without any power-ups. This saves 30-40 seconds (obviously depending a lot on what the alternative route was). As a strike of luck, the two most important power-ups, SS and B, are available very early in level 2, making it possible to start building up the character again and making this a nice time-saver after all.
- There is unfortunately no helicopter in level 2.
- Since you need to "fight" a boss at the end of level 3 and 4, activating the flying glitch here is essentially the same as soft-locking the game.

Visual glitches

The game often gets confused when trying to represent the sprites for the item drops if there are several possible drops on the screen available. For example, if you kill a pink guy when there is an item hidden nearby, the pink guy's drop will look like the hidden drop. However, if you pick it up, you will still only get the normal drop from the pink guy and not the hidden drop. You can even have item drops appear as parts of enemies in certain situations. Again, it's only a visual glitch.

Memory corruption (level 4)

Even when playing normally, the game will create garbage sprites in the area where you find the helicopter in level 4. These sprites can be destroyed and the items they leave behind can be collected (including the much wanted fuel drop that allows you to cruise to the end of the level in the helicopter). It hasn't been properly attempted to understand how this works. However, the more you move around (especially backwards) will further increase memory corruption. With enough corruption, the whole rest of the level will be transformed into a graphical mess (but it's still playable until the end). When playing normally, this is very uncommon (and it's even hard to get to that point when trying for it).

Level select cheat

When the game starts, Paul and Vince will walk into the screen from below. Press start (or just wait) and you will see the title screen with the selection of 1 or 2 players. During this screen, press Up, Down, A, A, B, Left, Right, A, B, Up, A, Down, Right, Right, Left, B, Up, Left, A, Right, B, Left, Right, A, Left, Up, A, Down, A, Right, Left, B, and finally press Start. This has to be done before the demo starts playing. Getting the code to work is a small feat in itself. If done correctly, after the cutscene with the crash landing, you will get a black screen with the text "Area 1" (instead of the few seconds of normal black screen before the first level starts). By pressing A and B, you can select the area to start at (A increases, B decreases, but it loops so it doesn't matter). Needless to say, you'll start without any upgrades.

Some comments about various aspects of the game mechanics

Airstrike target plates

Target plate ik1.png
Not dangerous themselves, they will trigger an airstrike when you get close to them. Sometimes the airstrikes come so quickly that it's literally not possible to avoid it. Sometimes it will take a while. The angle of attack is also different from time to time. The best way to understand this is to think of a steady stream of (invisible) bombers passing by from left to right. Their position when the target plate is activated determines the angle of attack and the speed. Once they cycled through from left to right (roughly 1000 frames), their distance will also be different. It hasn't been investigated how long time before the distance from the target plate is cycled back. While this information provides some understanding for what at first seems to be a random game mechanics, there is no known way to manipulate the airstrikes to not be undodgeable. The only way to mitigate the risk is to try and minimize the critical places where you have to travel next to or through these target plates.

Arrow shooting rocks

Arrow shooting rock ik1.png
These shoot arrows horizontally through a small hole in the side. The interval between arrows is not understood, but arriving at different time windows (very roughly 100 frames) will result in different arrow patterns. There is lots of randomness with these enemies, but also some individual behavior that can be taken advantage of.

Vehicles

- Entering a vehicle creates an immobility of around 1 second.
- Leaving a vehicle creates an immobility of only a few frames (seems to vary a bit, but less than 10).
- If you approach a vehicle while holding down the A-button (the grenade button), you will enter the vehicle on the first possible frame.
- Changing direction of the tank cannon costs a minimum of 4 frames (because of the game running at 15 fps), but in practice costs more like 8 frames.

Sprite limit

The game has a sprite limit that frequently comes into play. Enemies that are supposed to spawn in a certain area, but are prevented from doing so because of the sprite limit, will appear out of nowhere when one of the other sprites has disappeared off-screen. It hasn't been investigated in detail the exact rules for the sprite limit, but for the individual sections where it makes a difference, it's often easy enough to understand the triggers. The sprite limit (and the generally slow speed of the game - 15 fps!) means that lag is almost non-existant.

Enemy AI

The game appears to use a fairly simple rng-algorithm. Some enemy types appearances seem to be fixed (although they can sometimes be missing) and some appear to spawn more randomly (but still restricted to certain areas). One of the random enemy types, the blue soldiers equipped with normal guns, move about in what at first seems to be a random pattern. However, even if it hasn't been investigated exactly how it works, it's quite evident by observations that some enemy movements repeat themselves too often for it to be random. It would take a lot of dedication to map out all those possible enemy patterns in all areas of the game and then what to respond in each case. Still, it's worth keeping this in mind if there is a particular section, where the enemy movements come into play. The following clip demonstrates this effect: https://www.youtube.com/watch?v=gIFoTTkVTRM

Personal tools