RimSJ blog

신규 보스 위클라인

안녕하세요, Eternal Survival 개발 노트입니다. 드디어 세 번째 보스인 위클라인을 성공적으로 구현했습니다. 루미아섬에서 가장 강력한 몬스터인 위클라인 박사를 어떻게 제 게임에 구현했는지 보여드리려고 합니다. 위클라인은 이전의 알파나 오메가와는 다르게, 완전히 다른 결의 보스 몬스터이기에 여러가지 새로운 도전과제를 안겨주었습니다. 특히 ...

신규 보스 오메가

안녕하세요, Eternal Survival 개발 노트입니다. 드디어 오메가 보스를 성공적으로 추가했습니다! 이전 포스팅에서 예고했던 대로, 리팩토링한 보스 특수공격 시스템을 활용해 다중 특수공격을 가진 보스를 구현할 수 있었습니다. 새로운 보스 패턴을 구현하기 위한 에셋을 찾기 위해 에셋 스토어를 뒤지느라 좀 오래 걸렸습니다. 최적화적인 측면에서 P...

보스 특수공격 시스템 리팩토링으로 확장성 확보하기

저번에 이어서 현재 보스 시스템에 또다른 문제점을 발견해서 수정하게 되었습니다. 바로 보스들의 기반이 되는 BossBase 클래스의 설계가 보스가 여러개의 특수 공격을 가질 수 없도록 되어 있었기 때문입니다. 물론 BossBase를 상속받은 뒤 BossBase의 함수들을 대부분 오버라이드해서 특수 공격을 구현할 수는 있었지만, 이러면 보스가 많아질수록...

AirSupply 보상 시스템과 RadialFill 효과 대대적 리팩토링

안녕하세요, Eternal Survival 개발 노트입니다. 오늘은 게임에 새로운 보상 시스템인 AirSupply(항공보급상자)를 추가하고, 기존 RadialFill 효과들을 완전히 리팩토링한 내용을 정리해보겠습니다. 특히 이번 리팩토링에서는 Unity의 표준 패턴을 따라 코드 품질을 크게 개선할 수 있었습니다. AirSupply 시스템 추가 기...

Unity 보스 시스템 디버깅과 개선 - Can Transition To Self 문제 해결

안녕하세요, Eternal Survival 개발 노트입니다. 지난 포스팅에서 보스 시스템의 기본 아키텍처를 구축했다면, 오늘은 실제 운영 중 발견된 문제들과 그 해결 과정에 대해 이야기하고자 합니다. 특히 Unity Animator Controller의 설정 부분에서 다소 어이없는 문제를 해결하느라 시간을 많이 소비해서 여러분들은 저와 같은 실수를 ...

Unity 보스 시스템 구현기 - Alpha 보스와 셰이더 이펙트

안녕하세요, Eternal Survival 개발 노트입니다. 오늘은 프로젝트에 보스 시스템을 추가하면서 겪었던 설계 과정과 구현상의 도전 과제들, 그리고 셰이더를 활용한 시각적 효과 구현에 대해 이야기하고자 합니다. 보스 시스템 아키텍처 설계 기존의 Enemy 클래스를 기반으로 하면서도 보스만의 특별한 기능을 추가할 수 있는 확장 가능한 구조가 ...

유키 캐릭터 및 진화 무기 '화무십일홍' 추가

안녕하세요. 이터널 리턴의 인기 캐릭터 유키와 유키의 진화무기 ‘화무십일홍’을 게임에 구현했습니다! 유키 캐릭터 추가 유키는 이터널 리턴에서 양손검 및 쌍검 무기를 사용하는 근접 전투 전문 캐릭터로 활약하고 있습니다. 특히, 유키의 궁극기 ‘화무십일홍’은 이터널 리턴에서는 적중시키기 정말 까다로운 스킬이지만 화려한 벚꽃문양 이펙트와 함께 적을 베어...

혜진 캐릭터 전용 무기 및 무기 진화 시스템 추가

안녕하세요. 이번에는 게임에 정말 큰 변화를 가져온 업데이트를 소개하려고 합니다. 혜진 캐릭터의 전용 무기와 함께 완전히 새로운 무기 진화 시스템을 구현했습니다! 혜진 캐릭터 전용 무기 이터널 리턴의 혜진 캐릭터를 모티브로 한 전용 무기를 추가했습니다. 혜진의 특성에 맞게 원거리 투사체 무기로 구현했습니다. 기본 무기: ‘혜진의 무기’ ...

게임 시스템 최적화 및 코드 품질 개선

안녕하세요. 최근 Claude Code나 Gemini Cli와 같은 툴을 활용하면 단순히 인공지능에게 코드를 복사+붙여넣기로 전달해서 수정된 코드를 다시 복사+붙여넣기로 옮겨넣지 않아도 인공지능이 프로젝트 코드 전체를 분석하고 수정할 수 있다는 사실을 알게 되었습니다. 이번 포스팅에서는 이런 Claude Code를 활용해 프로젝트 코드에서 문제점들과 ...

신규 무기 '별조각' 추가 및 무기 이펙트 개선

안녕하세요. 이번에는 게임 콘텐츠 업데이트 소식을 전해드리려고 합니다. 새로운 무기 ‘별조각’을 추가하고, 기존 무기들의 시각적 효과를 개선했습니다. 신규 무기: ‘별조각 (Star Fragment)’ 추가 이터널 리턴의 장신구 아이템 ‘별조각’을 기억하시나요? 솔로모드 시절 아주 잠깐 등장했다가 밸런싱 문제로 곧바로 사라진 아이템입니다. 플레이어...

코드 추가 개선 및 콘텐츠 업데이트

안녕하세요. 지난번 아이템 시스템 리팩토링에 작은 추가 개선 사항이 있어서 잠깐 이야기 하고, 그동안 진행돼 왔던 게임 콘텐츠 관련 개발 사항을 정리하고자 합니다. 코드 개선 사항 우선 시스템 개선 사항입니다. 원래 아이템의 데이터를 관리하는 ScriptableObject인 ‘ItemData’는 아이템이 무기인지, 장비인지 구분하지 않고 단순히 모...

Unity 아이템 시스템 리팩토링

안녕하세요. 오늘은 지난번 무기 시스템 개선에 이어서 진행한 아이템 시스템 전체에 반영된 개선 사항이 있어서 공유하고자 합니다. ‘Weapon.cs’만 문제가 아니었잖아? 골드메탈님의 ‘Undead Survivor’ 에셋에서는 아이템의 종류가 많지 않았기 때문에, Item.cs 스크립트 내에서 switch 문을 사용하여 아이템 타입(ItemType...

Unity 무기 시스템 리팩토링

퀘이크 무기 추가, 그리고 마주한 고민 최근 Eternal Survival 게임에 플레이어의 이동 거리에 따라 주변에 광역 피해를 주는 ‘퀘이크(Quake)’라는 새로운 무기를 추가하는 작업을 진행했습니다. 이를 진행하면서 코드 구조의 개선이 이루어진 부분이 있어 공유하고자 합니다. 기존에는 Weapon.cs라는 스크립트가 근접(Melee) 및 원...

스탯 시스템 리팩토링

안녕하세요, 지난번에 이은 Eternal Survival 개발 노트입니다. 오늘은 프로젝트의 심장부와도 같은 ‘스탯(Stat) 시스템’에 적용한 중요한 아키텍처 개선에 대해 이야기하고자 합니다. 기존 방식의 문제점: “직접 접근의 함정” 프로젝트 원형이 되었던 ‘Undead Survivor’에셋에서, 플레이어의 이동 속도나 무기의 공격력 같은 스...

Eternal Survival 개발현황 공유

안녕하세요. 지난번에 이어서 Eternal Survival의 개발 현황을 공유하고자 포스팅합니다. 이미 개발이 어느정도 진행 된 상황이라 모든 개발 현황을 요약해서 공유하는건 어려울 것 같습니다. 특히, 새로운 캐릭터의 추가, 맵 디자인 등과 같은 디자인 측면의 변화들은 github 저장소에서 쉽게 확인할 수 있으니 생략하고자 합니다. 대신 오늘은 프...

Eternal Survival - 이터널 리턴 IP를 활용한 뱀서라이크 게임 개발기

프로젝트 개요 오랜만에 새로운 게임 프로젝트를 시작하게 되어 기획안을 블로그에 공유하고자 합니다. 프로젝트 명은 “Eternal Survival”로, 제가 정말 좋아하는 게임인 “이터널 리턴”의 IP를 활용하여 “뱀파이어 서바이버”와 같은 탑다운 생존 액션 장르의 게임을 만들어보는 프로젝트입니다. 프로젝트 깃허브 저장소 주소 이터널 리턴의 매력적...

SKKU 뭐먹지

개요 ‘SKKU 뭐먹지’란 매일 식사 메뉴를 고민하는 성균관대학교 자연과학캠퍼스 학생들을 위한 식당 추천 서비스입니다.이런 고민은 학생들이 학교 근처의 모든 음식점들에 대한 정보를 알기 힘들다는 점에서 비롯됩니다. 그러므로 학교 근처의 다양한 음식점 정보를 제공하는 웹 서비스를 제공하고자 합니다. 웹사이트 구조 ‘SKKU 뭐먹지’는 정적 웹 ...

해양 침적 쓰레기 이미지를 활용한 인공지능 프로젝트

개요 본 프로젝트에는 AI-Hub의 해양 침적 쓰레기 이미지 데이터셋이 사용되었다. 해당 데이터셋은 해양 침적 쓰레기의 수거를 위해 실시, 설계 조사를 보다 빠르고 효율적으로 수행하고자 조사 과정에서 생성되는 소나 조사 이미지와 수중 촬영 이미지를 통해 침적 쓰레기를 자동 인식하고 분류할 수 있도록 인공지능을 훈련하기 위한 데이터셋이다. 우리는 ...