見出し画像

[ステージ]ステージについて[Stage]About the Stage

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.

About the Stage

In addition, each stage has three mid-bosses, at which point the scrolling stops (or only backward scrolling is possible), so the volume of each stage is equivalent to two or three stages of a typical horizontal scrolling action game. The volume per stage is equivalent to two or three stages of a typical horizontal scrolling action game (see Alien Soldier). (If Alien Soldier is used as a reference, one stage takes 8 to 10 minutes).
In addition, as a general rule, we do not want to switch screens or load the screen by moving around the area. This is because we do not want to spoil the driving feel of a ninja game, and we believe that screen switching and loading in the middle of a stage will temporarily dampen the user's excitement.

Concept of floor

This work has the concept of "floors. In addition to the ground, floors exist in midair, and characters can use jumps and other means to get on them.

In the case of the aforementioned "set type area," in principle, the "floor where the player is at that time" should be considered as the Y-coordinate appearance position. In other words, it is safe to assume that the appearance and movements of zakko enemies are managed based on their "relative position" to the player. (However, if the relative position is used to manage jumping enemies, they may suddenly slash at you from off-screen, so you will have to tune the game after playing it.)

(However, if you manage the relative position of jumping enemies, they may suddenly slice off the screen, so you will have to tune the system after you play. For example, they may move up and down through the floor, but even if they are inside a wall, the player's attack will still be effective because they still have a hit point.

Nature of floor

To add, "ground with no floor further down" cannot be jumped on or off. If there is a hole in the ground and you fall through it, you will miss.

There are several types of floors,
Floors that move up and down or left and right (like gondolas)
Floors that appear and disappear at regular intervals.
A floor that breaks and disappears after a certain period of time when a player rides on it.
Floors that break and disappear depending on the loading time of the player.

(Some of these may not actually be used...).

Basic structure

Exceptions may be made, but the basic stage layer structure will be as shown above.
1・Background...............is the most distant layer and is immobile.
2・Middleground_01......The background for multiple scrolling in the distant background (slow scrolling speed to follow the floor).
3・Middleground_02......This is the background for the near view. It follows the floor perfectly.
4・Floor ........................ is a layer of the floor (where the machine stands). Collision settings are also included.
5・Foreground...............A layer of the nearest view, where objects with a higher display priority than the aircraft are placed.

In this test case, there are no layers 2 and 5, but we will prepare them for future verification.

About collision

Unity allows you to set up collisions on a per-tile basis, so I tried to make it easy.

In this game, you can jump through the hollow floor, but I thought it would be easier if the collision thickness is 1 square, and the collision thickness is 2 or more squares, so that you can set them when you create the background.

I would appreciate it if you could take a look at the contents of the game and confirm that this is not a problem.

About real data

The stage contains two background data: Stage1-1_1.prefab and Stage1-1_2.prefab.
In this work, the scroll stops and loops when the middle boss appears, so it would be better to create stages in small rooms and set scroll stops and loops at the end point of each small room.
If we can make a single small room for two or three screens, and dynamically connect the stage prefabs for normal battles to create a seamless structure, we can adjust the length of the stage and the set of enemies.

How to handle background data

A stage can have multiple areas (pre-fab). Scroll stops, loops, enemy sets, etc. can be set up for each prefab.
When you reach the end of a stage, you are dynamically connected to the next small room prefab, which is basically a seamless progression. Instead of loading the next small room after clearing a small room, the next small room is always loaded (back-loaded?). The next small room is always loaded (back-reading?) and is smoothly connected.

The structure of the small rooms varies slightly from stage to stage.

Goal of effort

We would like to implement a sloped floor, or even a floor with a real-time slope change, although this is not very frequent and would be a balance against the time and effort required.

The maximum slope is about 5 degrees. It does not affect movements such as rotating the character in line with the ground, forward rolls, jumps, etc. The slope will also make attacks hit or not, but it will not have a significant impact on the attacker's strategy, and will only have an essence effect on the background (and therefore can be spoiled).

Stage1  Abandoned shrine

An abandoned shrine is the first stage. Unleashed from the darkness, evil spirits of mountains and rivers and the demon world ninja army are waiting for you. The stage itself is not a complicated structure, but rather a nearly straight horizontal line, where you can enjoy a speedy series of battles with the zakos and mid-bosses that appear one after another.

Stage Gimmick -----------
Multiple scrolling
Clouds in the distance

Stage2 Uninhabited town

The setting is an inn town that has become deserted overnight. Residents who have come back to life as spirits of the dead attack the town. The stage is composed of other layers with roofs and turrets, allowing players to enjoy three-dimensional battles.

Stage gimmick -----------
None in particular

Stage3 Canyon

The protagonist goes over the mountain to the enemy's stronghold. The stage unfolds widely up and down. The stage changes rapidly from a canyon, to a huge kite flying in a sea of clouds, to a cave, and so on.

Stage gimmick -----------
Waterfall animation (UV scrolling?)
Animation of sea of clouds (UV scrolling?)
Giant kite (moving floor process)

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