CS 학습의 패러다임 전환
이론 중심의 휘발성 높은 학습 방식을 벗어나, 경험과 보상 중심의 지속 가능한 성장 구조로 재설계했습니다.
- 원자적 커리큘럼: 방대한 로드맵을 최소 단위(Step)로 쪼개어 심리적 진입장벽을 획기적으로 낮추었습니다.
- 몰입형 경쟁 학습: 실시간 배틀을 통해 동기 부여를 강화하고 실전 감각을 익힙니다.
- 과학적 장기 기억: 에빙하우스 망각 곡선에 기반한 SM-2 알고리즘으로 효율적인 자동 복습을 제공합니다.
지루한 CS 공부를 즐거운 습관으로 바꾸는
게이미피케이션 학습 플랫폼
이론 중심의 휘발성 높은 학습 방식을 벗어나, 경험과 보상 중심의 지속 가능한 성장 구조로 재설계했습니다.
4단계 계층 구조의 표준 커리큘럼 제공
다양한 유형으로 구조적 이해도 향상
최대 25인 동시 참여 몰입형 경쟁
티어 기반의 확실한 성취감 부여
개인별 망각 곡선을 분석하여 최적의 타이밍에 복습 문제를 제공, 장기 기억 형성을 극대화합니다.
방 생성부터 결과 정산까지 이어지는 완전한 MVP 플로우를 시연합니다.
사용자 간 관계 형성과 학습 데이터를 시각화하여 제공합니다.
Three.js를 활용해 UI에 생동감과 몰입감을 부여합니다.
| Socket.IO 기반 상태 동기화 |
방 입장/퇴장부터 게임 종료까지 모든 이벤트를 서버가 브로드캐스트하며 클라이언트의 상태를 일관되게 관리합니다. |
| 서버 기준 타이머 설계 |
클라이언트 시차 문제를 방지하기 위해, 문제 시작/종료 타임스탬프를 서버가 확정하여 전달하고 클라이언트는 이를 기준으로 카운트다운을 표시합니다. |
| 상태 기반 요청 검증 |
대기(Waiting), 진행(Playing), 종료(Finished) 등 각 상태에 따라 허용되는 요청을 엄격히 제한하여 비정상적인 접근을 차단합니다. |
| 이탈 및 무효 처리 정책 |
진행 중 새로고침/이탈 시 즉시 패널티를 적용하고 Leave 처리하며, 남은 인원이 1명 미만일 경우 Invalid 상태를 전파하여 게임을 조기 종료합니다. |
네트워크 환경이나 기기 성능 차이로 인해 각 클라이언트의 문제 로딩 시점이 달라, 특정 유저의 타이머가 먼저 흘러가 불리하게 시작되는 문제가 발생했습니다.
SkeletonUtils.clone으로 개별 캐릭터 인스턴스 독립화
여러분의 소중한 피드백으로 Funda는 더 성장합니다.
실시간 배틀이 재미있었는지
몰입감은 충분했는지
랭킹이 동기부여에 도움이 되었는지
재미 요소가 충분했는지