본문 바로가기
게임개발/가마수트라

포스트모템: 울트라 볼 (Ultra Ball)

by 아수랑 2024. 5. 3.
728x90

울트라 볼 제작에 대한 몇 가지 생각과 주요 시사점.

관련 분야: 게임 기획
작성자: James Rowbotham, Blogger

 


새로운 게임을 만드는 데 몇 주를 보냈습니다! 몇 가지 이유로 새로운 게임을 출시하고 싶었습니다:

 

언리얼 5에서 더 나아지고 싶었고, 다른 게임들은 모두 UE4로 개발 중이며, UE5에는 멋진 신기술이 많이 포함되어 있습니다.

제 메인 게임인 프리러너스를 완성하는 데 시간이 오래 걸립니다.

만들고 싶은 작은 게임 아이디어가 잔뜩 쌓여 있습니다.

 

그래서 예전부터 만들고 싶었던, 재미있을 것 같고 빨리 만들 수 있는 간단한 아이디어를 하나 골랐습니다.

 

 

울트라 볼!


울트라 볼은 전통적인 아케이드 게임 플레이와 현대적인 느낌을 결합한 게임입니다. 브레이크아웃, 퐁, 슈퍼헥사곤과 같은 고전 게임 요소를 결합하여 단순해 보이지만 점점 더 어려워지는 도전적인 게임 플레이를 만들어내어 긴장의 끈을 놓을 수 없게 만듭니다!

점점 더 강도가 높아지는 게임에 맞서 반사 신경을 시험해 보세요!
여기에서 무료로 플레이하세요.

 

최초 아이디어:

 

몇 년 전에 좋은 아이디어가 있었지만 아직 만들 기회가 없었습니다. 아래에서 제가 적어둔 초기 디자인을 볼 수 있습니다. 공이 최대한 오래 튕기도록 하는 매우 간단한 개념입니다. 마우스 왼쪽 버튼을 누르고 있으면 위쪽 패들을, 마우스 오른쪽 버튼을 누르고 있으면 아래쪽 패들을 움직일 수 있으며, 장애물이 있으면 더 어렵게 만들 수 있습니다.

02_초기아이디어_이미지.jpg

 

아이디어에서 벗어나기:

하지만 아이디어로 돌아와서 실제로 제작에 대해 생각해보니 특정 마우스 버튼을 눌러 특정 패들을 움직이면 너무 복잡하고 느낌이 좋지 않다는 것을 금방 깨달았습니다. 그래서 처음의 생각에서 벗어나기로 결정했습니다. 마우스 클릭이 필요 없도록 메커니즘을 단순화했습니다. 대신 공이 움직이는 방향으로만 패들을 제어하면 됩니다. 덕분에 공 앞에만 집중하는 느낌이 들었습니다(뱀파이어 서바이버에서 버튼을 클릭할 필요 없이 다음 이동 장소를 찾는 것과 비슷합니다).

 

개발 진행 상황:

게임을 만드는 과정을 돌아보는 것도 재미있을 것 같았습니다. 시간을 엄격하게 추적하지는 않았지만 게임을 만드는 데 약 20시간이 걸렸고, 몇 주에 걸쳐 나눠서 작업한 것 같아요. 핵심 개발 이외의 작업인 잇치 스토어 페이지 제작, 게임 업로드, 스크린샷, 트레일러 제작, 게임 제작에 관한 블로그 게시물 작성까지 포함하면 총 25시간 정도 걸렸습니다. 아래는 제가 시간을 어떻게 보냈는지와 진행 상황을 대략적으로 정리한 것입니다:

반응형


청크 1: 약 5시간

프로젝트를 시작하는 것은 항상 흥미진진하기 때문에 저는 여기서 더 많은 시간을 보냈습니다. 하향식 기본 프로젝트 템플릿에서 시작하여 프로젝트를 설정했지만 템플릿 메시의 일부만 유지하고 거의 모든 것을 제거했기 때문에 완전히 깨끗한 프로젝트로 시작하는 것이 더 좋았을 것입니다. 초기 목표는 핵심 게임 루프를 가능한 한 빨리 만들어서 실제로 재미있을지 테스트하는 것이었습니다. 그래서 결국 넣었습니다:

 

공이 튀어 오르는 핵심 메커니즘과 패들을 움직이는 기능

경기 상태(경기 시작, 게임 진행 중, 경기 종료)

레벨 데이터 시스템과 각 레벨마다 고유한 완료 시간이 있습니다.

각 레벨에서 얻은 최고 시간을 추적하는 저장 시스템

간단한 UI

빌드를 요리할 수 있는지 확인 (과거에 게임 잼을 진행하면서 얻은 작은 팁)

 

간단한 게임 메커니즘이지만 이미 한 번 더 플레이하는 느낌을 받을 수 있어서 진행 과정이 매우 만족스러웠습니다.


청크 2: 약 1시간

 

 

예상했던 것보다 훨씬 더 많은 작업을 해냈고, 핵심 메커니즘을 계속 적용하고 싶었기 때문에 게임의 나머지 구조에 집중했습니다:

레벨 데이터에 "모디파이어"를 추가하여 장애물을 활성화 및 비활성화하고 패들 모양을 변경하는 등 게임의 다른 핵심 시스템을 구현했습니다.

제가 계획했던 10개의 레벨에 대한 플레이스홀더 레벨 데이터 설정하기

UI에서 레벨을 선택하고 해당 레벨에 대한 정보를 볼 수 있도록 만들기

 

동영상에서 20초가 지나면 패들을 어떻게 다른 모양으로 변경할 수 있는지 확인할 수 있습니다. 이것은 게임에 대한 좋은 개념 증명이었습니다.

 

청크 3: 약 1시간

 


다음 단계는 음악을 추가하여 게임의 느낌을 확고히 하는 것이었습니다. 제 마음에 드는 음악을 찾는 데 시간이 오래 걸렸고, 그 결과 많은 진전이 없는 것처럼 느껴졌습니다. 언리얼 마켓플레이스에서 음악(5파운드)과 8비트 사운드 이펙트 팩(7.60파운드)을 찾았습니다. 이 프로젝트에 돈을 쓴 건 이 두 가지뿐이었어요: 총 12.60파운드입니다. 위 동영상에서 볼 수 있는 간단한 음악 전환 시스템을 구현했지만 새로운 음향 효과를 구현할 시간이 부족했습니다.


4, 5번 청크: 총 1시간 내외

 

생활이 바빠져서 울트라볼 작업이 잠시 늦어졌습니다. 작업을 하려고 했지만 30분 정도밖에 작업할 시간이 없었습니다. 그래서 작업의 흐름에 들어가서 의미 있는 진전을 이루기가 어려웠습니다. 저는 게임의 느낌을 개선하기 위해 몇 가지 다른 작업을 추가했습니다(움직일 때 패들이 기울어지고, 공이 튕길 때 눈금이 표시되고, 레벨이 시작되면 패들이 눈금이 표시되도록 했습니다). 공의 색상도 변경했습니다.

디자인 측면에서는 게임플레이가 너무 빨라져서 게임에 재미를 더하기가 조금 어려웠습니다. 공이 튕길 때의 카메라 흔들림과 사운드는 처음에는 멋져 보였지만 공의 속도가 빨라지면 결국 일정해졌습니다. 그래서 모든 것이 매우 짧고 타이트해야 했습니다. 예를 들어 바운스 사운드는 매우 빠른 공격과 릴리스가 있어야 했죠.


청크 6: 약 1시간

07_LevelIdeas_Image.jpg


진전이 별로 없어서 약간 짜증이 났어요. 주스 작업은 흥미로웠지만 게임을 완성하는 데 집중하는 데 방해가 되는 것 같았어요. 그래서 가장 중요한 레벨 디자인에 집중하기로 결정했습니다. 레벨 디자인이 완성되면 한 시간 정도의 시간만 주어지더라도 목표할 수 있을 것 같았어요. 위에는 제가 생각한 레벨의 스케치를 볼 수 있습니다. 먼저 아이디어를 그린 다음 난이도 순으로 번호를 매겼습니다(개발 난이도가 아닌 플레이어의 관점에서). 이 계획을 세우고 나니 기분이 한결 나아졌습니다.


청크 7 : 약 4시간

 

 

여기서부터 모든 것이 맞춰지기 시작했습니다. 레벨 디자인 계획을 세웠기 때문이기도 하지만, 시간이 다시 길어지면서 흐름에 좀 더 집중할 수 있었기 때문이라고 생각합니다. 여기서 작업했습니다:

 

나머지 레벨에 필요한 대부분의 장애물/변조기 메커니즘을 제거했습니다.

전반적으로 UI를 개선하고 재미를 더했습니다.

그동안 쌓여 있던 여러 가지 버그를 수정했습니다.

 

 

청크 8: 약 4시간

 


시간이 더 많이 확보되어 유용하게 사용했습니다. 게임 마무리에 가까워지면서 마무리 작업을 시작하고 싶었습니다. 그래서 게임 아트에 대한 패스를 만들었습니다. 미술은 제가 가장 약한 분야이지만(저는 색맹입니다), 이 작은 프로토타입을 만들면서 연습하고 개선하고 싶은 부분입니다. 또한 마지막 레벨 디자인을 작업한 다음 게임에서 실제 진행이 가능하도록 잠금 시스템을 만들었습니다. 그런 다음 밸런스를 다시 한 번 조정했습니다. 일부 레벨이 너무 어려워서 밸런스를 조정해야 했습니다:

스위처루 레벨은 너무 어려워서 제거했습니다(반전 조작).

쿠킹된 빌드에서 회전하는 삼각형 장애물이 에디터 내에서보다 더 빨리 회전하는 것 같아서 레벨을 플레이할 수 없어서 속도를 낮춰야 했습니다.

 

청크 9, 10: 총 2시간 정도 소요

 


이제 게임을 완성하는 단계에 접어들었습니다. 게임을 플레이 테스트한 다음 마무리하고 싶었습니다. 빌드를 만들어서 두어 명에게 플레이하고 피드백을 받도록 했습니다. 그들은 게임을 즐기는 것 같았고 저는 수정해야 할 몇 가지 버그, 더 많은 것을 추가할 기회에 대한 제안 및 게임에 대한 기타 일반적인 의견을 얻었습니다. 직접 플레이 테스트한 후 피드백에 따라 버그 수정, 추가 기능 추가 등 몇 가지 새로운 기능을 빠르게 게임에 추가했습니다:

새로운 레벨 3개. 하나는 여러 경로가 있는 레벨입니다. 하나는 핀볼 스타일의 플래퍼가 있는 레벨(위 동영상에서 볼 수 있음)이고, 마지막으로 전체 게임의 맨 마지막에 "The Impossible Lvl"이라는 레벨이 있습니다. 의도적으로 매우 어려운 레벨(저는 아직 이기지 못했습니다)입니다. 이 마지막 레벨에서는 프로젝트 초반에 제거하기로 결정했던 반전 컨트롤을 다시 도입했습니다. 게임 마지막에 아주 어려운 도전을 하고 싶었거든요.

또한 각 레벨에 기본 레벨 완료 시간보다 더 도달하기 어려운 '울트라 타임'이라는 두 번째 레벨 완료 타이머를 추가했습니다. 전체 게임과 어울리고 플레이어에게 약간의 도전을 더할 수 있다고 생각했습니다(게다가 개발 시간 측면에서도 쉽게 승리할 수 있었습니다).


게임을 계속 개발하면서 레벨을 더 추가하고 더 많은 콘텐츠를 추가할 수도 있었지만, 전체 과정을 그려나가는 느낌에 도달했습니다. 요점은 재미있게 게임을 만드는 연습을 하고 다음 단계로 넘어가는 것이었습니다! 그래서 완성했다고 선언했습니다!


청크 11 :  약 5시간



끝났다고 했나요... 거의 끝났다는 뜻입니다. 더 큰 게임인 프리러너를 만들면서 배운 한 가지는 마케팅 측면이 매우 중요하다는 것입니다. 울트라볼을 완전히 마케팅할 계획은 없지만, 앞으로 어떤 게임을 만들든 마케팅을 위한 파이프라인을 구축하기 위해 할 수 있고 연습할 수 있는 몇 가지 기본적인 것들이 있습니다. 재미있게도 이 부분은 전체 개발 시간의 거의 5분의 1을 차지할 정도로 계획보다 훨씬 오래 걸렸습니다! GIF를 만들고 영상을 녹화하는 것은 항상 시간이 오래 걸리고 까다롭지만, 항상 잊어버리는 사소한 일과 단계도 많이 있습니다. 예를 들어 유튜브 트레일러 동영상의 맞춤 썸네일을 만들어야 하는 경우입니다. 다음은 향후 게임을 위해 제가 수행한 광범위한 작업의 목록입니다:

잇치 스토어 페이지 설정

미디어, GIF, 트레일러, 스토어 페이지 및 소셜 미디어용 동영상 등

이 포스트모템 블로그

소셜 미디어 게시물

게임으로 웹사이트 업데이트

IndieDB.com에 게시

 

그리고 정말 끝났습니다!

 

아래는 제가 만든 게임 트레일러입니다.

 



전반적인 생각과 배움입니다:

시간이 많을수록 창의력을 발휘하는 데 도움이 됩니다: 한 시간 이하로 작업할 때는 의미 있는 진전을 이루기 어려웠고, 큰 시간 단위로 작업할 때 흐름에 몰입하고 창의력을 발휘하는 데 더 유용했습니다.

게임에서 휴식을 취하는 것이 도움이 될 수 있습니다: 몇 주에 걸쳐 20시간씩 나눠서 개발하는 것이 20시간 동안 집중적으로 작업하는 것보다 훨씬 낫습니다. 중간중간 게임에 대해 수동적으로 생각하고 새로운 아이디어와 관점으로 돌아올 수 있는 시간을 가졌기 때문입니다.

계획을 세우세요: 별다른 진전이 없다고 느껴질 때 실행 계획을 세우는 것이 큰 도움이 되었습니다. 더 큰 작업을 관리하기 쉬운 조각으로 나누면 시간적 여유가 생겼습니다.

항상 플레이 테스트하기: 사람들에게 게임을 플레이 테스트하게 하는 것은 내가 전혀 모르는 부분을 사람들이 볼 수 있기 때문에 항상 유용합니다.

머릿속에서 아이디어를 빨리 꺼내세요: 머릿속에 있는 아이디어 중 일부는 실제로 실행하려고 할 때 작동하지 않습니다(예: 처음 아이디어에서 벗어난 것).

'범위 크리프'를 조심하세요: 저는 프로젝트를 확장하기 시작했고, 더 많은 내용을 추가하고 더 많은 레벨을 추가했습니다. 다행히도 저는 제 자신을 붙잡고 그냥 끝낼 수밖에 없었습니다. 여기서 목표는 완성도 높은 게임을 만드는 것이 아니라 재미있는 프로토타입을 많이 만드는 것임을 기억하세요.

마케팅은 그 과정의 일부가 되어야 합니다: 스토어 페이지, 마케팅 트레일러/스크린샷 등 기본적인 마케팅을 업로드하고 수행하는 것은 모두 진행 과정의 일부이며, 게임 제작에 걸리는 시간을 예상할 때 이를 고려하지 않았습니다. 작은 부분들이 너무 많아서 앞서 말했듯이 결국 전체 작업 시간의 5분의 1(약 5시간)이 사용되었습니다. 마케팅은 제가 개선하고 싶은 부분 중 하나이므로 앞으로 프로토타입이나 잼을 만들 때 고려해야 할 부분입니다.

 

728x90

최종 생각:

울트라볼의 결과물에 만족합니다. 게임이 재미있고 꽤 타이트한 것 같아요. 더 확장할 수 있는 방법이 보이지만 지금은 이대로 두는 것에 만족합니다. 언리얼 엔진 5를 사용하는 것이 더 편해졌고, 미뤄두었던 다른 게임 아이디어를 프로토타입으로 만들어볼 수 있기를 기대하고 있습니다!

이 게임이 재미있으셨다면 여기에서 울트라 볼을 플레이해 보시고 의견을 알려주세요!


Translated with http://www.DeepL.com/Translator (free version)

 

* 원문:

 

Featured Blog | Postmortem: Ultra Ball

Some thoughts and key takeaways from the making of Ultra Ball.

www.gamedeveloper.com

 

* 게임 사이트: https://cbgamedev.itch.io/ultra-ball

 

ULTRA BALL by cbgamedev

If Breakout, Pong and Superhexagon had a baby

cbgamedev.itch.io

 

반응형
LIST

댓글