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:

global_seed
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

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.

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.

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.

Generating an Island

Not much to show of yet but there is some progress on the procedural generation of the game world. So far you can put in a seed and with that size as well as buildings, npcs and decorations are generated with their individual type and position on the island. For testing purposes I write some information into the console which looks like this:

Island size: 12
Number of Buildings: 7
Number of NPCs: 1
Number of decorations: 2
Deco type 1 position 1
Building type 3 position 2
Building type 4 position 3
Deco type 3 position 4
Building type 3 position 5
Building type 3 position 6
Building type 2 position 7
Building type 2 position 8
Building type 1 position 9
Npc type 0 position 10

Just noticed I didn’t had two blocks wide buildings in my mind. Looks like I have to put in some additional work for that. Also the randomly generated look of the island’s bottomside is not yet implemented.