Hopworld devlog 6

Hopworld devlog 6

June 8, 2025

Still pushing on with development.

Hi fellow hoppers,

I have been busy the last month in between all other work with tweaking, refactoring, testing and developing more stuff for Hopworld. There is a lot of stuff to cover this devlog. Some stuff was already there last devlog, but might need some explanation in hindsight. Ok, let's dive in.

Semantic versioning

You might have noticed some strange numbers on the bottom of the main menu screen. As you probably already have guessed: this is the current version. From now on the game will use semantic versioning to avoid your locally cached generated worlds and data to collide with the current game logic.

For the moment there is no way to migrate your old maps when the minor version changes. So in the case of introducing breaking changes, everything will be deleted and regenerated. However when the patch version changes, your current maps and progress will be left untouched.

If you haven't heard about semantic versioning. Such numbers look like:

major.minor.patch

Where:

Room transitions

One of the problems with the mobile controller overlay was that the player character sometimes moved underneath the buttons. To keep the character in the center of the screen I had to add these strange thick grey walls to each room. This was only a temporary solution.

Now the scene transition or camera cut between the rooms is gone. Each room map is now rendered next to each other, creating one big continuous space. The whole world is actually too big to be kept in (video) memory all of the time. So I use a culling method. The tile maps are being created when one of the four corners of the camera intersects and destroyed again after they have been offscreen for a couple of seconds.

Implementation of this culling technique wasn't without regression bugs. Even with careful refactoring beforehand, it required a lot of testing to smooth out all the unforeseen glitches.

bye bye room transition

On the left the grey room buffers, on the right the continuous space.

Anyway the nicest thing about seeing all the rooms at once, is that it really helps with exploring. You have a much better overview.

This change also brings back to possibility for each player to have their own camera in coop mode. This used to be the case in very early versions of the game, but the system back then with the separate rooms became too complicated to maintain.

I do think I want the edges of the rooms to blend more and have bleeding tiles running across the neighboring map. But these last 2 features are for a future version.

Ghosting

Talking about coop mode. There is only one camera, which follows only one player at a time. When the other player is no longer in view, he turns into a ghost and floats back to the other player in the center, to keep up.

The drifting ghost behavior now also occurs in single player mode, when you die and have disabled the perma-death setting. The previous behavior in this case was that you just respawned at the last idle save point.

When you are a ghost, there are a number of things you can and cannot do:

The other trigger to end the ghosting behavior is finding and touching a bubble spirit. There are also some new behaviors around the lore bubbles, but you have to figure those out yourself.

a ghost looking for a bubble spirit

Find the bubble spirit to end the ghosting behavior.

Printing machines

The old vending machines now only sell special items like power-ups. For the regular maps you have to go to another machine: the printing machine. It is just a different graphic, but it adds a little more challenge.

printing machine

For this game I don't want the boring traditional fighting robot. I want silly contemporary or antique machinery. There are already a couple of ideas to implement in feature versions. They won't have anything to do with the coins, but I won't spoil them just yet. Spoiling brings us to the next topic.

Spoiler mode

You may have noticed this option in the settings menu. It does what it says: it unlocks every power up and map.

I use it a lot in development and I don't see why I should try to hide it from you. You may have to clear and regenerate the world, before the items actually unlock. Mostly I use it in combination with that.

Prefab labels and sandbox

In spoiler mode there are strange white characters on the foreground. These characters are also in the sandbox. They give some information about which base tiles were used to generate that cel of the map.

cel info

The first number is the cel type (which sides are open or closed). The second number is the prefab key (this relates to the power ups). This can be any of: c, d, g, h, i, j, k, s, t, v, w or z.

The last number is the variation of the prefab. Some have only one variant, some have more.

When generating a new sandbox, the first character of the seed can be used to choose the prefab key. Repeating the character a second time in some position of the seed string can manipulate the type of the variation.

Ok, I am wrapping up this devlog now. The version now is 0.6.0. This actually matches the number of the devlog. So if I get to the next minor version, I will try to post a new devlog.

Comments

No comments yet. Be the first.

New comment