Today I worked on the level progression part of the game. Levels that are not playable yet are now locked. Clicking the level icon will not result in loading the level and a lock sprite is added on top of the level icon.
The player progression is stored already being stored on the device as well. So closing the game will not reset your progress. When you’re out of lives, you can restart the game, refilling your lives but resetting your level progression.
Here’s a screenshot of the map screen. In this screenshot I completed the first 2 levels.
Following the visual update for the level screen, the map has been updated as well. Like for the level screen, the new visual should reduce noise, creating a map that feels more calm and whole.
Story wise, ships will now attack via the rivers to hit a city / building per level. This replaces the idea of the ships sailing across the beaches to attack. In terms of story this also solves the issue of needing to have beaches on every map.
Here’s a screenshot of the how the map looks at this moment. Next up is player progression so levels that can’t be played yet will be locked.
I’ve been playing around with the looks / sprites of the levels for the past couple of days. I’ve first experimented with an isometric view, creating a “fake” 3D look by rendering the sprites with an angle and making them overlap a bit. Although this looked very cool, I quickly realized this would hinder gameplay. With an isometric view, object can be in front of (and behind) other objects, much like in a 3D space. For All Ships Must Sink, this would result into not being able to see the ships whenever you build a tower “in front” of it, eventually creating huge blind spots.
So a top down view, like I already had, turned out to be the best choice for gameplay. I wasn’t super happy with the way it looked at the moment. I thought the transition from grass to beach to water and back was too “noisy” (if that makes sense). The game now uses a different grass type tile that transitions into water and back. This creates a much more calm view.
Here’s a quick screenshot of how level one now looks. Next up on the todo is to update the map view so it will no longer use the beach type tiles either.
An important but less exciting feature to build, the game menu. While building the map screen I needed to go back and forward from the actually level to the map and realized, there was no way to do this yet. The newly created menu has 3 options for now.
Resume – Closes the menu, resumes the game
Quit level – Exit the level, go back to map (and lose a life)
Quit game – Shuts down game completely
A button is added to the top left corner of the screen that, when clicked, opens the menu. When the menu is open, the complete game is paused. The game is resumed when the menu closes.
My idea for All Ships Must Sink is that the player progresses by completing levels. These levels will have a pre-defined amount of enemy waves. Kill all waves, complete the level.
To select and start a level, some sort of level select screen is required. I wanted to use this need to create something fun visually instead of having a simple list of levels. So I created a map with the levels on it. What still lacking is an image for the player object, I still have to decide what this will be. After adding the player to the map, I’ll also have to make the image move based on what level the player clicks on. And finally I’ll have to link this screen to the already existing level screen (the screen in which you actually play the game).
I just finished a new turret type, the slowing turret (needs a better name). This turret will slow any enemy it hits. I need to play a bit more with balancing its fire-rate and damage but this will mainly be a “support tower”. Slowing down the enemies so your other towers get more hits in.
All turrets still look the same in game, so there’s nothing new there. But check out the movement speed of the ship it hits compared to ships that have not been hit. Here’s the new tower in action:
So after a week of development and getting used to Unity, there is a playable demo. There’s not must challenge in the game yet and choices are still very limited. The current version of the game includes the ability to build 2 types of turrets, a regular tower and a faster shooting tower and 8 waves of 3 different type of enemies that will spawn. This might now sound like a lot but there was a lot of groundwork that had to be done to create these things.
If there’s one thing the first demo already thought me is that balancing the wave will be a huge challenge. It seems like such a thin line between having no challenge and becoming an impossible task. I suspect when more types of damage and other factors are added, adding more of a challenge without simply increasing enemy mob volume will be possible.
I want to close this post by showing of a quick video of the demo I just described. I didn’t expect it when I created this devlog, but I notice that I find it very hard to share what I’ve created so far. I just need to remember, in a month I will look back and smile.
In this post I want to summarize the type of game All Ships Must Sink will be. Very basically put, it will be a tower defense type of game.
These come in many variations but the core principles are the same. Enemy mobs follow a predefined path on a map. Whenever they reach their destination, the player will lose something (often a life). You as the player want to avoid these enemies from reaching that point. The player will build a variation of towers, that will shoot these enemy mobs, to kill/destroy them before they reach the end of the path.
On top of this, a lot of things can be added to make the playing experience more unique. These can be things like different type of enemies, different type of towers, tower upgrades, etc.
As you might have expected by the name of the game, you will be shooting at ships in All Ships Must Sink. These ships will sail alongside your beaches, on which you can place your towers. Destroy the ships before they reach the end, sounds easy right?
It’s been about a week ago that I started development on my new game All Ships Must Sink. I’ve played around with game development in the past but this will be the first game that I will truly release.
I’ve followed some other indie games in the past and enjoyed being able to track their progress via a development (b)log a lot. I think a devlog has some benefits for me, as the game developer, as well. I will be able to see the progress I’ve made along the way, which will be a great motivator.
The devlog will not have big, well-structured posts but will mostly contain small, frequent updates about the development progress of the game. Screenshots, gifs, videos, that kind of things.
So this is it, the devlog for All Ships Must Sink. I’ll write another log very soon about what the game will be about and one about the current status of the game.