Skip to main content

On Sale: GamesAssetsToolsTabletopComics
Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Oceans Away| A wholesome grid-based puzzle game

A topic by gatorsoup created Jul 26, 2023 Views: 239 Replies: 4
Viewing posts 1 to 3
(1 edit)

Hello and welcome. I am gator soup the developer behind this game.

Thank you for coming to read up on the game, it is a project I have really enjoyed working on for the last month and a half. Lets get started. 

A little bit of background info on the game. Oceans Away is a grid based puzzle game where the player must navigate between islands to reach other castaways. The levels are 4x4 but I am working on 5x5 levels as well. As the player progresses, the puzzle becoming increasingly challenging as new obstacles and hazards, all of which have effects when the player moves. The feature I will be talking about in this post is the Rapids and how complex that mechanic became when I added non-hostile interactable.

Currently, I have been going back through the code logic for a number of mechanics to improve how they behaved and fix unforeseen bugs.  This morning I spent a good chunk of time refactoring the code for the rapids because I was not consistently getting the desired result. The rapids work by pushing whatever enters from one of the entrances out the other end as an additional move. For example, if the player goes through a rapid they are moved an additional space without it counting towards the world. 

Now the behavior have just described was not in of itself particularly hard to implement, however things got messy when enemies or driftwood were blocking one of the ends, or if the player chose to push driftwood through first instead and then follow it. See, originally the rapids used area nodes on the entrances to check if something was present, but the problem was this could only detect if something was there, or was not, and didn't account well for things getting pushed out of the way and being replaced etc, etc, so I refactored the rapids and now they use raycasting to detect if something is present currently, and update frequently. Now, the rapids work really well, and can handle a variety of situations. 


Anyway, thanks for reading. I will be posting regular updates at least twice a week.

Hello! It has been a few days so here is an update.

For the last few days, I have been debugging and fixing little problems that have shown up in the levels I have created. It is always really funny to see what problems show up when you have lots of levels and playtesting done. The process starts to make clear what works and what doesn't. The big thing I spent my morning on today was an annoying bug where despite the obstacle being there, the Raycast2D wasn't picking it up until after the player had moved around the level even though it should have been picked up first. I reread the code so many times but there was no obvious reason why this was occurring or why it had started, since it wasn't present in the game jam version of Oceans Away.

Well, it turned out that the bug was a single missing line because of how level starts had changed. You see, in the jam version, the levels all started with the player in the same position. However, because I changed the core movement away from a teleport to a tween between positions, and then also said the player start position is level dependent, I forgot to actually set the players starting position before the first raycast is checked. Literally one extra line of code, at the start of the movement system and problem resolved. Anyway, this is just one of many little things that I have been working through. I think I am going to get a new demo out in the near future. I would love for that to be a thing this Friday or next Monday, but we will see what happens.


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.

(+1)

The grid and movement remind of Chip's Challenge. The graphics are cute, I like them. <3

(+1)

I am not familiar with hat game, but I will have to check it out! Thank you for the nice words, I am glad you like the visuals.