사전캠프 TIL

26.04.14 Steam 출시 Unreal 선배기수 게임 진행

jh009 2026. 4. 14. 18:16

오늘은 Steam에 출시된 Unreal 선배기수 게임인 AvaOut을 진행하였다.

플레이어 최대 4명이 행성을 탐사하는 4인 협동 퍼즐 게임이다.

 

혼자서도 플레이가 가능하지만, 여러 퍼즐을 풀기 위해서는 최소 2인으로 플레이를 해야 원활한 진행이 가능한 것 같다. 

 

플레이어는 열차에서 시작하여 열차의 연료가 바닥나기 전까지 맵에 존재하는 3개의 탐사지점을 돌아 다음 스테이지로 가야한다.

 

연로는 맵 곳곳에 배치되어있어 연료가 떨어질 일은 거의 없다.

 

총 3개의 스테이지를 클리어하면 게임의 엔딩을 볼 수 있다.

AVaOut

플레이 및 분석

I. 선택한 게임의 이름

-  AVaOut

 

II. 장르

- 어드벤처, 협동, 생존, 퍼즐, 3인칭, 퍼플 플랫폼, 3D

 

III. 게임 플레이 진행

- 조원 혹은 다른 수강생들과 함께 플레이, 최대 4인까지 진행 가능

- 이후 과제 1~2개 선택하여 수행

 

진행한 과제

구현 순서 재설계 (난이도 하)

(게임을 직접 만든다고 가정하고 개발 순서 작성)

팀 개발로 가정

 

1. 게임 장르 정하기

  • 협동, 생존, 퍼즐, 테라포밍

2. 게임의 핵심 콘텐츠 구상

  • 연료를 모으기
  • 스테이지방식 상점 팀 공유 업그레이드
  • 공격 없음
  • 각 맵의 3가지 탐사 지점
  • 협동 퍼즐 (솔로 플레이어도 클리어 가능하게)

3. 캐릭터

  • 프로토타입 움직일 수 있는 기본 캐릭터
  • 캐릭터 이동 및 상호작용 로직 구현
  • 캐릭터 피격 판정
  • 사망 시 다른 플레이어의 화면 관전
  • 달리기 시 줌 아웃

캐릭터 이동 (WASD, 점프, 상호작용)

카메라 (3인칭 시점)

충돌 처리 (지형과 상호작용이 가능하게)

 

4. 맵

  • 로비 맵 (작게 구현)
  • 테라포밍 설정에 맞는 맵 구현 (프로토타입)
  • 지형 수정 (올리기 / 평탄화)
  • 구조물 액터 생성

5. 적

  • 모든 적의 기본이 될 적 클래스 구현
  • 컨셉에 맞게 모델링을 씌우기
  • 해당 스테이지에서 사용할 적 구현

6. UI

  • 체력, 스테미나 바 구현 (피격시 HP감소, 달리기 및 점프 시 스테미너 감소, 패시브 아이템에 따른 최대치 증가)
  • 연료 게이지 구현 ( 연료의 최소치/ 최대치)
  • 3개의 단서 클리어 충족 조건 구현
  • 아이템 칸 4개 구현 (키패드 1 ~ 4번 사용, 선택 시 그 칸 확대)
  • 체력 바 상단 팀 목숨(부활 횟수) 토큰 구현

팀 목숨(부활 횟수) 토큰

  • 플레이어 사망 시 관전 구현
  • 아이템/환경에 근접 시 상호작용 키 구현
  • 게임 시작시 UI 구현
  • 플레이어 ID 띄우기
  • 옵션 구현
  • 단서 내용 구현

7. 아이템

  • Fuel
  • MaxHP,
  • MaxStamina,
  • MaxSpeed
  • RevivalChip
  • HP Recovery

8. 오브젝트

  • 문 열기/닫기
  • 레버
  • 횃불
  • 핀볼
  • 숙여서 들어갈 수 있는 길
  • 누르면 들어가는 돌 (버튼)
  • 돌아가는 석상
  • 불을 키거나 끄는 석상
  • 대포
  • 엘레베이터 (버튼)
  • 기믹 단서
  • 일지 단서
  • 비밀번호가 있는 문/방
  • 비밀번호 입력 패널

9. 상점

  • 기준치 초과 후 남은 연료를 재화로 이용해 아이템을 구매
  • 구매가능 목록

MaxHP

MaxStamina

MaxSpeed

RevivalChip

HP Recovery

 

10. 구현

 

캐릭터, 맵, 적 구현 / 추가할 부분 → 개발 속도에 따라 구현

 

 

II. 과제명 : 게임 데이터를 클래스처럼 표현 (난이도 중)

Player

  • HP
  • Stamina
  • Movement
  • Sound
  • Camera Spring
  • Camera
  • Crouch
  • Move
  • Jump
  • Walk
  • Use
  • Die
  • Revive
  • Drop
  • Damaged
  • Voice

Monster

  • id
  • name
  • attack
  • Movement
  • Animation
  • Player Chase
  • Player Attack
  • Patrol
  • Idle
  • Sound

Train

  • Fuel Max
  • Fuel Min
  • Stage Button
  • Stage Loading
  • Revive
  • Passive
  • Door
  • Train Location
  • Store

Item

  • id
  • name
  • type
  • value
  • Active

Object

  • id
  • name
  • isActive
  • Activation
  • isAble
  • isParkour
  • Light

Puzzle (지정한 오브젝트가 활성화 됐을 때 작동하는 것)

  • id
  • name
  • Completed
  • GetActive

 

개인적으로 생각하는 개선점

정적 로비 (Static Lobby) 기반 UI 시스템 도입으로 시각적 편의성 개선

 

대기실(로비) UI 시스템

  • 버튼 UI 로만 상호작용 (Ready, Start 등)
  • 로비 커스터마이징 시스템
  • 다른 플레이어의 커스터마이징 실시간 확인가능

 

느낀 점

게임 데이터를 클래스처럼 표현을 할 때 많이 막막했다. 구성요소가 어떤 것이 있었는지 계속 생각해야됐고,
작성하면서도 더 나은게 있을까 하며 찾아보느라 시간이 많이 걸렸다.
동영상 강의를 시간을 들여 다 봐야겠다는 생각이 들었고 이해하면서 복습하는 시간도 필요하다고 느꼈다.

 

AVaOut을 플레이하며

스테이지 곳곳에 있는 여러 아이템으로 연료를 넣거나 패시브 업그레이드를 할 수 있다.

초반에 패시브 업그레이드를 하지 못한 상태로 적을 잘못 마주치면 플레이어가 사망하게 되기에 초반 패시브 파밍이 중요해보인다. 패시브 업그레이드 이후에는 수월하게 스테이지 클리어가 가능하다.

4인 협동 퍼즐인 만큼 2명씩 짝지어 다니는 것이 효율이 좋아보였다.

퀄리티가 정말 괜찮은 게임이라고 생각이 들며 플레이를 하였다.