見出し画像

[エネミー]em01 下忍者[Enemy]em01 Ge-Nin

Steamにて配信中の2D忍者アクションシューティングゲーム「Shinobi non grata」の仕様書(と言っていいか微妙ですが)となります。
この資料は飽くまでも初稿であり、最終的に実装された内容と異なる部分も多々あります。製品版を遊んで頂いて、どこがそのままの形で実現し、どこが変更されたかをご確認頂いても良いかもしれません(と、シレっと宣伝)。
https://store.steampowered.com/app/1796870/SHINOBI_NON_GRATA/
また、このタイトルはフルリモート環境で、1年2ヶ月で完成した実績(準備段階含めるともう少し掛かっていますが)があるため、遠隔でゲーム開発するための参考になるかもしれません。

This is the specifications (if you can call it that) for "Shinobi non grata", a 2D ninja action shooting game available on Steam.
This document is a first draft, and there are many differences from the final version. You may play the full version of the game to see what has been realized in its original form and what has been changed (casual advertising).
https://store.steampowered.com/app/1796870/SHINOBI_NON_GRATA/
Also, this title was completed in a full remote environment in one year and two months (although it took a little longer if you include the preparation phase), so it may serve as a reference for developing games remotely.

Color Palette

For the yellow ninja palette, we will use the standard palette, but for the other zako ninjas we will use the one we have prepared for each of them. aseprite exported png images are enclosed, so please use those if you can (only colours in order in Unity's colour palette shaders). I have heard that the image files are used for the

Yellow Ninja

Weakest type of zako enemy. They appear from off-screen, run towards the player and attack with swords at close range. There are also some that jump from off-screen and attack the player from above in a parabolic trajectory (after landing, they run off-screen in the same direction as they landed).

Furthermore, if the player jumps or is in the air, they change their behaviour from running to jumping attacks, but their behaviour is extremely simple: if the Yellow Shinobi's attack is not successful and the player is not knocked down by them, they disappear off-screen as they are (they can also be removed from the screen after they have left the screen for a certain distance). They will not turn around and attack again (if they hit an obstacle, they will turn around and head towards it).

Yellow Ninja

The Yellow Shinobi attack is a 'sword attack' only. When they approach the player and enter within 48 pixel from the player's centre from the side, they attack with a sword. Sword attacks have a starting motion, so the player can easily avoid them after taking the attack action.
Jumping attacks will draw a parabola towards the player, but will always draw their sword near the apex and descend a certain distance while still having a hit point. The trajectory is slightly compensated by the position of the player's ship, but it does not continue to track the player. Once the player has decided on his position at the time at the apex, it will not change later.

Animation

If the player runs across the screen with sword raised and catches the player in attack range, it will attack. If the player is still alive after the attack action, he raises his sword again and starts running.

If the player hits a wall or other obstacle while running, they will turn around and run in the opposite direction. Also, at 20% after running, the player transitions to a jump attack.

Use begin to ascend to the apex of the jump, then attack and descend with the attack judgement, but after a certain distance (adjustment required) the descent leads to end.

If it descends and lands while attacking, or lands after transitioning to end, it will return to the ground, start running again and perform the action on the ground with a shared landing process.

Yellow Shinobi that jump attack are basically assumed to jump attack from the beginning and jump at you from off-screen. The jump activation is slightly compensated (more easily hit by the attack) depending on its position in relation to its own unit, but this is at the level of error.

Animation

When it collides with a wall or other obstacle, it turns around on the spot and starts running in the opposite direction again. The process of turning around itself should be the same as in the case of your own aircraft.

As for death, I think it is almost impossible to pay attention to it because it is actually hidden by the death effect, but I would like to prepare different death patterns (50% are normal deaths) for deaths on the ground and deaths in the air.
When the player is destroyed on the ground, the death animation is played back on the spot, but when the player is destroyed in the air (jump attack or when on a kite), use dead fall and let the player fall a little bit.
When doing this, move a very short distance instead of falling a long distance, as it can be troublesome if you hit the ground.

Parameter

I would like to be able to adjust the following elements externally (Unity inspector?).
Zako's movement speed
Durability of Zakos.
Ground attack range.
Jump speed and tracking performance.
The transition timing of jump attacks.

Orange Ninja

Item carriers. Zako enemies that do not attack, but simply appear from off-screen and disappear off-screen on the other side. When defeated, they drop items in their place (same effect as item boxes).

Animation

Orange shinobi (item carriers) just move on the ground. They do not attack or jump.
When the Orange Shinobi (Item Carrier) hits an obstacle, it turns around on the spot and starts running in the opposite direction. Also, after N frames have elapsed since their appearance, they disappear with a smoke ball effect.
For more information, please see the specifications "General Effects".

Parameter

I would like to be able to adjust the following elements externally (Unity inspector?).
Zako's movement speed
Durability of the zako.
Time between appearance and disappearance.
For certain Orange Shinobi
Whether the item is a fixed item or a drop item.
If dropped, which table is used?

Blue Ninja

Zako enemy that throws shuriken. They appear with smoke when set in a fixed position in the background or when touched on a co-ordinate axis specified by the player. There are several patterns of behaviour (see below). Although they have low durability, they throw shurikens as soon as they appear, so if you are not careful you will take damage.
Shurikens can be repelled (disabled) with a sword or chain sickle.

Fixed installation type

It is placed in a fixed position on the background and has an action pattern that does not move from its position. It flips on the X-axis (changes direction) when the player passes by itself, but its behaviour pattern remains unchanged.
It fires a 3-way shuriken at the player when it appears on the screen, and every N frames thereafter, it fires a 3-way shuriken at the player's current orientation. Each of these 3-way shurikens has its own bite detection, so if there is an omission with a sword or other weapon, the player may be hit by the shuriken and take damage.
Aiming at the player will be aimed so that the middle shuriken of the 3-way will hit the player.

Jump-appearance type

It suddenly jumps up into the air from behind a background object and, near the apex, fires a 3-way shuriken at the player. It only fires one shuriken per jump, but it appears many times within the set section, making it a very depressing zako-enemy.
We are still looking for a way to describe it, but it will be invincible until near the apex, so it cannot be defeated as soon as it appears. Note that the 3-way aiming is the same as the fixed installation type.

Floating tracking type

A type of blue ninja that levitates and tracks the player from off-screen (see next section on tracking).
Shooting behaviour is similar to that of other blue shinobi.

About tracking

The kite ninja tries to move towards the back of the player's head (where the sword cannot reach), as shown in the diagram above. When moving, the kite ninja does not move in a straight line, but in a curved trajectory, trying to move to the position indicated by the upper blue circle.

The target position is not updated every frame, but once every N frames. So even if the player repeatedly turns left or right on the spot, they will not be disturbed, and even if several kite ninjas appear at the same time, they will be scattered to some extent in a good way.

As with the other blue ninjas, a 3-way shuriken is fired at the time of appearance and once every N frames thereafter, towards the player's position at that point.

Animation

Blue shinobi (red shinobi also have the same animation) are a kind of fixed turret on the ground, so in principle they do not move from their position.

When they are stationary and fulfil a condition, they will fire an Aiming Bitter Blast towards their own ship (the animation is common through), and if they are jumped over (run through) by their own ship, they will turn around and face the direction of their own ship.

The behaviour itself is identical to STAND, only the appearance and firing point are different.
The fact that you are crouching does not mean that your ship's horizontal sword attack will not hit; the only difference is in the appearance.
Personally, I prefer to use this one more often.

Animation

This is a type of blue (red) shinobi that is positioned in the air, in places with walls (also bamboo groves, etc.). These are also fixed types and do not move.
However, they are treated as "airborne", so when they are defeated, the aforementioned dead fall is called with a probability of 50%.

This is a kite. This is an aerial mobile turret. The movement of the kite is as described above.
This kite is also treated as "airborne", so when it is destroyed, the aforementioned dead fall is called with a probability of 50%.

Animation

This attack involves jumping up and throwing shuriken (blue shinobi) or bombs (red shinobi).
It jumps and throws a 3-way shuriken in the direction of its own ship, but if it passes over the ship in the process of jumping over it, it will turn around using TURN.
Two types of jump trajectory exist: one that flies straight up and one that flies diagonally and shoots past your ship.

Deaths are handled the same for everyone except for the white shinobi (self-destruct).

Animation

The structure itself will not change significantly, but we would like to change the vertical jump ninja configuration as above. Landing" does not exist because it is only set in a place hidden in the shadow of a building, and "Turn" is also not necessary because once you jump, you do not turn around in the middle of the jump.
No turning means that at the time of the first jump, the ship will turn around and perform an X-axis flip, but once it has jumped, it will not turn around to capture the ship's position on the way. This is a major difference from conventional jump shooting.

Other than that, it is the same as the current vertical jump shooting.

Please check the reference video "Vertical jump shooting.mp4".
*Sorry! The speed in the video was a bit too slow. The current speed is fine. But I would appreciate it if you could adjust the speed...

Parameter

I would like to be able to adjust the following elements externally (Unity inspector?).
The durability of Zakos.
Shuriken firing interval
Kite movement speed.
Shuriken firing interval when jumping.
Jumping speed and tracking performance.

Red Ninja

Zako enemy that throws bombs. They appear with smoke when set at a fixed position in the background or when touched on a co-ordinate axis specified by the player. There are several patterns of behaviour (see below). They have low durability, but unlike Shuriken, the Red Ninja fires a bomb at the player N frames after they appear on screen. Thereafter, he will fire the bomb once every N frames until he is defeated.
The bomb is destroyed by attacking with a sword or chain sickle and explodes on the spot. If the player is caught in this explosion, the player will take damage.

Fixed installation type

It is placed in a fixed position on the background and has an action pattern that does not move from its position. When the player passes by itself, it flips on the X-axis (changes direction), but its behaviour pattern remains unchanged.
The bomb is fired at the player N frames after it appears on the screen, and every N frames thereafter, the bomb is fired in relation to the player's current orientation. Bombs explode when they collide with the player's body, an attack made by the player, the ground or a wall. The ground in this case does not include the hollow floor (in the diagram above, the floor of the ruin). Therefore, there is no safe zone under it.

Jump-appearance type

It will suddenly jump up into the air from behind a background object and, near the apex, fire a bomb at the player. The bomb only fires once per jump, but it appears many times within the set section, making it a very depressing enemy.
It cannot be defeated as soon as it appears, as it will be invincible up to the apex area, although we are still looking for a way to describe it. Note that the aiming of the bombs is the same as for the fixed installation type.

Floating tracking type

A type of blue ninja that levitates and tracks the player from off-screen (see next section on tracking).
Shooting behaviour is similar to that of other blue shinobi.

About tracking

The kite ninja tries to move towards the back of the player's head (where the sword cannot reach), as shown in the diagram above. When moving, the kite ninja does not move in a straight line, but in a curved trajectory, trying to move to the position indicated by the upper blue circle.
The target position is not updated every frame, but once every N frames. So even if the player repeatedly turns left or right on the spot, they will not be disturbed, and even if several kite ninjas appear at the same time, they will be scattered to some extent in a good way.
As with other red ninjas, bombs are fired at the player N frames after they appear on the screen, and every N frames thereafter, bombs are fired against the player's orientation at that point.

この記事が気に入ったらサポートをしてみませんか?