게임인재원 2기 프로그래밍 1학기
C, C++, WinAPI 수업을 받은 뒤 타학과 학생들과 같이 처음으로 작업한 팀 프로젝트입니다.
- 장르 | 2D 퍼즐, 시뮬레이션
- 언어 | C / C++
- 엔진 | WinAPI 자체엔진
- 기간 | 20. 11. 16 ~ 20. 11. 27 (2주)
- 인원 | 기획 2명, 아트 2명, 프로그래머 3명
- 맡은 역할 | 프로그래밍 팀장(타팀과 의사소통 및 일정조율이 주 업무), 클라이언트 서브 프로그래머
- 설명 | 플랫포머 세계가 원인 모를 공격을 받아 맵이 파괴되었다. 자동으로 움직이는 캐릭터를 위해 수호대(플레이어)가 파괴된 맵을 다시 복구해야한다.
프로젝트 내 본인 작업
1. 2차원 맵 설계
block의 type과 화면에 그려줄 박스데이터로 이루어진 클래스형으로 2차원 배열 맵을 만들었습니다.
현재 마우스의 포지션값에 Tile Size를 나누면 마우스의 위치에 해당하는 맵 배열의 인덱스 값을 구할 수 있어
이것으로 배열의 type값을 Get()하거나 원하는 다른 type값으로 Set(Block type)하였다.
2. 게임 리소스 로드
// 인게임 백그라운드 맵
IMAGEMANAGER->AddImage("BG_MOUNTAIN", ConvertPath("BG_MOUNTAIN.bmp", 1), 2800, 2100, true, RGB(255, 0, 255));
IMAGEMANAGER->AddImage("BG_INGAME", ConvertPath("BG04.bmp", 1), 2832, 2318, true, RGB(255, 0, 255));
IMAGEMANAGER->AddImage("BG_INGAME02", ConvertPath("BG.bmp", 1), 2832, 2318, true, RGB(255, 0, 255));
// 플레이어 애니메이션
IMAGEMANAGER->AddFrameImage("PLAYER_MOVE_R", ConvertPath("1123_slime_R_MOVE.bmp", 1), 0, 0, 640, 140, 8, 1, true, RGB(255, 0, 255));
IMAGEMANAGER->AddFrameImage("PLAYER_MOVE_L", ConvertPath("1123_slime_L_MOVE.bmp", 1), 0, 0, 640, 140, 8, 1, true, RGB(255, 0, 255));
IMAGEMANAGER->AddFrameImage("PLAYER_JUMP_R", ConvertPath("1123_slime_Jump_R.bmp", 1), 0, 0, 1040, 140, 13, 1, true, RGB(255, 0, 255));
IMAGEMANAGER->AddFrameImage("PLAYER_JUMP_L", ConvertPath("1123_slime_Jump_L.bmp", 1), 0, 0, 1040, 140, 13, 1, true, RGB(255, 0, 255));
IMAGEMANAGER->AddFrameImage("PLAYER_FALL_R", ConvertPath("1123_slime_Fall_R.bmp", 1), 0, 0, 720, 140, 9, 1, true, RGB(255, 0, 255));
IMAGEMANAGER->AddFrameImage("PLAYER_FALL_L", ConvertPath("1123_slime_Fall_L.bmp", 1), 0, 0, 720, 140, 9, 1, true, RGB(255, 0, 255));
// 열매 애니메이션
IMAGEMANAGER->AddFrameImage("FRUIT", ConvertPath("fruit.bmp", 1), 0, 0, 2000, 300, 11, 1, true, RGB(255, 0, 255));
엔진 프로그래머가 제공한 Image Manager를 사용하여 게임에서 쓸 이미지와 애니메이션 소스들을 로드했습니다.
3. UI, 버튼 작업
엔진 프로그래머가 제공한 여러 매니저들의 기능을 사용하여
로드했던 이미지들 중 해당 버튼에 맞는 이미지를 연결하고, 씬에 배치하였습니다.
'프로젝트' 카테고리의 다른 글
하늘에 보내는 편지(Letter To Sky) | DirectX11 / 팀 프로젝트 (0) | 2022.04.12 |
---|---|
당신의 안녕을 위하여(For Your Tranquility) | Direct2D / 팀 프로젝트 (0) | 2022.04.08 |
지뢰찾기(Minesweeper) | Windows Console / GDI / 개인 프로젝트 (0) | 2022.04.06 |
댓글