Inspiration

We wanted to explore the theme of emergent behaviour in a way that felt playful, strategic, and immediately interactive. Instead of complex AI or hidden systems, we focused on giving players a small set of simple rules and letting unexpected strategies emerge naturally through multiplayer interaction. Clash of Tiles came from asking what happens when players are forced to build the board together, knowing that every move can help or sabotage everyone else.

What it does

Clash of Tiles is a turn-based multiplayer game played on a grid. Players take turns placing arrow tiles onto the board, while boxes continuously spawn from the centre.

When a box moves over a tile, it is redirected in the direction of that tile’s arrow, eventually looping around the edges of the map and re-entering from the opposite side.

Tiles are immutable once placed and only disappear after their lifetime expires. This forces players to think carefully about every move, since blocking an opponent can also trap their own boxes and create tense moments of shared risk.

How we built it

The entire game was written in Python using Pygame, targeting PC. Our team of four split responsibilities across core game logic, networking and player-server communication, and graphics, animations, and visual effects.

By dividing the project along these systems, we were able to work in parallel while keeping the game cohesive and playable throughout the hackathon.

Challenges we ran into

One of our biggest challenges was implementing a CRT-style graphics overlay that worked consistently across all output modes of the program.

We also spent significant time designing smooth animations for boxes spawning at the centre of the map and for boxes looping seamlessly over the edges and reappearing on the opposite side. Making these transitions feel natural and readable while keeping performance high required multiple iterations.

Accomplishments that we're proud of

We are proud that all visual assets were designed by hand and that we built a custom player-server connection protocol entirely from scratch.

We are also especially happy with how realistic the CRT graphics overlay looks and with the fact that the game consistently produces surprising multiplayer interactions using only a small set of simple rules.

What we learned

We learned how to significantly reduce the cost of frame-by-frame computation by pre-rendering assets and effects whenever possible and reusing them instead of recalculating them every frame.

Beyond technical lessons, we gained experience in the overall game development process, including how to brainstorm mechanics that are fun to play, how to design systems that encourage emergent gameplay, and how to decide when to streamline or cut features in order to meet a deadline.

What's next for Clash of Tiles

Next, we would like to expand the ruleset by introducing new tile types such as splitters, which divide boxes into multiple paths, and teleporters, which instantly move boxes across the map.

These additions would deepen the strategic space and allow for even more emergent gameplay. We would also like to improve compatibility across platforms and potentially make the game available in the browser for easier access and playtesting.

Built With

Share this project:

Updates