Skip to content

week-5-day-1-report주차 week-5-day-1-report일차 일일보고서

날짜: 2025년 07월 14일

다마고치 게임 완성 - 진짜 게임으로 만들기

5주차가 시작되었다. 금요일에 만들었던 다마고치를 이제 진짜 플레이 가능한 게임으로 완성하는 시간이었다. 주 강사가 “오늘은 여러분이 게임 개발자가 되는 날입니다”라고 말하자 학생들이 들떴다.

지난주에 만든 기본적인 다마고치 클래스를 게임으로 래핑(wrapping)하는 작업을 시작했다. 게임 루프, 사용자 인터페이스, 게임 상태 저장 등을 추가했다.

콘솔 기반 UI를 개선했다. 다마고치의 상태를 시각적으로 표현하기 위해 ASCII 아트를 사용했다. 행복도에 따라 표정이 바뀌고, 배고픔 수준을 막대 그래프로 표시했다. “진짜 게임 같아요!”라는 반응이 나왔다.

게임 루프를 구현했다. 일정 시간마다 자동으로 상태가 변하고, 사용자 입력을 받아 처리하는 시스템을 만들었다. 멀티스레딩의 기초 개념도 자연스럽게 접했다.

세이브/로드 기능을 추가했다. 다마고치의 상태를 파일로 저장하고 불러오는 기능을 구현하면서 직렬화(Serialization)의 개념을 배웠다. 게임을 종료했다가 다시 시작해도 키우던 다마고치가 그대로 있는 것을 보고 만족해했다.

각자 창의적인 기능을 추가하는 시간을 가졌다. 미니게임, 상점 시스템, 다마고치 커스터마이징 등 다양한 아이디어가 구현되었다.

  • ASCII 아트를 어떻게 만드는지 질문. 온라인 생성기 소개하고 직접 만드는 방법도 안내.
  • 게임 루프가 이해가 안 된다는 경우. while문 안에서 입력 처리와 상태 업데이트가 반복되는 구조 설명.
  • 멀티스레딩이 어렵다는 의견. 지금은 Timer 정도만 사용하고 깊이 들어가지 말라고 조언.
  • 직렬화가 뭔지 모르겠다는 질문. 객체를 파일로 저장 가능한 형태로 변환하는 것으로 설명.

다마고치를 완성된 게임으로 만드는 과정에서 학생들의 열정이 대단했다. 자신만의 기능을 추가하며 창의성을 발휘하는 모습이 인상적이었다.

게임 개발은 프로그래밍의 다양한 개념을 종합적으로 활용하는 좋은 예제다. UI, 상태 관리, 파일 I/O, 기초적인 동시성 처리까지 자연스럽게 학습할 수 있었다.

5주차 첫날에 완성도 있는 프로젝트를 만들어낸 것이 학생들에게 큰 자신감을 주었다. “나도 게임을 만들 수 있구나”라는 성취감이 중요하다.

  • 게임 개발 관련 추가 학습 자료 준비
  • 다른 콘솔 게임 예제 수집 (테트리스, 스네이크 등)
  • 게임 로직 설계 패턴 정리