학습 내용
- C++ 콘솔 출력과 키 입력 처리
- 랜덤 장애물 생성과 충돌 체크
- 점프, 슬라이딩, 방향 전환 상태 처리
- 목숨/점수/게임오버 흐름 구성
- 더블 버퍼링으로 화면 깜빡임 완화
C++ / WinAPI / DirectX
게임 프로그래밍 교육 과정에서 제작한 2D 게임 프로젝트. 입력, 상태, 충돌, 경로 탐색, 애니메이션, AI 패턴을 직접 구현하며 게임 클라이언트 개발의 기본 흐름을 익힌 작업
제한된 콘솔 환경에서 게임 루프, 입력, 상태, 충돌, 화면 갱신이 어떻게 연결되는지 직접 확인한 프로젝트.
Implementation Focus
슬라이딩 / 1단 점프 / 2단 점프 / 방향 전환
방향 전환 쿨타임, 목숨 제한
텍스트 화면이 비어 보이지 않도록 배경 오브젝트를 추가
구름 등 배경 오브젝트를 출력해 플레이 화면 밀도 보완
출현 타이밍 / 종류 / 높이에 랜덤 적용
장애물 위치와 플레이어 상태를 비교해 충돌 판정
WinAPI 프레임워크, 2D 애니메이션 렌더링, 2차원 좌표 수학, 타일 시스템
타워 배치/동작, 투사체, 적 이동 경로 탐색, 웨이브
Project 03
메탈슬러그 2 스테이지 1을 참고해 플레이어, 적, NPC, 보스 패턴을 직접 구현한 2D 액션 게임 모작
DirectX 프레임워크, 2D 애니메이션 렌더링, AI 행동 패턴, 변환 행렬, 직선의 방정식, 포물선 운동
플레이어 모션, NPC(+ 적) 행동, 보스 패턴, 아이템
단순 화면 재현보다 입력, 상태 전환, 충돌, 경로 탐색, 애니메이션처럼 게임이 실제로 동작하는 규칙을 직접 구현하는 데 집중.
직선의 방정식, 포물선 운동, 변환 행렬 같은 기초 수학을 알수록 구현할 수 있는 기능 범위가 넓어진다는 점을 체감.
애니메이션 전환을 많은 조건문으로 처리한 부분은 한계가 있었고, 상태 패턴이나 명령 패턴을 적용했다면 더 체계적인 구조가 가능했을 것.
이후 Unity, Unigine, Unreal을 다룰 때도 엔진 기능을 쓰기 전에 입력, 상태, 객체, 충돌, 애니메이션의 기본 구조를 이해하는 기반이 됨.