Happy Friday! Here is the latest on Oceans Away!
Recently, I decided it was time to begin building a level select screen. I have enough levels that it was becoming a hinderance to test them without having a way to easily select them, so I started making a level select screen. In such a short span of time, the level select system has gone through quite a few revisions and improvements. So lets get into it.
In Oceans Away, I wanted a system where the player could go to each level and I wanted it to be a bit more fun than selecting from a menu, soooo I decided to make each level represented by an Island. Each Island is either locked, unlocked, or completed. Locked and completed are represented by a lock and star respectively. To show which level the player currently had selected, I created an icon of the MC's head and placed it over whatever level was currently selected and allowed the player to move between levels. This was pretty good for a start.
After a few iterations where levels were placed in different patterns, I was given great advice to just put the levels in a single line and make a camera slide to whatever level was currently selected. It was a great idea and I implemented it pretty quickly and I liked it. However, there was one big problem with this version (and people were very clear about what it was). It felt wrong to have the player Icon jump between levels faster than the camera but because the icon essentially teleported, while the camera tweened between positions. So I had to make some changes, I attached the player icon to the camera rather than the islands themselves.
BEFORE:
AFTER:
After I got the camera system working and feeling pretty, good I decided to make another pass and add a feature to the level select where when the player hovers over a level a bubble appears with a preview of the level. This was pretty easy to implement, and I ended up using some basic easing functions to make everything feel really nice. I have a few more QOL elements to add, such as level titles, line updates, etc, but this is a good place to leave it for today. I hope you enjoyed reading about this and that these posts.