Background Facts and Future Plans

In this post I want to give some background information about the Experimental Gameplay Project February entry “Infinite Floating Islands“. These will cover some of the unrealized ideas and features of the game and some technical background. Additionally I will sketch some possible future plans what to do with my proof of concept.

The basic idea

The idea to make a 1,5D sidescrolling game for the infinite game world theme came quite early. I thought more about technical limitations of an infinite game world than game mechanics in the first place, so a 1D approach where the player only can travel left and right seemed appropriate.

First mockup of the game.

I had a very clear idea how to implement storage of the world data to make a persistent game world. This was supposed to be procedural seed-based with an additional data structure for the actual state of the world. The sketch for the save looked like that:

list_of_islands: (local_seed, id, global_x, local_x, y)

The coordinates should be saved for faster access in minimap creation. Every other attribute of the islands could be re-generated based on the seed with the island’s seed saved for faster processing. Unfortunately I didn’t manage to implement any saving of the world data within the week of the challenge.

Missing features

Aside from saving the world there were some other things I initially planned to implement during the development week. The most important one would have been some sort of local biomes so that the player would reach different areas while travelling. These areas would have a different randomized setting for the procedural world and island generation with alternating sets of sprites and background colours. I think this would have made the exploration way more interesting.

Additional missing features are more of a visual nature. One should have been an open cable car to travel, similar to the one on the mockup above.

Future features

Thinking about expanding the game idea I have some more features in mind to make this into a real game.

  • Dungeon exploration (one or more persistent dungeons/caves can be found on the island)
  • Warring NPC faction which the player can help or sabotage
  • Economy
  • Resources becoming more and more sparse the further the player travels
  • Skill-based RPG on the player’s character with three different win conditions for the game (master huckster, master archaeologist, master schemer)
  • No direct fighting

Reception of the prototype

At the time writing this there have been 55 downloads of the game archive. I didn’t get any direct feedback by now but this number is quite impressive for my personal context. For me personally this one week challenge was a great experience about how far I can come within these constraints. So I’m quite motivated to expand this game idea which brings me to the final part of this post.

Next steps

Admittedly the actual release of the game prototype is quite buggy. I plan to remove the bugs which mainly were caused by dirty coding under time pressure. Additionally I’d like to add distinct areas the player can reach while travelling. This improved version I would like to post to a broader audience for some feedback (TIGsource forums for example).

At least this bug is already sorted out.

Let’s see what will evolve from the Infinite Floating Islands.

Infinite Floating Islands

Note! This blog and content is now hosted and continued at !

And it is finished!

After a week of regular evening game development, my entry for the experimental gameplay project’s February challenge is finished. You can download a windows executable here (Unzip and start ‘island.exe’):

Infinite Floating Islands

[Update:] Here you can find some background information and future plans for the game. [/Update]

This is rather a proof of concept than a real game, but I am quite happy with the basic concept. There is potential to make more out of it.

When algorithms fail

As you can see on the screenshot below, the first test in creating new islands on the fly caused the connector algorithm to fail hard. It’s to late today to investigate this problem any further. As my personal deadline for this one-week challenge is in 23 hrs and as I am going to sleep now, chances are rather bad to get this game finished as intended. Nevertheless, I will try to fix these issues tomorrow.

Code is getting messy

Made some progress today with implementing an animated player and movement to another island. As suggested by my wife, the player character is a monkey. The movement as shown in the screenshot is rather symbolic at the moment. My code is looking quite messy now and working as tired as I am actually doesn’t help. Probably tomorrow I will regret working on the game so tired. Next milestone is to enable on-the-fly creation of new floating islands.

The world is shaping up

Worked on visualising the gameworld today, which yesterday only existed as numbers. Also scrolling works now. The two screenshots show the starting point of a world with the first few generated islands. Making additional islands on the fly is not yet triggered but one of the next steps to come. Further steps to implement are a moving player to explore the world and some fancy description texts for the stuff one finds.

On the screenshots you can also find one of the two new npcs I made today as requested by my 2,5 years old daughter. This one is a robot and the other one (not on these screenshots) is supposed to look like a pirate.

World generator and graphical improvement

Not much to show today. I’ve been busy making the world generator building islands on request to make the world explorable. So far I’ve just checked the numbers and they look okay. Next step is to figure out how to make the computer display the actual part of the world while enable fluid scrolling. Also the connections between island have not yet been established.

Additionally I reworked the dirt blocks of the floating islands to look less boring.

Testing the island generator

Finished implementing the island generator, made some assets and built a testing module to view the results. Here are results for four different seeds composed from actual screenshots:

By the way, the island in the middle is the island generated in the last blog post.

Next step is to generate neighboured island and connect them to create a game world.