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.

Advertisements

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.

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.

Experimental Gameplay Project – INFINITE WORLD

Today I start with my one week development cycle for the experimental gameplay project February challenge. The theme is “Infinite World” and I have an idea for an 1.5D exploration game. Here is a quick mockup of the main gameplay screen:

The game world will be randomly generated, persistent and practically infinite in two directions (left/right). Floating islands make the explorable content with different buildings and NPCs. Most probably I will make a fixed seed for the challenge version so every player gets the same world with optional reseeding.

For the record: My personal deadline will be 21st of February at 22:00 CET (UTC+1).

Progress with the editor user interface

Still not fuctional but the look of the editor’s UI is shaping up:

So what do we have here:

  • Create new level
  • Load level
  • Save level
  • Place kittens start area
  • Place obstacle
  • Place goal area
  • Level settings
  • Delete object
  • Place wall

I will try to keep this editor convenient to use. For example, if one wants to place an obstacle, the mousewheel switches through the variants. Also the unplaced objects is shown at the mouse position to have full control over the placement.