Improvement of the collision layer system

From TheManaWorld
Jump to: navigation, search

This article contains information for Programmers working or interested in working for The Mana World

This article is currently only a proposal

The features or design guidelines described in this article are only a proposal made by one or some persons. It has not been evaluated or accepted by the core development team yet. Feel free to add your personal opinion about them or make counter proposals.


At the moment the collision layer system only differs between blocked and not blocked tiles. This system lacks a lot of posibilities that could add a lot to the game. I am going to elaborate on those problems and what additional features could solve them.

The Archer Problem

Collision demo 1 bad.png

The archer on this picture is separated from the enemies. He shouldn't be able to hit the right enemy with an arrow because there is a cavewall in the way he can't shoot through. But there is no reason why he shouldn't be able to shoot an arrow over the unwalkable pond to hit the left enemy. To give mappers the possibility to mark areas that are blocking movement but not ranged attacks I suggest the "Not walkable but shootable" tile.

Collision demo 1 good.png

The Fence Problem

Collision demo 2.png

Take a look at this picture. The fence is clearly a barrier. The players wouldn't expect to be able to walk through it. The only way to make this would be to place the fence in the center of the tile and mark this tile as blocked. But the fence is not wide enough that the players would expect it to block a whole tile. There would be a lot of unused space on both sides of the fence.

To solve this problem i came up with the idea of the "horizontal barrier" tile and the "vertical barrier" tile. A tile marked with the "vertical barrier" tile is walkable, but it can not be entered from or left to the tile right of it. The horizontal barrier tile means the same for the tile under it. There is also a "horizontal and vertical barrier" tile for corners. All three tiles exist in a shootable (blue) and a not shootable (red) version.

Collision demo 2 2.png

The Monster Problem

Another important collision tile type we need is a tile that blocks only monsters. This would come in handy to prevent narrow passages and bridges to get clogged with monsters. Another good example this could be used for are portal areas, like the cave entrance. The entrance of the cave from the inside is crowded with red slimes and black scorpions sometimes as it is now. I don't think these tiles should block the creatures in a normal way. They should block them as long as they haven't been attacked. The monsters should follow players who hit them. So basically these tiles should not be picked as a target for roaming monsters:

Nomonsters.png

Stairs

Stairdemo.png

Another problem of the current walkmap concept is that it is impossible to create believeable stairs or ramps. take a look at this picture. when walking up the stairs only pressing the right arrow key the player would expect that his character follows the green line and not the red line. but this would be impossible with the current tile concept. As a solution i suggest the stairs tiles:

Stairtiles.png

The horizontal stair tiles have the following meanings:

  • horizontal movement upstairs is converted into diagonal movement up und slowed down.
  • horizontal movement downstairs is converted into diagonal movement down.

Another nice addition would be vertical stairs that do not affect movement directions but affect the vertical walkspeed .

The upper and lower row mark the end of the stairs. they represent the necessary "diagonal block".

We could also have a stair walking animation for the player character, like in SoM and Zelda (right?). Modanung 14:23, 12 May 2006 (CEST)
Even more animation phases? i think we should keep the animation phases to a minimum. with every added animation phase the number of equipment sprites increases exponentialy. --Crush 12:19, 13 May 2006 (CEST)

Conclusion

I am aware that this features are not possible with the current server software. But i think that the implementation of the above features into the route finding of the new server software would be a valuable addition to the game.

Here the complete modified collision tileset:

New collision.png