728x90
SMALL
1. 주제
- 소셜 웹 미니 보드 게임: 친구, 동료들과 실시간으로 온라인에서 멀티 게임을 즐길 수 있도록 하는 웹 서비스 기획
- 지인들과 내기를 위해 짧은 러닝타임과 간단한 조작법의 게임들 개발 예정
2. 프로젝트 목표
| 안정적인 동시성 프로그래밍
- 소셜 서비스인만큼 동시 접속자들이 게임을 진행할 때, race condition 등의 동기화 문제 없는 서버 구축
| 접근성
- 누구나 쉽게 접근할 수 있도록 웹 기반 게임 개발
- 쉬운 게임 룰과 조작법으로 게임에 대한 진입 장벽 낮추기
| Fun
- 게임의 본질은 재미! 짧은 시간에 동료끼리 재밌는 추억을 공유할 수 있는 게임 구현
3. 주제 선정 배경
- 커피나 점심 내기를 할 때 사다리 타기 등 복불복 게임만 하는 것은 식상함
- 웹으로 쉽게 접근할 수 있고, 간단하게 즐길 수 있으면서 실력으로 승리를 쟁취할 수 있는 게임 제작
4. 최종 결과물 설명
| 웹 기반 게임 서비스
- PWA를 활용하여 모바일 친화적인 UI/UX 제작
- 지인끼리 짧은 순간의 재미를 위한 내기용 게임들 제작 예정 (5~6개)
| 동시성 프로그래밍
- 다중 사용자들이 동시에 클릭해야 하는 상황에 (e.g. 박터뜨리기) IO 요청 처리 빠르게 진행
| 최근 전적 및 승률 데이터 구현
- 회원가입 후 게임 진행 시, 게임 결과 및 전적 데이터 보여주기
- 게임 플레이 횟수와 승리 횟수에 따른 등급 부여 (e.g. 계란 - 계란후라이 - 계란말이 - 계란찜 - 치킨 ..)
| 결과 공유 기능
- 공유 기능 추가로 게임 결과를 단톡방에 공유
5. 예상되는 기술 스택
| 기술 스택
- 프론트엔드: react(type script)
- 백엔드: node js(express, mongoose)
- DBMS: mogoDB
- 인프라: AWS, PWA
| 선정 이유
- 동시 접속과 요청 빠른 처리에 적합
- node js는 비동기 IO모델을 지원하며 single-thread 기반으로 동작하는 서버
- 비동기 방식으로 요청을 처리하므로 요청을 처리하면서 다음 요청을 받을 수 있음 - 5주의 개발 시간 고려
- node js는 5만 개 이상의 모듈을 보유하고 있어서 개발 시간 단축에 유리
- react, node js 모두 javascript 기반의 언어로 다른 언어에 비해 빨리 익히고 사용 가능 - 내기 상황을 고려했을 때, 모바일 환경 비중이 높다고 판단하여 PWA 이용
6. 게임 (기획 중)
- 박터뜨리기
- 사다리 게임
* 와이어 프레임: https://ovenapp.io/project/lWlyFuSNW0vbVPN9tqwFoRWqJCADwlwu#Vmom0
728x90
LIST
'개발자 도전기 > [SW사관학교 정글] 개발일지' 카테고리의 다른 글
정글에서 살아남기 | WEEK13 | 리더 완장 너무 무겁다, 그러나 절대 포기 안 한다 (0) | 2021.11.07 |
---|---|
정글에서 살아남기 | WEEK12 | 오랜만에 느끼는 설렘! 더 성장하자구우 (0) | 2021.10.31 |
정글에서 살아남기| WEEK11 | 계속되는 삽질, 이 경험마저 도움이 되겠지 (0) | 2021.10.24 |
정글에서 살아남기| WEEK10 | 가상 메모리 너무 어렵다 (0) | 2021.10.17 |
정글에서 살아남기| WEEK09 | syscall......!!!!!!!!!! (0) | 2021.10.10 |
댓글