생존 게임 (2021. 10 ~ 2022. 05)
Unity3D C#
새 게임, 불러오기, 옵션, 크레딧 지원
- Timeline을 활용한 크레딧
- SceneManager.LoadSceneAsync()를 활용하여 첫 로딩 시 스토리 보여줌
- Animation으로 알파값을 조정하여 Fade In 장면 전환
카메라에서 Raycast를 쏘아 상호작용 물체 식별
- UnityEvent를 통해 물체에 따라 다른 이벤트가 발생
사각형 칸을 베이스로 한 인벤토리와 가방
- List를 foreach문으로 돌면서 하나씩 아이템 RectTransform을 Instantiate()
- 인덱스에 따라 좌표 설정, 마우스 리스너 추가, 이미지, 수량, 툴팁 세팅
- IDragHandler를 이용하여 Drag & Drop을 지원, 인벤토리와 가방 간의 아이템 이동 가능
- 아이템 정렬 버튼
아이템 장착, 교체 가능, 아이템별로 다른 효과를 지님
체력 회복, 음식, 마실 것 등
- Coroutine 으로 시간에 따라 체력, 배고픔, 목마름 등 변동
- 아이템을 사용하여 체력, 배고픔, 목마름 회복
- 아이템별로 다른 효과를 지님 (버프 아이템 포함)
- 취소 가능한 3초 딜레이
각각의 독립적인 보관함, 아이템 랜덤 스폰
Idle, 추격, 공격, 회귀 상태를 상황에 따라 반복
- Coroutine 객체에 현재 상태를 지정해주어 상태 간 충돌 방지
- 각기 다른 공격 패턴의 3가지 적
- 특정 체력 이하로 내려갈 시 슈퍼아머 공격
- 처치 시 약탈 가능
NPC와 대화, 거래, 퀘스트
- NPC와 대화한 날짜나 전체 날짜를 기준으로 달라지는 대사
- 날마다 바뀌는 상인의 아이템들
- 특정 NPC의 이벤트
Coroutine을 활용한 5가지 디버프와 2가지 버프
- 출혈 : 칼이나 총에 맞았을 경우 20% 확률로 발생, 초당 1의 체력 감소
- 감염 : 바이러스에 접촉 시 일정 확률에 따라 발생, 잠복기 있으며 점점 상태 악화, 8분 이후 사망
- 정신분열 : 스트레스 지수 80 이상일 시 발생, 시야가 흐려지며 이동속도 감소
- 중독 : 약을 자주 복용하거나 담배를 자주 피울 시 발생, CinemachineFreeLook 컴포넌트의 m_XAxis, m_YAxis를 변동하여 카메라가 떨림
- 오염 : 바이러스 비를 5초 이상 맞을 시 발생, 이후 음식 섭취 시 50% 확률로 감염
- 각성 : 커피 섭취 시 발생, 이동속도와 공격 시 스태미너 감소율 감소
- 진통 : 진통제 섭취 시 발생, 20의 보호막 생성
게임 내에서 정해진 시간에 따라 해가 움직임 (20배속)
- Coroutine으로 흘러가는 시간
- 흘러가는 시간에 맞춰 Quaternion.Euler() 를 활용해 해가 끊임없이 움직임
- 일출, 일몰 구현을 위해 RenderSettings.skybox의 AtmosphereThickness와 SkyTint 값 조절
하루마다 찾아오는 두가지 Wave
- 바이러스 확산 범위가 급증하는 Wind Wave, 바이러스 비가 내리는 Rain Wave
- 아침마다 랜덤 시간과 랜덤 길이를 정하고, 해당 시각에 Wave 시작
- OnParticleCollision 으로 비, 바이러스와 충돌시 이벤트 발생
- Color.Lerp()를 이용하여 RenderSettings.skybox의 AtmosphereThickness와 SkyTint 값을 조절하여 하늘 색 변경
특정 조건 달성 시 엔딩
- Timeline을 활용한 엔딩 씬과 크레딧
Steam store page : https://store.steampowered.com/app/1927040/Survirus/