본문 바로가기
게임개발

[개발 회고록] 오르페우스 리듬게임

by Minok_nok 2021. 9. 22.
기간: 2016년 8월 5일 - 8월 14일 개발 및 배포
엔진: Win32 API 기반

개발 개요

https://www.youtube.com/watch?v=8rVD5aaeGEo&ab_channel=5%EB%8C%80360TV

한창 2016년 7~8월 즈음에, 애니메이션 '올림포스 가디언'에 나오는 한 장면이 인기를 끌었던 때가 있었습니다.

유아용 애니메이션에서 재미있는 상황을 연출하여 SNS에서 인기를 끌었습니다.

얼마 전 유행했던 똥 밟았네와 같은 맥락이라고 생각하고 있습니다.

 

당시 고등학교 1학년 과정을 진행하면서, Win32 API를 활용하여 여러가지 기능들을 배우고 난뒤 첫 방학이였습니다.

즉 소개해드릴 게임은 1학기때의 과정을 베이스로 만든 게임이라 많이 부족했지만, 첫 게임으로서는 큰 의미가 있습니다.

 

발단은 친구의 이야기였습니다.

위 영상이 유행하면서, '이를 리듬게임으로 만들면 어떨까?'라는 이야기가 나왔습니다.

목업

간단한 목업

이를 프로토타입이라고 할수는 없었기 때문에 목업이라고 부르겠습니다.

 

당시 방학동안 영상 편집툴을 건드려보면서 배우고 있던 저는 바로 개발에 들어가기 보다는 이를 '게임처럼 보이는 영상'을 만들어 올렸습니다.

첫 목적은 게임제작이 아닌 영상으로 만들어보기였던거죠.

 

당시는 학교 친구들과의 소통은 트위터로 주로 하던 분위기라, 영상을 제작하여 이야기를 꺼냈던 친구에게 보여주었습니다.

 

그런데 의외로 공유가 많이 되어서 당시엔 당황스러웠습니다.

그래도 목업과정을 통한 상품의 수요 가능성을 확인했으니, 개발까지 완료하면 꽤나 인기를 끌 수 있지 않을까 하는 마음이 가득 찼습니다.

 

세부 기획

최대한 영상과 가까운 스펙이 되도록 하는것이 목표였습니다.

 

타이틀

당시 만화창작과 친구가 그려준 타이틀 화면과, 올림포스 가디언 ost가 나오는 타이틀입니다.

간단하게 Click To Start의 룰을 따르기로 했습니다.

메인화면

개발 중( 좌 ) / 완성본 ( 우 )

 

오르페우스 리듬게임의 타이틀화면입니다.

리듬게임의 아이디어를 내준 그 친구가 그려준 일러스트입니다.

게임 플레이, 방법, 제작진이 들어갑니다.

 

게임방법

게임 방법입니다.

당시 노트로 쓸만한 이미지를 찾다가, 에로스의 화살이 나오는 회차를 발견하고 넣었습니다.

실력에 따른 게임 결과값이 달라지는 기믹도 넣었습니다.

제작진

모두 고등학교 친구들입니다.

항상 고맙게 생각하고 있습니다.

 

인 게임

인 게임은 위 목업 영상과 똑같이 만드는게 목적이기때문에 아래 개발에서 같이 이야기하도록 하겠습니다.

 

인 게임 개발

아쉽게도 해당 프로젝트의 코드는 날라갔습니다.

당시에는 백업의 중요성을 몰랐으며, 깃허브의 존재도 몰랐기 때문에 이 또한 경험이 되었습니다.

 

개발 당시의 기록은 있었습니다.

 

노트개발

위 영상은 개발 극 초반에 노트판정 베이스를 제작할때의 영상입니다.

노트 판정은 노트의 픽셀값을 받아와서 진행하였습니다.

 

제대로 된 판정코드가 아니였어서, 배포 당시까지도 판정이 제대로 되지 않았던걸로 기억합니다.

 

배경 작업

노트 베이스를 작성하였으니, 전체적인 게임 플룻을 작성하기 시작했습니다.

첫 목표는 디오니소스가 "준비, 시작"을 외친 후 리듬게임이 시작되는 화면을 만드는것이였습니다.

해당 영상을 게임 시작 전에 실행하는것이 목표였습니다.

WinAPI에서 동영상 관련 기능을 찾느라 고생을 했었습니다.

 

당시 블로그 링크

 

[API]동영상 재생

그냥 함수만 소개 vfw32.lib추가해야함 #include //영상 헤더추가 HWND hWndAVI = 0...

blog.naver.com

#include <vfw.h> //영상 헤더추가

HWND hWndAVI = 0;//AVI재생 하려는 핸들선언
hWndAVI = MCIWndCreate(hWnd, g_hInst, MCIWNDF_NOTIFYMODE | MCIWNDF_NOTIFYPOS, "동영상 이름.avi");//AVI핸들에 동영상 정보 저장
MCIWndPlay(hWndAVI);//동영상 재생

이 게임을 다운 받으면 위와같이 리소스가 root폴더에 있는걸 볼 수 있습니다.

소리 및 동영상 파일은 root폴더에서 불러왔습니다.

 

노트 배치

아마 당시엔 음악의 진행도에 맞춰 노트를 배치한걸로 기억이납니다.

진행도에 따라 뒤에 있는 배경도 원작과 맞춰서 렌더링시켜주었습니다.

게임

사운드 출력에 관한 당시 게시물

 

[API]프로그램중 사운드 재생과 정지

#include //사운드를 위한 헤더 #include #pragma comment(lib, "w...

blog.naver.com

결과 출력

PERPECT의 개수를 기준으로 결과를 출력해주었습니다.

유저가 여러번 플레이 할 수 있는 동기를 주기위해서 결과에 따른 대사와 이미지를 제작했었습니다.

배포

8월 14일날 개발이 끝나고 바로 올렸습니다.

더블버퍼링 관련 문제가 있었지만, 당시에 문제가 무엇인지 몰랐기 때문에, 어쩔 수 없이 배포할수 밖에 없었습니다.

당시에는 구글 드라이브 링크를 올렸었습니다.

 

반응

예상을 넘어서, 더 큰 반응이 났어서 놀랐습니다.

가장 와닿았던건 당시 유튜버나 BJ가 플레이를 해주었다는 사실 자체였습니다.

 

게임 플레이 영상 - 꽃핀

게임 플레이 영상 - 더빙걸

 

두번째는 해당 위키에서도 언급이 되었다는것이였습니다.

아무래도 당시에는 위키에 대한 호감이 높았기 때문에, 더욱 좋게 느껴졌습니다.

 

 

의의

고등학교 1학년 당시에 첫 작품이였으며,

자신이 배운걸로 무언가를 만들 수 있다라는것을 처음으로 느끼게 해준 작품이라고 생각합니다.

 

만약 이 작품을 안만들었으면 프로그래머쪽으로 계속 갈 수 있었을지 의문이 듭니다.

 

생각해보면 코드 파일도 헤더 및 코드 각각 하나씩 사용하여 만들었던걸 보면, 의욕 하나는 대단했던것 같습니다. 

댓글