이종석_기술문서.pdf
1.75MB

 

 

간략한 소개

* 기존에 콘솔로 구현했던 상점, 인벤토리를 API로 옮겨서 이미지를 추가하여 다시 구현
* 이미지 샘플링 한 게임 : 루루아의 아틀리에

 

사용 언어 및 인터페이스

* C++, Windows API

 

주요 기능

* 기본적인 기능은 콘솔로 구현했던 상점, 인벤토리와 거의 동일
* 도입부에 로딩 화면 추가
* 메뉴에 커서를 가져다 놓았을 때 이펙트 연출 (알파값 활용)

 

문제 및 개선점

* 주요 기능은 상당 부분 구현했으나 사소한 버그들이 굉장히 많음
* 아이템이 중복으로 장착되는 버그 존재 (시간이 없어서 고치지 못했으므로 추후에 수정)
* 아이템의 종류에 상관없이 아무 칸에나 장비할 수 있음
* 아이템 장착 시 인벤토리에서 아이템 아이콘이 사라지지 않음
* 상점에서 아이템 구입 시 한번 더 물어보는 메세지를 출력하는 것이 좋아보임
* 폰트를 좀 더 원본과 어울리게 수정하는 것이 필요

* 결과적으로 기한 내에 제대로 완성하지는 못한 것 같아 아쉬움이 많이 남음

 

 

간략한 소개

* WinAPI에 이미지 추가, 이를 이용해 플래피 버드 모작 및 콘솔로 먼저 만들었던 숫자 슬라이드퍼즐을 API로 제작
* 구성
①: 플래피 버드
②: 숫자 슬라이드퍼즐

 

사용 언어 및 인터페이스

* C++, Windows API

 

주요 기능

* 플레이어에 이미지 애니메이션 적용 (프레임 렌더) (①)
* 플레이어에 중력값이 적용되에 계속 밑으로 하강, 마우스 왼클릭으로 중력값을 일시적으로 마이너스로 초기화하여

  점프 표현 (①)
* 파이프 이미지를 원본에서 일부분씩 추출하여 길이가 다르더라도 제대로 파이프 이미지가 나올 수 있도록 함 (①)
* 퍼즐 클릭 시 bool 변수를 통해 퍼즐이 한번에 바뀌는 것이 아닌, 빈 공간으로 퍼즐이 천천히 움직이도록 표현 (②)
* 퍼즐이 순서대로 전부 맞춰졌을 경우 클리어 이미지 출력 (②)

 

문제 및 개선점

* 숫자 슬라이드퍼즐 에서 퍼즐 이동 시 중간에 멈춰버리는 경우 존재
* 숫자 슬라이드퍼즐 에서 클리어 이미지가 제대로 나오지 않는 경우가 있음

 

간략한 소개

* 도형 충돌 및 삼각 함수 개념을 응용하여 여러 가지 게임 구현
* 구성
 ①: 악어 복불복 게임
 ②: 카드 짝맞추기 게임
 ③: 총알 발사 시험
 ④: ③을 응용한 2인 슈팅 게임
 ⑤: 삼각 함수를 추가한 총알 발사 시험

 

사용 언어 및 인터페이스

* C++, Windows API

 

주요 기능

* 클래스를 사용하여 winMain 에서 직접 코드를 작성하지 않고 mainGame 에서 따로 작성
* 랜덤으로 당첨 이빨 결정, 해당 이빨을 클릭 시 게임 오버 처리 (①)
* 카드를 2장 뒤집어, 같은 색깔일 경우 흰색으로 변하게 하고, 아닐 경우 다시 뒤집음 (②)
* 플레이어가 발사한 곳에서 총알이 플레이어의 움직임과 관계없이 직선으로 이동하도록 예외 처리 부여 (③)
* 플레이어 2는 컴퓨터가 랜덤으로 움직이게 하고, 일정 간격으로 자동 공격 (④)
* 체력이 일정량 줄어들었을 경우 탄을 흩뿌리는 패턴 추가 (④)
* cosf, sinf 삼각 함수를 이용하여 발사한 방향으로 총알이 이동하는 것을 구현 (⑤)

 

문제 및 개선점

* 카드 짝맞추기 에서 시간이 어느 정도 경과했을 경우 카드의 색깔들이 전부 흰색으로 증발하는 현상 존재
* 게임에서의 삼각함수 개념을 100% 이해하지 못했음

 

간략한 소개

* 방향키를 이용한 도형 이동 및 도형 간의 충돌, 밀어내기, 마우스를 이용한 도형 드래그 이동 구현
* 위를 기반으로 간단한 똥피하기 게임 제작

* 구성

 ①: 방향키를 이용한 도형 이동

 ②: 도형 간의 충돌 처리

 ③: 도형 간의 충돌 처리 복합

 ④: 마우스로 도형 드래그 이동

 ⑤: 간단한 똥피하기 게임

 

사용 언어 및 인터페이스

* C++, Windows API

 

주요 기능

* 사각형이 화면 밖으로 벗어나지 않도록 예외 처리 구현 (①)
* 상하좌우 방향에서의 충돌 시 예외 처리를 각각 구현하여 충돌한 사각형을 제대로 밀어낼 수 있게 함 (②)
* 사각형 안의 작은 파란색 사각형은 흰 사각형 내부에서 충돌 처리를 통해 밀려나게 하고, 흰 사각형끼리 충돌 시

  파란색 사각형이 비어있는 흰 사각형 안으로 옮겨가게 함 (③)
* 마우스 커서 포인트와 사각형이 충돌한 상태에서 클릭 시 사각형의 x, y좌표가 마우스 커서가 움직인 거리만큼

  증감하여 마우스를 따라 움직이도록 처리 (④)
* 플레이어는 아래에 고정된 상태에서 좌우로만 움직일 수 있고, 랜덤한 속도로 떨어지는 사각형들과 플레이어가

  충돌 시 게임 오버 (⑤)

 

문제 및 개선점

* 똥피하기 게임 중 게임 오버 시 재시작 처리가 제대로 되지 않음 (게임이 그대로 진행)

 

간략한 소개

* 상점에서 아이템 구입, 인벤토리에 아이템 생성, 인벤토리 아이템 장착 구현

 

사용 언어 및 인터페이스

* C++, 콘솔

 

주요 기능

* 아이템 장착 시 스탯 변화를 체크하기 위해 플레이어의 스탯 설정
* 상점에서 아이템 구입 시 소지 금액이 감소하고, 인벤토리에 구입한 아이템이 순차적으로 생성
* 한 번 구입한 아이템은 상점에서 다시 구입할 수 없음 (수량 존재)
* 인벤토리에서 아이템을 장착 및 해제할 수 있으며, 장착 시 장착중이란 메세지를 띄우게 함

 

문제 및 개선점

* 포션 아이템이 일반 장비 아이템과 똑같이 장착됨 (장착 칸을 따로 둬야 함)
* 시간 부족으로 인해 몬스터와의 전투를 연출하지 못했음
* 전통적인 배열만을 사용하여 코드를 짜는 것이 불편했음 (이후에 다시 검토했을 때)

+ Recent posts