[Flutter] Socket.io를 이용한 통신 보드게임 어플 만들기 (프로젝트 소개)

강민석·2023년 9월 22일
1
post-thumbnail

Flutter란?


구글에서 개발한 크로스 플랫폼 앱 개발 프레임워크입니다. 단일한 코드베이스를 바탕으로 Android와 iOS뿐 아니라 PC와 웹까지 모두 개발이 가능합니다. 구글에서 개발된 만큼, 사용하는 언어도 마찬가지로 구글에서 만든 'Dart' 언어로 구동됩니다.

통신가능한 주사위기반 보드게임

이번 프로젝트의 목표는 Flutter와 socket.io 라이브러리를 사용한 서버를 구현하여 여러 기기에서 통신이 가능한 주사위기반 보드게임을 만드는 것입니다. 보드게임은 기존에 존재하는 미니빌이라는 보드게임을 구현할 것입니다. 미니빌에 대해서 잘 모른다면 아래 링크를 클릭하여 규칙을 이해하고 와주십시오.

나무위키, 설명 영상

🥇최종 결과물


게임에 대한 로직은 Flutter어플 내에서만 작동하며 서버에는 게임 로직과 관련된 기능을 구현하지 않았습니다. 고로 게임 로직에 대한 부분은 Flutter앱으로만 작성할 것이고 서버 코드는 기기끼리 통신하는 기능만 구현할 것입니다.

서버는 node.js, socket.io, Express를 사용하여 구현할 것입니다. 유저가 방을 만들때마다 랜덤적인 6자리 난수를 생성하고 그 난수를 방 코드로써 활용합니다. 방 코드마다 방에 대한 정보가 저장되고 그 정보를 기반으로 게임 통신을 가능하게 합니다. 본 프로젝트에서는 서버를 로컬에서 돌리는 방법을 우선적으로 알려드리겠습니다. 프로젝트를 완성한 이후에 서버를 무료로 호스팅 할 수 있는 koyeb앱에 대해서도 포스팅 하겠습니다.
(heroku를 사용해도 되지만 2022년 11월 28이후로 프리티어가 중단되어 서버를 돌리는데 돈이 들어갑니다.)

profile
백석대학교 소프트웨어학과 4학년 재학중

0개의 댓글

관련 채용 정보