Posted September 17, 2023 by BenjiSt
#devlog #forsakencolonylastsurvivors #progress #survivorslike #update #levelblocking
Welcome this week's devlog of Forsaken Colony: Last Survivors! The main focus for this week was to create the general layout of the game's levels and implement a background for the world.
Levels in Forsaken Colony: Last Survivors are in their nature endless in all directions. The background consists of different world tiles, which are variations of two basic stone tiles from the LPC Tile Atlas. The base tiles and their variations can be seen in Figure 1 and Figure 2. For the variations I used the two given tiles and recolored some of the stones to make five tiles out of each base tile. I also created four different moss overlays for each base tile, which resulted in fifty tiles total.
My first idea for the endless randomly generated background was a tilemap, which would increase its size at runtime when needed. After a first consultation with Lindsay it became clear that a shader was the more efficient and elegant solution for this issue. Thanks to the help of Lindsay and Andrew Mendlik I was able to get a shader, which randomly selects tiles from a spritesheet, working within one day (though it wasn't all straightforward and there were quite some struggles involved). The corresponding final shader graph can be seen in Figure 3.
The next steps were to create a material from the shader and attach it to a GameObject with a SpriteRenderer, which itself is a child of the camera (otherwise the background would not follow the player). The final randomly generated/selected background for the first level can be seen in Figure 4.
In addition to the level blocking I was able to add a title screen, which features a campfire with a particle system (with custom fire particles) and cozy campfire sounds (Figure 5). In order to get the particle system to be in front of the background image but behind the text and the buttons I had to switch the background image to be a normal GameObject with a SpriteRenderer instead of an image on the canvas.
Most of the feedback this week pointed out that the background as it is right now lacks variation and feels "wall-like". Therefore, I will try and implement some random spawning background objects/chunks with different tilesets in the future; Moreover, I am planning on overhauling the stone tiles spritesheet as a whole by placing the moss "on top" of the stones (rather than in between the stones) and adding shadows below the moss/stones to give the world a feeling of depth and make it less "wall-like".
Upcoming week I am going to implement an upgrade system upon levelling up (part of it already works) as well as some new enemies and a meaningful spawning sequence and spawning rate for different enemy types.