Inspiration

I have always thought slide puzzle games could use a bit more excitement and since I am a fan of retro games I thought why not try to merge the two.

What it does

The project is built around a 2D game engine used to run the underlying rougelike or platformer. The slide puzzle engine re-arranges the game world so that the underlying 2D game is cut into squares that represent the slide puzzle pieces. The underlying 2D game runs with no awareness about the slide puzzle intervention in the rendering and runs throughout all the slide puzzle animations. The whole project is build like a game engine itself and can load newly designed levels with no extra work needed.

How we built it

The project is build on top of Flame engine. Since the underlying games are 2D type games the tiled system for creating levels was the obvious choice. This was also beneficial when implementing the slide puzzle item rendering since the slide puzzle pieces were defined so that each will contain a perfect square of tile pieces for better performance. Moving objects (player character and enemies) and objects that span over multiple slide pieces needed extra logic inside the game engine to be rendered properly inside all the appropriate pieces. All the UI except the 2D game pieces are animated using the Flutter animation library.

Challenges we ran into

At first it was challenging to implement the collision system using the Flame built-in collision system because I ended up processing collisions multiple times for the same object instance, since an object could span over multiple slide pieces. Loading and storing assets was also a challenge since there was no option to load packed sprite sheets.

Accomplishments that we're proud of

The fact that you can design a new level in Tiled and load it into the app is amazing. Also I liked the fact I needed a sprite importer for packed sprite sheets and just implemented it. Game also runs on other platforms with no issues which is why the flutter platform is so great.

What we learned

During this process I learned how much I actually enjoy building games. Game building process is fun but it is also quite demanding. Each game seems to have at least some unique requirements which will require you to build an appropriate toolchain yourself, which makes quite an interesting problem to solve.

What's next for Game within a Slide Puzzle Game™

I plan to build on top of the end result of the hackathon. I think there is still much to explore in this slide puzzle 2D game mashup. I would like to expand on the concept and publish a fully finished and polished version.

Built With

Share this project:

Updates