Dev Blog 4, Level Wrapping

This week I will be writing about how our design goals and ways to achieve those goals impacted the way our levels are implemented.

The camera system in our game is top-down, and the camera controls the pace at which the player progresses. The camera moves upwards on the screen at a set pace. Side to side however, the player is free to move as they wish. The goal with this design is to give a feeling of exploration and freedom, which we think will contribute to our main goal of the game feeling like uncovering a mystery.

We also wanted to have a built level where each obstacle and enemy is placed deliberately. We wanted this in order to have full control of the experience the player has.

The combination of these two functionalities did need some scripting to get working together. If a player chooses to go far to one side, we don’t want them to run out of level, and we would prefer not to block their path by terrain, which would inhibit the design goal of the free horizontal movement.

And since we also didn’t want to have to build levels that were as wide as the player could move, we instead decided that the levels would be wrapped. By wrapped I mean exiting the left side would put you on the right and vice versa. Instead of the common video game mechanic where the player can exit the screen on one side and appear on the other, in our game, it’s everything else that gets moved. If an element in the level is too far to one side, it gets moved to the other side.

Wrapping.png

To indicate to where exactly the object should be moved, we have a number indicating the width of the level segment, so moving the object is as simple as adding or removing that width to the position of the object.

In addition to this wrapping, levels are also split into smaller vertical segments. This means that we can always put the segment that the player is moving into with its actual centre in the centre of the camera view. This once again serves the goal of giving the player the desired experience with each segment, while still having the illusion of freedom

Thanks for reading.

1 Comment

  1. Hello, Konrad. This is Jesper from Vampire.

    This is quite an interesting blog post you have here! You clearly communicate what you have been working with as well as support your design desicions using the goal and the desired feeling you want the player to have.
    You mention that this wrapping system would help create a sense of exploration. While I understand your reasoning regarding this statement, I must disagree. Since you do not specify a specific kind of exploration, I will assume that you are talking about spacial exploration for the sake of this argument. When you have segments that you loop in the way you do, it usually doesn’t take too long before the player catches on and realizes that he/she is simply just exploring the same area over and over again. This would, in my opinion, remove the sense of discovery and therefore jeopardize the sense of exploration as well.

    This post is well written over all, and you clearly communicate to the reader what you have done, how you have done it, and why you have done it. This post is surely useful for anyone who wants to create a similar system in the future, purely based on how well you communicate what has been done.

    Well done!

    Like

Leave a comment