2D Game: fill/connect all tiles with a continuous path

Adam Kosak


Supervised by Martin Caminada; Moderated by George Theodorakopoulos

The basic premise of the proposal is to create a simple game based around trying to fill a grid in one continous path. The main inspirations for this are snake game, or rather its hypothethical end goal of eventually filling the entire board with the snake's body as it gets longer (view the gif for reference: https://i.imgur.com/oo6abA0.gif), and various puzzles with the goal of connecting all pathways with one continuous line. The main difference between my idea and traditional snake, is that there are no randomly generated spots where the snake feeds to grow, the snake instead expands with every movement, and all tiles it was on will remain occupied until the game ends. The other differences are that snake doesn't move automatically, player makes each move tile by tile, and each level should have a more complicated shape than a rectangle/square.


Level creator - to assist the construction of the game itself, and provide more potential replay value, I want to include a simple level creator. User will be able to choose the base size of the grid, and whether each tile is empty/available, or a wall/border. Level solver - implement an algorithm which finds a solution to help the player through, or finds whether a solution is possible to help with level creation. Android version - with smaller grid sizes, the game would be suitable to play by swiping on a touch screen. Challenge modes - various toggleable gameplay modifications to make the game more challenging, such as find a number of or all solutions to the level, or automatic movement with selectable speed to play more like traditional snake.

Extensions: Level sharing - implement a way for players to share created levels between each other. This could be done either through sharing the files directly, or through the game with a potential online functionality. The latter brings more challenges with potential security concerns and implementation itself.

Challenges: This project is primarily a programming task, including a pathfinding challenge, with potential extensions in simple graphic implementation, and online functionality, using either servers or peer to peer.

Initial Plan (08/02/2021) [Zip Archive]

Final Report (24/05/2021) [Zip Archive]

Publication Form