A slide puzzle game you can play with your friend on cross-platform.

Overview

slideparty

codecov

Slideparty - game intro

Inspiration

I want to make a puzzle game that runs on all platforms: Web, Android, iOS, Linux, Windows and MacOS. You can play with your friends regardless of what operating system you are using, you just need to have a room number to be able to play online and compete with your friends or you can directly compete with your friends. locally by various types of controls for different types of screens.

Like and comment my submissions in devpost.

What it does

Just a casual and fun puzzle game!

How we built it

The game has two part:

  • Client: I use flutter to make truly one codebase for across platform.
  • Server: I use shelf to make a web server in dart.

Client

Slideparty has three game-mode

  • Single mode: Play and try to solve as fast as you can a 3x3, 4x4 or 5x5 puzzle board.
  • Features:
    1. Auto solving
    2. Multiple ways to control game base on current devices
  • Multiple mode: Play with friends in local, you can play upto 4 players.
  • Features:
    1. Responsive layout
    2. Multiple ways to control game base on current devices
    3. Some sort of skills to prevent or annoying your friends for fun
  • Online mode: Enter a room code and you can play like multiple mode but on different devices.
  • Features:
    1. Real-time communication
    2. All features in multiple mode

Server

Slideparty server use websocket for handle real-time interaction between players.

Use shelf and shelf_router to making a web server is pretty straight-forward.

I seperate how client talking to server with mono-package slideparty_socket base on websocket, basically when client send an event and server handle that event, processing how the playboard changed and send back to client a json decoded.

Challenges we ran into

Auto-solver is pretty hard, first i'm trying to use A* algorithms to find the best solutions. It works well with 3x3 puzzle ... but with 4x4 the time complexity is so huge and immediately block UI thread so with this approach, impossible to solve 4x4 and 5x5 while keeping the app run smooth.

bob

After that I trying to find a pattern of the game then i found that if we solve the first row and first column of a N x N playboard and you remain exact (N - 1) x (N - 1) playboard and you can keep solving until N = 1 you solve the puzzle! This solution isn't return the shortest step to solve but it's run pretty fast and it's can solve any N x N board so i'm accept that is not the best solution but it is the fast enough to run smooth solution.

You can find my auto-solver algorithm in slideparty_playboard_utils repository.

What we learned

Have fun with flutter Discover how to use dart for backend

Testing

I tried to test all the essential parts of the game. It's not 100% coverage but it's still more reliable than no testing. To test this game, run the command:

flutter test
You might also like...

M.U.D. Role-playing text-based game. A multiple-choice multiplayer interactive game developed on Flutter (Android, iOS, Windows, Web)

M.U.D. Role-playing text-based game. A multiple-choice multiplayer interactive game developed on Flutter (Android, iOS, Windows, Web)

Teia M.U.D. Role-playing text-based game. A multiple-choice multiplayer interactive game developed on Flutter (Android, iOS, Windows, Web). The main f

Feb 17, 2022

Warrior Runner - Game made with Flutter and Flame game engine

Warrior Runner - Game made with Flutter  and Flame game engine

Warrior Runner - Game made with Flutter Demo and Screenshot Flutter Version Used : 1.22.4 flame: 0.29.3 hive: 1.5.0-pre Learing Resources: Create a Mo

Oct 10, 2022

Game characters ui - A redesign of a game characters app using flutter

Game characters ui - A redesign of a game characters app using flutter

Oct 23, 2022

Chess-game - Some simple lines of coding and made this awesome looking full functional chess board game

Chess-game - Some simple lines of coding and made this awesome looking full functional chess board game

flutter simple chess game It's a flutter chess game application with fast code.

Jun 17, 2022

A simple dice game built using Flutter, that allows users to engage in a dice game

A simple dice game built using Flutter, that allows users to engage in a dice game. Each player rolls the dice and the highest value number that you can make WINS!

Sep 1, 2022

Game Flutter Using Flame.It was for the Game Jam 2022

binarymemory Memory Binary Flame Flutter Game Jam Getting Started This project is a starting point for a Flutter application. A few resources to get y

Sep 7, 2022

A starter game in Flutter with all the bells and whistles of a mobile (iOS & Android) game

A starter game in Flutter with all the bells and whistles of a mobile (iOS & Android) game including the following features: sound music main menu scr

Dec 22, 2022

It is a game where a goat can walk , run and jump

It is a game where a goat can walk , run and jump

😍 😍 😍 πŸ’• ❀ it is a game where a goat can walk , run and jump Goat increases size when he eat grass ! Goat can meither move left or right ! I curren

Dec 19, 2021

A simple wrapper on top of Google Play Games Services (GPGS), including auth, achievement, and more.

A simple wrapper on top of Google Play Games Services (GPGS), including auth, achievement, and more.

play_games Use Google Play Games Services on your Flutter app; this allows for signin and achievements so far, but more additions are very welcome. If

Sep 10, 2022
Owner
Duong Bui Dai
Enjoy sharing knowledge and learning from other. Dart & Flutter enthusiast πŸ’™
Duong Bui Dai
A simple puzzle game build for Flutter Puzzle Hack Challenge

Give Vaccine Kill Covid Introduction ??‍?? In the initial stages of covid-19 vaccine testing trails, doctors are testing with many vaccines for discov

Sujith 22 Nov 28, 2022
Box2D Flutter Slide Puzzle

It uses Box2D physics to create an interesting gameplay mechanic where you need to manage a bit more than a simple slider. The code is all pure Flutter with widgets, animations, and CustomPaint. It doesn't use any Flutter game engine.

Gordon Hayes 25 Nov 11, 2022
Snake-Game - A flutter based classic snake game with nothing just and just a feel to have play

snake_game This is a simple snake Game under development made with the help of y

Shubham Kumar 2 Mar 22, 2022
Flutter Switch Game: Get Fun With Play This Game

switch_game A new Flutter project. Getting Started Try Swap red circle to green

Sermed Berwari 1 Jun 17, 2022
Cyberpunk-inspired puzzle game prototype created with Flutter and Flame #Hack20 #FlutterHackathon

Ghost Rigger Prototype of a cyberpunk-inspired puzzle game set in a dystopian future: In the year 2078, the megacorporation Native Development Initiat

Float like a dash Sting like a dart 184 Dec 26, 2022
A puzzle game made on live-stream, demonstrating various animation techniques in Flutter

Slide Puzzle: Escape of Cao Cao This is a puzzle game made on live-stream, demonstrating various animation techniques in Flutter with just Dart code -

null 64 Dec 27, 2022
An Online multiplayer Tictactoe game where two player can play simultaneously

This is an Online multiplayer Tictactoe game where two player can play simultaneously. Whoever gets 6 points of score first wins the game. one player have to create a room and others have to join the room my inputing rooms ID number given by the player1(Who has created the room). The Project in coded in flutter language and javacsript and nodejs is used for backend/server. and mongoDB is used for Database to store the player's details.

Tirthak 2 Sep 5, 2022
Cross-platform mobile app for playing the game hangman

app_dev_project A cross platform mobile app for playing the game hangman. Getting Started This project is a starting point for a Flutter application.

TorbjΓΈrn Bakke 0 Nov 23, 2021
A Flutter plugin to support game center and google play games services.

A Flutter plugin to support game center and google play games services. Screenshot iOS Android Tutorials Written tutorial Video tutorial Will be added

Abedalkareem Omreyh 76 Jan 6, 2023
An application cum Game-based App built using Flutter that compose a mind-tricked word game, Just for fun.

destini_challenge A new Flutter application. Getting Started This project is a starting point for a Flutter application. A few resources to get you st

dev_allauddin 3 Feb 3, 2022