개인 작업 목록

Unity - RunRunPalmerChan

BaekNohing 2023. 12. 18. 01:27

작업기간 :
2023.10.17 ~ 2023.12.12
작업인원 :
1명 (디자인, 기획, 개발)
프레임워크 :
unity (2022.3.10f1)

0. 링크

 

GitHub - BaekNothing/runrun_palmerchan: MejiroPalmer(メジロパーマー) fan game

MejiroPalmer(メジロパーマー) fan game. Contribute to BaekNothing/runrun_palmerchan development by creating an account on GitHub.

github.com

 

 

RunRun_PalmerChan by BaekNothing

RunRun_PalmerChan

baeknothing.itch.io

 

1. 개요

10월, 그냥 느닷없이 우마무스메 2차창작이 하고싶어서 후다닥 만든 팬게임,
기초적인 게임 경험 자체는 11월에 다 만들어 놨지만 아트리소스를 뽑는데 시간을 너무 많이 지체했다.
안하던 짓을 하려니, 뭘 어떻게 뽑든 마음에 안들어서... 그리고 폐기하고 그리고 폐기하고를 반복하다가. 
어떻게 뽑아내건 나를 만족시키는 것은 불가능하다고 판단, 가장 마지막 리소스로 픽스해서 업로드 해버렸다.

스파인도 다뤄보고 재미있는 시간이었지만. 후술할 개발적 목표는 이미 달성했다고 생각했기 때문에
달성 불가능한 목표 때문에 플젝이 의미없이 끌리는 건 유효한 행동이 아니라고 판단. 종결하였다. 

▼ 이것은 itch.io에 배포하면서, 프로젝트 밑에 붙여둔 설명문구. 이 세상에는 좀 더 많은 매지로 파머 컨텐츠가 필요하다.

This is a fan game I hastily put together after being deeply moved by the stories of Uma Musume and Mejiro Palmer(メジロパーマー). If you happen to come across this page, please remember Palmer chan. If you have the time, also consider playing Uma Musume; it's the best game. And if you could create a fanfic for Mejiro Palmer, I would be very grateful. We need more Mejiro Palmer content.

This game is under CC0 license. It is completely open, and you are free to use it however you want. But, please keep in mind that this game is a derivative work of Uma Musume. 
Gameplay Instructions: : When the character overlaps with colored object, click the space or mouse - it will increase the speed. When the speed reaches a certain level, something special will appear.
The HUD in the top-left corner consists of score, remaining time, and speed in order. Um... aiming for a high score? Perhaps around 5000 points is the limit.

 

2. 개발상세

개인적으로 이 프로젝트를 진행하면서, 다음과 같은 구조를 적용해보고 싶었다. 

즉, 게임의 시스템을 

  • 게임의 상태에 따라, 실제로 액션을 실행하는 영역
  • 각 액션의 상세를 정의하는 영역
  • 정의된 상세가 참조하는 데이터를 보관하는 영역

위와같은 3 영역으로 나누어서 구성하였는데.

먼저 실제로 액션을 실행하는 영역과 액션의 상세를 구분한 이유는 각각의 상세구현에서 액션을 실행할때. 선언해놓고 실제로는 호출되지 않는 액션들이 누적되면 가독성이 떨어지고 구조를 파악하기가 조금 까다로워진다는 것을 경험적으로 알게되었기 때문에. 의도적으로 실행되는 함수는 반드시 실행부에 등록하는 과정을 거치도록 해서. 실제로 실행되는 함수들을 등록시의 선언문만 보면 알 수 있도록 일종의 목차화가 될 수 있도록 하기 위함이었다.

그 다음 상세의 정의와 참조하는 데이터를 구분한 이유는 상세정의에서 참조하는 숫자들이 상수의 형태로 되어있거나 각 스크립트에 흩어져있으면, 수정이나 파악을 위해 각 값들을 찾아야할 때 이 과정이 조금 까다로워진다는 것을 알게되었기 때문에 별도의 공간에 비슷한 정보들을 한데 묶어서 데이터 수정 시 해당 파트만 수정하면 되도록 하기 위함이었다.

그리고 약 3주정도 퇴근 후 틈틈히 개발을 진행하면서, 나름 의도대로  잘 나온 것 같아서 만족스럽다. 

 

3. 기타 

Action을 실행부에 등록하는 과정에서, 그리고 등록된 액션을 실행하는 과정에서. 명시적으로 등록된 액션의 실행순서를 정의할 수 있다면 좋았을 뻔 했다는 생각을 했다. (Object가 활성화되는 순서에 따라서 Ation에 쌓이는게 아니라, 애초에 등록할 때 각 Action의 실행 우선순서를 정의해서 등록할 수 있도록)

조만간 새 토이플젝을 시작할 때에는 해당 부분을 감안하여 해볼 것.