코딩을 쉽게 배우는 코딩게임

초보자가 재미있고 직관적으로 코딩 개념을 익히는 게임형 학습 도구

  • 개발 인원 : 7명 (팀장 1, 클라이언트/레벨디자인/UI·UX/시스템/테스트 등 역할 분담)
  • 프로젝트 진행 일자 : 2024년 1학기 약 3개월(학기 내)
  • 맡은 역할 : 팀장/총괄, Unity(C#) 기반 코어 플레이·튜토리얼 기획, 과제(미션) 흐름과 상호작용 UX 정립, 시연 빌드 관리

프로젝트 배경

기획

  • 문제 상황: 코딩은 필수 역량으로 자리 잡았지만, 문법 중심 진입 장벽이 높아 초기 학습자 이탈이 큼.
  • 기존 방식의 한계: 텍스트 위주 교육은 흥미 유지가 어렵고 즉시성 있는 피드백이 제한적.
  • 필요성: 게임 기반 학습(GBL)을 통해 흥미·몰입을 높이고, 시각적·직관적 경험으로 개념을 자연 습득하도록 설계.

기술

  • 제약: Unity+C#, 3개월, 7인 팀.
  • 핵심 과제: 초보자 친화 UI/UX, 점진 난이도, 실행-피드백의 즉시성, 코드 편집 경험(드래그앤드롭 포함).

목표

  • 초보자도 쉽게 접근 가능한 코딩게임 개발
  • 문제 해결 과정을 통해 기초 개념을 자연 학습
  • 지속 가능한 재미 요소로 학습 동기 유지

프로젝트 문제

  • 구조적 문제 : 게임 로직·학습(튜토리얼) 로직을 한 씬/오브젝트 계층에 담으며 복잡도 상승(프로토타입 단계)
  • 성능적 문제 : 대규모 콘텐츠 전개 전이라 치명적 이슈는 없었으나, UI 상호작용과 애니메이션 동시 처리 시 사용성 저하 피드백 발생
  • 운영적 문제 : 초기 사용자 테스트 결과, 튜토리얼 난이도 과도/코드 에디터 사용성 낮음 피드백 확인

해결과정

  • 아키텍처 개선 : 프로토타입–테스트–개선의 반복. 튜토리얼 단계를 세분화하고 설명 문구 강화. 게임 상호작용과 학습 UI를 역할 기준으로 분리.
  • 역할 단순화/최적화 :
    • 스택 자료구조 기반 인벤토리/슬롯 이동 로직을 별도 컴포넌트로 분리
    • 상호작용(문/카드키/모니터)은 공통 인터페이스로 통일
  • 통신/데이터 흐름 : 단일 로컬 클라이언트 구조(네트워크 미사용). 코드 에디터 → 즉시 실행/피드백 → 상태 갱신(문/키 등 오브젝트 활성화) 파이프 정립. 드래그앤드롭으로 정답 조합 시 단계 진행.

결과

  • 정량적 성과: (프로토타입 단계) 정량 로그 축적 전. 내부 테스트에서 튜토리얼 이탈 피드백 감소 경향 확인.
  • 정성적 성과:
    • 초보자 관점의 직관 UI/즉시 피드백 흐름 정착
    • 스택 인벤토리/슬롯 이동·문/키·모니터 상호작용 등 핵심 상호작용 완성
    • 확장 가능한 레벨·미션 구조로 후속 개발 용이성 확보

기술적 의사결정

  • 프레임워크/언어 : Unity + C# 선택(러닝커브/에셋 생태계/빠른 프로토타이핑, 3개월 제약 내 적합).
  • 처리 방식 :
    • 스택 자료구조로 인벤토리/슬롯 이동 로직 단순화
    • Canvas UI + 드래그앤드롭으로 코드·오브젝트 조합 경험 제공
    • 실행 즉시 결과를 띄우는 피드백 루프로 학습 효율 증대
  • 통신 방식 : 단일 로컬 클라이언트(오프라인)로 안정성/재현성 우선.
  • 인프라/DB : 별도 서버·DB 없이 클라이언트 내 상태 관리(프로토타입 범위).

아키텍처 설명

Simulator/Client : Unity 클라이언트가 렌더링·상호작용·튜토리얼·인벤토리 등 전담. WASD 이동, 오브젝트 상호작용(E), 문 애니메이션, 문제창(캔버스 UI), 드래그앤드롭 퍼즐 구현.

데이터 플로우(게임 내부):
사용자 조작/입력(문제창·드래그앤드롭·키 조작) → 규칙 검증/피드백(정오판정) → 상태 갱신(키 활성화/문 개방 등) → 다음 레벨/미션 진행.


부록: 구현 스냅샷(요약)

  • 1인칭 플레이어블 캐릭터(WASD) + 팔 애니메이션
  • 스택 인벤토리 & 직관적 인벤토리 UI
  • 중요 오브젝트(카드키·모니터 등) 상호작용(E키)
  • 모니터 상호작용 시 문제창(캔버스 UI) 출력, 슬롯 이동/정답 판정 후 키 활성화
  • 문 개폐 애니메이션로 몰입감 강화
Written on March 7, 2024