웹사이트 개발 Ep.4 – 티스토리 블로그 구축 및 콘텐츠 전략
1. 블로그 개설 및 도메인 연동서브도메인 설정: blog.baekilheon.com 서브도메인을 가비아 DNS 관리 화면에서 CNAME 레코드로 티스토리에 연결.보안 인증: Let’s Encrypt를 통해 HTTPS 적용. 본문, 이미지, 위젯 로딩 시 Mixed Content 오류 없이 안정적 접속 보장.2. 스킨 커스터마이징 – 메인 페이지와의 시각적 연계배경 & 타이포그래피: 메인 페이지와 동일한 아이보리톤 배경, 여백 확보. 제목은 고전 서체 웹폰트(한글 ‘금속활자체’), 본문은 부드러운 고딕체로 가독성 유지.UI 요소: 본문 내 ‘인용구 박스’, ‘체험신청 버튼’에만 은은한 그림자·테두리 추가. 카드형 레이아웃은 메인 페이지 ‘주요 공간 탐색 섹션’ 카드 디자인과 통일감을 준다.3. 카테고리 ..
2025.05.01
웹사이트 개발 Ep.3 - 메인 페이지 설계와 첫 번째 시안 제작
도메인과 서버 환경이 구축된 후, 본격적으로 백일헌 고택 웹사이트의 얼굴이 될 '메인 페이지' 설계에 들어갔다.메인 페이지는 방문자가 사이트에 처음 들어왔을 때 가장 먼저 접하게 되는 공간이기 때문에, 고택의 이미지를 제대로 전달할 수 있도록 가장 많은 고민과 시간을 들여야 했다.컨셉 확정: "차분함과 여백"메인 페이지에서 가장 강조하고 싶었던 것은 ‘차분한 고택의 분위기’였다.너무 화려한 디자인이나 과도한 움직임은 전통 고택이 지닌 고유의 고요함과 어울리지 않는다고 생각했다.컨셉 키워드는 명확했다.차분함여백절제된 움직임자연스러운 흐름이를 바탕으로 메인 페이지의 첫 번째 큰 흐름을 잡았다.메인 페이지 기본 레이아웃레이아웃은 사용자의 시선을 자연스럽게 이끌 수 있도록 단순하게 구성했다.풀스크린 메인 비주얼..
2025.04.30
웹사이트 개발 Ep.2 - 도메인 연결과 기본 구조 잡기
백일헌 고택 웹사이트 프로젝트의 두 번째 단계는 본격적인 사이트 기반을 마련하는 작업이었다.고택을 소개하는 사이트인 만큼, 단순한 블로그 느낌이 아니라 독립된 웹사이트로서 신뢰감을 주어야 했다. 이를 위해 가장 먼저 도메인을 확보하고, 기본적인 서버 환경을 구성하는 일부터 시작했다.도메인 구매: 이름에 담은 의미도메인은 사이트의 얼굴이다. 특히 전통 건축을 소개하는 사이트인 만큼, 지나치게 현대적인 느낌이나 가벼운 이미지는 피하고 싶었다.도메인 이름을 고르는 데만 하루 넘게 고민했다. 한눈에 기억하기 쉽고, 고택의 정체성을 간결하게 표현할 수 있어야 했다.최종적으로, ‘고택’과 ‘백일헌’이라는 키워드를 살짝 변형해 단순하고 직관적인 도메인을 확보했다.구매는 신뢰할 수 있는 국내 도메인 등록업체를 통해 진..
2025.04.30
웹사이트 개발 Ep.1 - 백일헌 고택 웹사이트, 첫걸음을 떼다
전통 건축을 소개하는 웹사이트를 만든다는 것은 단순한 정보 나열 이상의 의미가 있다. 이번 프로젝트의 목표는, 오래된 고택의 역사와 아름다움을 온라인 공간에서 살아 숨 쉬게 하는 것이었다.초기에는 많은 고민이 있었다. 기존에 운영되고 있는 전통문화 관련 사이트들을 여러 곳 참고하면서 방향을 잡기 시작했다. 디자인, 콘텐츠 구성, 사용자 흐름 등 다양한 부분을 세심하게 분석했다. 하지만 단순히 비슷하게 따라 만드는 것이 아니라, '백일헌 고택만의 이야기'를 담아야 한다는 것을 잊지 않으려고 했다.직접 운영하는 독립 도메인 선택처음에는 블로그 플랫폼을 활용할지, 아니면 별도 사이트를 구축할지 고민했다.결국 '직접 도메인을 구매하고 사이트를 운영하자'는 결론을 내렸다.이유는 간단했다.1. 자유로운 콘텐츠 구성..
2025.04.30
Dev Log #10 – 프로젝트 마무리 및 앞으로의 방향
『Wizsurvive』는 단순히 게임 하나를 만드는 프로젝트가 아니었다.처음 언리얼 엔진을 선택하고, 장르를 결정하고, 시스템 하나하나를 쌓아가며나는 게임 개발자로서의 시야와 기술을 함께 성장시켜 나갔다.이번 Dev Log에서는 『Wizsurvive』 프로젝트를 마무리하며 느낀 점과, 앞으로 이 프로젝트를 어떻게 발전시킬 계획인지 정리해보려 한다.프로젝트 마무리 단계『Wizsurvive』는 기본적인 게임 루프가 완성된 상태다.캐릭터 성장 시스템 구축다양한 무기/토템/스킬 시스템 적용5분마다 변화하는 몬스터 웨이브와 맵 전환부활 시스템과 광고 리워드 시스템 연동모바일 환경을 고려한 최적화 완료여기까지 오기까지 수많은 시행착오와 수정 작업이 필요했다.특히, 단순히 '게임이 돌아간다'는 수준을 넘어,플레이어가..
2025.04.29
Dev Log #9 – 최적화와 퍼포먼스 개선 작업
『Wizsurvive』 프로젝트가 점점 완성도를 높여가면서, 이제 단순한 시스템 구축을 넘어게임 퍼포먼스를 최적화하는 단계에 접어들었다.이번 Dev Log에서는 실제 개발 과정 중 발생했던 성능 문제들과, 이를 해결하기 위해 어떤 최적화 작업을 진행했는지를 기록하려 한다.최적화의 필요성 인식개발 초기에는 기능 구현에 집중하다 보니, 퍼포먼스 문제를 크게 의식하지 않았다.하지만 플레이 시간이 길어지고 몬스터 수가 많아지면서 점점 문제가 드러나기 시작했다.대표적인 증상은 다음과 같았다.프레임 드랍(FPS 하락)오브젝트 생성 지연배경 리소스 로딩 시 순간 멈춤긴 플레이 후 렉 발생특히 모바일 환경을 염두에 두고 있었기 때문에, 최적화는 선택이 아니라 필수였다.퍼포먼스 최적화 작업1. 오브젝트 풀링 시스템 강화..
2025.04.29
Dev Log #8 – 맵 변경 시스템과 5분 루프 최적화
『Wizsurvive』는 시간이 흐를수록 점점 강력해지는 적과 맞서 끊임없이 싸우는 게임이다.그렇기 때문에 플레이어가 게임 내내 같은 배경, 같은 환경에서 싸운다면 금방 지루함을 느끼게 된다.이번 Dev Log에서는 맵 변경 시스템과 5분 루프 최적화 작업에 대해 기록해보려 한다.맵 변경 시스템 설계『Wizsurvive』에서는 5분마다 몬스터 종류와 함께 맵(배경)도 바뀌도록 설계했다.이를 통해 플레이어가 끊임없이 새로운 분위기 속에서 전투를 이어가면서 몰입감을 유지할 수 있도록 하는 것이 목표였다.초기 맵은 세 가지 테마로 구성했다.초원 지역: 밝고 따뜻한 분위기, 초반 웨이브사막 지역: 황량하고 건조한 분위기, 중반 웨이브늪지대: 어둡고 습한 분위기, 고난도 웨이브5분이 지나면 몬스터 구성과 함께 맵..
2025.04.29
Dev Log #7 – 부활 시스템과 광고 리워드 설계
『Wizsurvive』는 기본적으로 끝없이 적을 상대하며 최대한 오래 생존하는 것을 목표로 한다.하지만 플레이 도중 한 번의 실수로 게임이 끝난다면 플레이어는 쉽게 좌절할 수 있다.그래서 이번 Dev Log에서는 부활 시스템과 이를 활용한 광고 리워드 설계에 대해 다루어 보려 한다.부활 시스템 설계초기에는 단순히 체력이 0이 되면 게임이 끝나는 구조였다.하지만 테스트를 진행하면서, 플레이어가 아쉽게 죽었을 때 "한 번만 다시 기회를 얻고 싶다"고 느끼는 순간이 많다는 걸 확인했다.그래서 부활 시스템을 추가하기로 했다.부활 방식은 크게 두 가지로 나누었다.부활 코인을 사용한 부활:플레이어가 인게임 내에서 획득한 '부활 코인'을 소모해 즉시 부활할 수 있다.광고 시청을 통한 부활:부활 코인이 없는 경우, 광..
2025.04.29
728x90
반응형

1. 블로그 개설 및 도메인 연동

  • 서브도메인 설정: blog.baekilheon.com 서브도메인을 가비아 DNS 관리 화면에서 CNAME 레코드로 티스토리에 연결.
  • 보안 인증: Let’s Encrypt를 통해 HTTPS 적용. 본문, 이미지, 위젯 로딩 시 Mixed Content 오류 없이 안정적 접속 보장.

2. 스킨 커스터마이징 – 메인 페이지와의 시각적 연계

  • 배경 & 타이포그래피: 메인 페이지와 동일한 아이보리톤 배경, 여백 확보. 제목은 고전 서체 웹폰트(한글 ‘금속활자체’), 본문은 부드러운 고딕체로 가독성 유지.
  • UI 요소: 본문 내 ‘인용구 박스’, ‘체험신청 버튼’에만 은은한 그림자·테두리 추가. 카드형 레이아웃은 메인 페이지 ‘주요 공간 탐색 섹션’ 카드 디자인과 통일감을 준다.

3. 카테고리 구성 및 콘텐츠 맵

  1. 고택 이야기
    • 역사 개요: 1728년 이삼 장군 하사금으로 건립, 국가민속문화유산 제273호 지정 .
    • 건축 구조: 안채·사랑채·별당·광채가 ‘ㅁ’자형 배치된 변격 한옥, 동향 대문채·문간채 해설.
    • 유물 전시: 가문 고문서·서책, 19세기 민속 소품 사진 갤러리.
  2. 체험 프로그램
    • 한옥스테이: 객실별 사진·요금·예약 링크(예약 폼 위젯 삽입).
    • 전통 다례·공예: 다례 체험 일정, 목판화·매듭공예 워크숍 안내.
    • 공연·강연: 국악 연주회·한옥 건축 강연 일정.
  3. 사색의 길 산책 코스
    • 코스 설명: 뒤뜰→매봉재→충헌사→옛 우물터→선비계단 순환 약 2km(소요 40분).
    • 포인트 가이드: 소나무 숲 팔각정·노성산 전망대 사진·동선 지도 삽입.
  4. 방문 후기 & 갤러리
    • 방문객 체험담: 사진, 별점, 코멘트 템플릿.
    • 포토 갤러리: 고택 풍경·계절별 모습 슬라이드쇼.

4. 예약 시스템 & 알림 연동

  • 위젯 삽입: Ep.2에서 개발한 CSS/HTML/JS 기반 예약 폼을 블로그 사이드바에 배치.
  • Firebase Functions: 폼 제출 시 관리자 SMS·이메일 자동 알림.
  • 달력 캘린더: 이미 예약된 날짜 비활성화 처리, 가독성 높은 달력 UI 적용.

5. 다국어 지원 & SEO 최적화

  • 콘텐츠 언어 분리: 한국어·영어·중국어·일본어 버전 포스트 작성, <link rel="alternate" hreflang="…"> 태그 적용.
  • 메타·OG 태그: 언어별 메타 설명, SNS 공유 시 적절한 언어·이미지 노출.
  • 키워드 & 내부 링크: “백일헌 종택”, “한옥스테이”, “사색의 길” 등 주요 키워드 밀도 조절, 메인 페이지·상세 페이지 상호 링크 강화.

6. 콘텐츠 발행 스케줄 & 운영 프로세스

  • 발행 주기: 매주 화·금, 주 2회 정기 포스팅.
  • 검수 절차: 사전 맞춤법·링크·이미지 품질 확인 후 발행, 발행 직후 네이버·구글 서치콘솔 자동 색인 스크립트 실행.
  • SNS 연동: 카카오톡 채널·인스타그램 카드 링크 공유 버튼 배치.
728x90
반응형
728x90
반응형

도메인과 서버 환경이 구축된 후, 본격적으로 백일헌 고택 웹사이트의 얼굴이 될 '메인 페이지' 설계에 들어갔다.
메인 페이지는 방문자가 사이트에 처음 들어왔을 때 가장 먼저 접하게 되는 공간이기 때문에, 고택의 이미지를 제대로 전달할 수 있도록 가장 많은 고민과 시간을 들여야 했다.


컨셉 확정: "차분함과 여백"

메인 페이지에서 가장 강조하고 싶었던 것은 ‘차분한 고택의 분위기’였다.
너무 화려한 디자인이나 과도한 움직임은 전통 고택이 지닌 고유의 고요함과 어울리지 않는다고 생각했다.

컨셉 키워드는 명확했다.

  • 차분함
  • 여백
  • 절제된 움직임
  • 자연스러운 흐름

이를 바탕으로 메인 페이지의 첫 번째 큰 흐름을 잡았다.


메인 페이지 기본 레이아웃

레이아웃은 사용자의 시선을 자연스럽게 이끌 수 있도록 단순하게 구성했다.

  1. 풀스크린 메인 비주얼
    사이트에 접속하면 가장 먼저 고택의 전경을 담은 고해상도 이미지가 화면을 가득 채운다.
    텍스트는 최소한으로 얹고, 로고와 심플한 메뉴바만 상단에 배치했다.
  2. 고택 소개 섹션
    메인 비주얼을 아래로 스크롤하면 자연스럽게 고택의 소개 문구와 간결한 설명이 이어진다.
    긴 글 대신 2~3줄 정도의 짧은 카피라이팅을 사용해 가독성을 높였다.
  3. 주요 공간 탐색 섹션
    사랑채, 안채, 별당, 정원 등 고택의 주요 공간을 작은 카드 형태로 배치했다.
    각 카드 클릭 시 상세 페이지로 넘어갈 수 있도록 설계했다.
  4. 공지 및 방문 안내
    사이트 하단에는 실제 방문객을 위한 정보(오시는 길, 운영 시간, 연락처 등)를 깔끔하게 정리했다.

디자인 시안 제작

첫 번째 시안은 Adobe XD를 이용해 제작했다.
너무 많은 기능보다는, 사이트의 분위기와 흐름을 먼저 잡는 데 집중했다.

  • 배경 색은 밝은 아이보리 톤으로 설정
  • 폰트는 고전미를 살린 부드러운 고딕체 사용
  • 이미지 위에 얹히는 텍스트는 최소화하고, 명암 대비로 가독성 확보
  • 섹션 전환은 부드러운 페이드 인/아웃 효과로 설정

또한 모바일 대응을 고려하여, 각 섹션이 수직으로 자연스럽게 쌓이는 형태로 반응형 레이아웃을 잡았다.
PC와 모바일 모두 동일한 분위기를 유지하는 것을 가장 중요하게 고려했다.


시안 검토 및 수정 포인트

시안을 처음 완성했을 때, 예상보다 페이지가 다소 심심해 보였다.
하지만 ‘고택 사이트’라는 본질을 다시 생각해보니, 일부러 과하게 채울 필요가 없다는 결론에 도달했다.

다만, 너무 심플한 느낌을 보완하기 위해

  • 카드형 섹션에 작은 인터랙션(마우스 오버 시 살짝 확대되는 효과)
  • 스크롤할 때마다 부드럽게 등장하는 텍스트 애니메이션

을 추가하기로 했다.
이러한 디테일은 사용자에게 작은 몰입감을 주면서도 전체 톤앤매너를 해치지 않는 선에서 조정할 계획이다.

728x90
반응형
728x90
반응형

백일헌 고택 웹사이트 프로젝트의 두 번째 단계는 본격적인 사이트 기반을 마련하는 작업이었다.
고택을 소개하는 사이트인 만큼, 단순한 블로그 느낌이 아니라 독립된 웹사이트로서 신뢰감을 주어야 했다. 이를 위해 가장 먼저 도메인을 확보하고, 기본적인 서버 환경을 구성하는 일부터 시작했다.


도메인 구매: 이름에 담은 의미

도메인은 사이트의 얼굴이다. 특히 전통 건축을 소개하는 사이트인 만큼, 지나치게 현대적인 느낌이나 가벼운 이미지는 피하고 싶었다.
도메인 이름을 고르는 데만 하루 넘게 고민했다. 한눈에 기억하기 쉽고, 고택의 정체성을 간결하게 표현할 수 있어야 했다.

최종적으로, ‘고택’과 ‘백일헌’이라는 키워드를 살짝 변형해 단순하고 직관적인 도메인을 확보했다.
구매는 신뢰할 수 있는 국내 도메인 등록업체를 통해 진행했고, 관리의 편의를 위해 SSL 인증서도 함께 세팅했다.
방문자가 접속할 때 '보안 연결'이 적용되는 HTTPS는 필수였다. 사이트 신뢰도에 직접적으로 영향을 미치기 때문이다.


서버 선택: 단순하지만 탄탄하게

도메인을 구매한 후, 이제 사이트를 올릴 서버가 필요했다. 처음에는 클라우드 서비스나 VPS를 고려했지만,
운영 복잡도와 초기 규모를 생각해 합리적인 가격대의 웹호스팅 서비스를 선택했다.

웹호스팅은 설정이 간단하고, 안정적으로 운영할 수 있어 작은 규모의 전통문화 사이트를 시작하는 데 적합했다.
특히 웹호스팅 패널에서 바로 SSL 연동, FTP 접속, DB 설정 등을 지원해주기 때문에 빠르게 개발 환경을 준비할 수 있었다.


기본 폴더 및 파일 구조 설정

서버에 접속한 후, 사이트의 기본 틀을 만들기 시작했다.
폴더와 파일을 체계적으로 정리해두는 것은 나중에 작업할 때 시간을 아끼는 데 매우 중요하다.

구성은 다음과 같이 잡았다.

  • / : 메인 루트 폴더
    • /assets/ : 이미지, 폰트, 아이콘 등 리소스 파일
    • /css/ : 스타일 파일
    • /js/ : 자바스크립트 파일
    • /pages/ : 서브페이지별 HTML 파일
    • /index.html : 메인 페이지

간결하지만 확장성까지 고려한 구조였다. 앞으로 콘텐츠가 늘어나더라도 폴더를 추가하거나 수정하기 쉽게 설계했다.


도메인 연결 완료

모든 준비를 마친 뒤, 도메인과 서버를 연결했다.
네임서버를 설정하고, 도메인 설정에서 웹호스팅 IP를 연결해준 후 대략 10분 정도 기다리니 접속이 가능해졌다.

브라우저 주소창에 직접 구매한 도메인을 입력했을 때, 아무런 문제 없이 초기 화면이 뜨는 걸 확인했을 때의 그 작은 뿌듯함은 개발자만이 느낄 수 있는 보람이었다.

728x90
반응형
728x90
반응형

전통 건축을 소개하는 웹사이트를 만든다는 것은 단순한 정보 나열 이상의 의미가 있다. 이번 프로젝트의 목표는, 오래된 고택의 역사와 아름다움을 온라인 공간에서 살아 숨 쉬게 하는 것이었다.

초기에는 많은 고민이 있었다. 기존에 운영되고 있는 전통문화 관련 사이트들을 여러 곳 참고하면서 방향을 잡기 시작했다. 디자인, 콘텐츠 구성, 사용자 흐름 등 다양한 부분을 세심하게 분석했다. 하지만 단순히 비슷하게 따라 만드는 것이 아니라, '백일헌 고택만의 이야기'를 담아야 한다는 것을 잊지 않으려고 했다.


직접 운영하는 독립 도메인 선택

처음에는 블로그 플랫폼을 활용할지, 아니면 별도 사이트를 구축할지 고민했다.
결국 '직접 도메인을 구매하고 사이트를 운영하자'는 결론을 내렸다.

이유는 간단했다.
1. 자유로운 콘텐츠 구성, 2. 디자인 제한이 없음, 3. 장기적인 브랜딩 가능성 때문이었다.
티스토리나 워드프레스 무료형 서비스에 비해 당장은 조금 더 번거롭고 비용이 들지만, 사이트를 제대로 키워나가기 위해서는 독립 도메인이 필요하다고 판단했다.

현재까지 진행한 작업 흐름은 다음과 같다.

  1. 도메인 구매 및 연결 준비
  2. 기본 사이트 구조 구상
  3. 메인 페이지와 서브페이지 레이아웃 설계
  4. 필요한 콘텐츠(사진, 설명문) 수집 및 정리

사이트 기획 방향: "하나의 작은 문화 공간"

백일헌 고택 사이트는 단순한 정보 제공 페이지가 아니다.
기획 단계에서 가장 중요하게 생각한 것은 '이곳을 찾는 사람들이 작은 문화 공간을 거닐듯이 경험할 수 있게 하자'는 점이었다.

따라서 콘텐츠 구조도 그에 맞춰 설계했다.

  • 고택 소개: 간결하지만 깊이 있는 역사 설명
  • 공간별 탐방: 사랑채, 안채, 정원 등을 섹션별로 나누어 상세 소개
  • 연관 이야기: 고택을 둘러싼 인물과 지역 이야기
  • 방문 안내: 위치, 운영시간 등 기본 정보 제공

각 페이지는 따로 떨어진 느낌이 아니라 하나의 이야기처럼 연결되도록 구상하고 있다.


참고 사이트 분석: 배우되, 베끼지 말 것

작업에 착수하기 전에, 비슷한 느낌의 전통문화, 고택 소개 사이트들을 다수 살펴봤다.
디자인 톤, 메뉴 구성, 모바일 최적화 방식 등은 좋은 참고가 되었지만, 그대로 모방하지 않고 백일헌 고택의 정체성을 살릴 수 있도록 차별화를 염두에 뒀다.

특히 주의했던 점은 '과한 연출'을 피하는 것이었다. 전통 고택의 매력은 화려함이 아니라, 절제와 여백에 있다.
웹사이트도 마찬가지였다. 깔끔하고, 불필요한 꾸밈 없이 본질을 보여주는 방향으로 잡았다.

728x90
반응형
728x90
반응형

『Wizsurvive』는 단순히 게임 하나를 만드는 프로젝트가 아니었다.
처음 언리얼 엔진을 선택하고, 장르를 결정하고, 시스템 하나하나를 쌓아가며
나는 게임 개발자로서의 시야와 기술을 함께 성장시켜 나갔다.
이번 Dev Log에서는 『Wizsurvive』 프로젝트를 마무리하며 느낀 점과, 앞으로 이 프로젝트를 어떻게 발전시킬 계획인지 정리해보려 한다.


프로젝트 마무리 단계

『Wizsurvive』는 기본적인 게임 루프가 완성된 상태다.

  • 캐릭터 성장 시스템 구축
  • 다양한 무기/토템/스킬 시스템 적용
  • 5분마다 변화하는 몬스터 웨이브와 맵 전환
  • 부활 시스템과 광고 리워드 시스템 연동
  • 모바일 환경을 고려한 최적화 완료

여기까지 오기까지 수많은 시행착오와 수정 작업이 필요했다.
특히, 단순히 '게임이 돌아간다'는 수준을 넘어,
플레이어가 몰입하고, 반복 플레이를 유도할 수 있는 구조를 고민하는 과정이 매우 중요했다.

개발 과정 내내 반복했던 것은 "직접 플레이하면서 느껴라"는 원칙이었다.
코드나 시스템만 보면 문제없어 보이던 것들도, 직접 플레이해 보면 불편하고, 지루하고, 때로는 재미없는 구간들이 명확히 드러났다.
이런 과정을 통해 게임을 플레이어 관점에서 다시 보는 훈련을 쌓을 수 있었다.


개발 중 가장 인상 깊었던 부분

『Wizsurvive』를 만들면서 가장 인상 깊었던 부분은
작은 시스템 하나가 전체 경험을 얼마나 크게 좌우하는지를 직접 체감한 것이다.

예를 들면:

  • 가챠 결과에 따라 플레이어가 느끼는 기대감이 극단적으로 달라지고,
  • 스킬 하나 추가로 인해 전체 게임 리듬이 변하고,
  • 맵 전환 이펙트 하나로 게임 분위기 전환이 자연스러워지는 것.

단순한 기능 추가를 넘어서,
어떻게 플레이어의 감정을 움직일 수 있는지를 끊임없이 고민하는 것이 진짜 게임 개발이라는 걸 절실히 느꼈다.


앞으로의 발전 방향

『Wizsurvive』는 현재 버전으로도 충분히 독립된 게임으로 완성되었지만,
여기서 멈출 생각은 없다.
오히려 이제부터가 진짜 시작이라고 생각한다.

앞으로의 발전 방향은 다음과 같다.

1. 신규 콘텐츠 추가

  • 신규 캐릭터 추가 (특수 능력 보유 캐릭터)
  • 새로운 무기와 토템 추가
  • 시즌별 한정 맵 추가
  • 이벤트형 가챠와 특별 던전 모드 추가

플레이어가 계속해서 새로운 목표를 가질 수 있도록 콘텐츠를 지속적으로 확장할 계획이다.

2. 밸런스 재조정

  • 특정 스킬이나 무기 조합이 지나치게 강력하지 않게 지속적인 테스트
  • 초반, 중반, 후반 난이도 커브 재설정
  • 장기 플레이 시 난이도 상승 패턴 조정

밸런스 조정은 게임의 생명력을 좌우하기 때문에, 꾸준히 데이터 기반으로 수정해 나갈 예정이다.

3. 모바일 정식 출시 준비

  • 최종 최적화 및 안정성 검수
  • 다양한 기기(저사양/고사양) 테스트
  • UI 스케일링 최적화
  • 광고 및 인앱 결제 시스템 안정화

최종적으로는 Google Play 스토어 및 iOS 앱스토어에 출시를 목표로 하고 있다.
특히 모바일 특유의 터치 조작감을 강화해 사용자 경험을 최대한 부드럽게 다듬을 계획이다.

728x90
반응형
728x90
반응형

『Wizsurvive』 프로젝트가 점점 완성도를 높여가면서, 이제 단순한 시스템 구축을 넘어
게임 퍼포먼스를 최적화하는 단계에 접어들었다.
이번 Dev Log에서는 실제 개발 과정 중 발생했던 성능 문제들과, 이를 해결하기 위해 어떤 최적화 작업을 진행했는지를 기록하려 한다.


최적화의 필요성 인식

개발 초기에는 기능 구현에 집중하다 보니, 퍼포먼스 문제를 크게 의식하지 않았다.
하지만 플레이 시간이 길어지고 몬스터 수가 많아지면서 점점 문제가 드러나기 시작했다.

대표적인 증상은 다음과 같았다.

  • 프레임 드랍(FPS 하락)
  • 오브젝트 생성 지연
  • 배경 리소스 로딩 시 순간 멈춤
  • 긴 플레이 후 렉 발생

특히 모바일 환경을 염두에 두고 있었기 때문에, 최적화는 선택이 아니라 필수였다.


퍼포먼스 최적화 작업

1. 오브젝트 풀링 시스템 강화

처음에는 몬스터나 발사체를 생성/삭제하는 방식을 사용했는데,
이 방식은 Garbage Collection(메모리 수거) 부하가 심각하게 쌓였다.

그래서 모든 몬스터, 스킬 발사체, 아이템 드랍 오브젝트를 오브젝트 풀링 방식으로 변경했다.

  • 필요할 때 꺼내 쓰고
  • 사용 후에는 비활성화시켜 풀로 되돌리는 구조

이 덕분에 생성/삭제에 소모되는 연산량을 크게 줄일 수 있었고, 프레임 유지율이 크게 향상되었다.


2. 이펙트 및 파티클 최적화

특히 몬스터 사망 이펙트나 스킬 이펙트가 쌓이면서 퍼포먼스가 급격히 떨어졌다.
이를 해결하기 위해:

  • 이펙트의 지속 시간을 짧게 조정
  • 화면에 동시에 보여지는 파티클 개수 제한
  • 필요 없는 경우 이펙트를 강제 소멸 처리

또한 파티클 시스템을 경량화하여,

  • 기본 파티클 텍스처 해상도 감소
  • 단순 연산량을 가진 머티리얼 사용

이런 식으로 무겁지 않은 파티클 연출로 바꿔, 비주얼은 유지하면서 부하를 줄였다.


3. 백그라운드 리소스 로딩

맵 전환이나 새로운 웨이브가 시작될 때 로딩 지연이 발생하는 문제가 있었다.
이 문제는 필요한 리소스를 미리 불러오는 프리로딩(Preloading) 시스템을 구축해서 해결했다.

  • 게임 시작 시, 다음 2~3개의 맵 리소스를 백그라운드에서 로딩
  • 스폰 예정 몬스터의 스켈레톤, 이펙트도 미리 로딩
  • 플레이 도중에는 실제 교체 시점에 단순히 활성화만 처리

덕분에 5분 루프를 도는 동안 별다른 끊김 없이 부드럽게 맵과 몬스터가 전환되도록 만들 수 있었다.


4. 불필요한 Tick 제거

언리얼 엔진에서는 Actor가 Tick(매 프레임마다 실행되는 업데이트)을 사용하는 경우가 많다.
하지만 필요 없는 Tick은 게임 퍼포먼스를 심각하게 깎아먹는다.

그래서:

  • 이동, 공격 등 필요한 순간에만 Tick을 활성화
  • 기본적으로는 모든 Actor의 Tick을 비활성화
  • Event 기반으로 움직임이나 동작을 제어

하는 방식을 적용했다.
이 최적화만으로도 전체 CPU 부하가 눈에 띄게 감소했다.


최적화 작업 중 겪은 문제와 해결

최적화를 하면서 예상치 못한 문제들도 생겼다.

  • 풀링된 오브젝트가 상태를 초기화하지 않고 재사용되어, 이상 동작하는 경우
  • 이펙트를 너무 과하게 줄여 비주얼 임팩트가 떨어진 문제
  • 프리로딩 로직 중 일부가 메인 스레드(Block)로 끼어들어 오히려 지연이 발생한 경우

이 문제들은

  • 오브젝트 풀 리턴 시 초기화 함수 추가
  • 고정 이펙트 유지와 가벼운 이펙트 분리 적용
  • 프리로딩은 무조건 별도 스레드에서 처리

같은 방법으로 수정하고 안정화시켰다.


최적화 결과

최적화 이후 다음과 같은 개선 결과를 얻을 수 있었다.

  • 초기 FPS 35~40최적화 후 FPS 58~60 (모바일 기준)
  • 플레이 시간 20분 이상 경과 후에도 끊김 없이 진행 가능
  • 로딩 시간 약 30% 감소
  • 메모리 점유율 20% 감소

덕분에 『Wizsurvive』는 장시간 플레이해도 쾌적하게 진행할 수 있는 게임이 되었다.
특히 모바일 환경에서도 안정적인 퍼포먼스를 유지할 수 있게 되어,
'언제 어디서나 가볍게 즐길 수 있는' 게임 목표에 한 걸음 더 다가설 수 있었다.

728x90
반응형
728x90
반응형

『Wizsurvive』는 시간이 흐를수록 점점 강력해지는 적과 맞서 끊임없이 싸우는 게임이다.
그렇기 때문에 플레이어가 게임 내내 같은 배경, 같은 환경에서 싸운다면 금방 지루함을 느끼게 된다.
이번 Dev Log에서는 맵 변경 시스템5분 루프 최적화 작업에 대해 기록해보려 한다.


맵 변경 시스템 설계

『Wizsurvive』에서는 5분마다 몬스터 종류와 함께 맵(배경)도 바뀌도록 설계했다.
이를 통해 플레이어가 끊임없이 새로운 분위기 속에서 전투를 이어가면서 몰입감을 유지할 수 있도록 하는 것이 목표였다.

초기 맵은 세 가지 테마로 구성했다.

  • 초원 지역: 밝고 따뜻한 분위기, 초반 웨이브
  • 사막 지역: 황량하고 건조한 분위기, 중반 웨이브
  • 늪지대: 어둡고 습한 분위기, 고난도 웨이브

5분이 지나면 몬스터 구성과 함께 맵 테마가 자연스럽게 전환된다.
예를 들어,
05분 → 초원 → 약한 몬스터
5
10분 → 사막 → 강화 몬스터
10~15분 → 늪지대 → 특수 몬스터

이런 식으로 변하면서 게임이 끝날 때까지 순환하는 구조다.


맵 변경 연출 구현

맵이 바뀔 때 갑작스럽게 배경이 전환되면 어색함을 느낄 수 있다.
그래서 맵 전환을 자연스럽게 느끼게 하기 위해 트랜지션 연출을 추가했다.

  • 5분이 되는 순간, 화면이 붉게 깜빡이며 플래시 효과가 발생
  • 1초간 화면이 어두워지면서 기존 맵이 비활성화
  • 새로운 맵 테마가 활성화되면서 부드럽게 이어지게 처리

플래시 효과는 CSS 스타일에서 가져온 듯한 빨간색 번쩍임 연출을 참고해서, 언리얼 머티리얼로 직접 제작했다.
덕분에 단순한 배경 교체를 넘어 '위기감'과 '새로운 전투가 시작된다'는 심리적 전환을 유도할 수 있었다.


5분 루프 최적화 작업

5분마다 몬스터/보스/맵을 모두 교체하는 구조는 게임 몰입도를 높이지만, 동시에 성능 부하 문제를 일으킬 수 있었다.
특히 장시간 플레이 시,

  • 누적된 오브젝트
  • 메모리 과부하
  • 리소스 충돌

이런 문제들이 서서히 나타났다.

이를 해결하기 위해 다음과 같은 최적화 작업을 진행했다.

  1. 맵 프리로딩(Pre-loading)
    게임 시작 시 모든 맵 리소스를 미리 로딩해두고,
    전환 시 단순히 활성화/비활성화만 처리하게 만들었다.
    덕분에 로딩 지연 없이 즉시 전환이 가능해졌다.
  2. 오브젝트 풀링(Object Pooling)
    몬스터, 이펙트, 드랍 아이템 등은 매번 생성/삭제하지 않고, 풀링 시스템을 사용해 재사용하도록 했다.
    필요할 때 꺼내 쓰고, 끝나면 다시 비활성화하는 방식으로 CPU 부하를 크게 줄였다.
  3. 불필요한 이펙트 정리
    맵이 변경될 때, 남아 있는 파티클 이펙트나 사운드를 깔끔하게 정리하도록 스크립트를 추가했다.
    이를 통해 메모리 누수 없이 장시간 플레이가 가능해졌다.

개발 중 겪은 문제와 해결 방법

5분 루프 시스템을 적용하면서 예상하지 못한 버그들도 발생했다.

  • 맵 전환 시, 이전 몬스터가 아직 화면에 남아있는 현상
  • 맵 변경 타이밍이 미묘하게 어긋나는 문제
  • 오디오가 겹쳐서 두 가지 배경음악이 동시에 재생되는 버그

이 문제들은 주로 이벤트 순서 문제로 인해 발생했다.
타이머가 5분을 알리는 동시에 여러 시스템(몬스터, 맵, 음악 등)이 동시에 작동했기 때문이다.

해결 방법으로,

  • 전환 순서를 엄격하게 관리했다.
    1. 몬스터 스폰 중단
    2. 기존 맵 비활성화
    3. 새 맵 활성화
    4. 배경음 변경
    5. 새 웨이브 시작

이 순서를 강제하여 문제를 해결했다.
또한, 맵 교체 후 일정 시간 동안 새로운 몬스터가 등장하기 전 '숨 고르기 구간'을 주어 자연스러운 연결감을 만들었다.

728x90
반응형
728x90
반응형

『Wizsurvive』는 기본적으로 끝없이 적을 상대하며 최대한 오래 생존하는 것을 목표로 한다.
하지만 플레이 도중 한 번의 실수로 게임이 끝난다면 플레이어는 쉽게 좌절할 수 있다.
그래서 이번 Dev Log에서는 부활 시스템과 이를 활용한 광고 리워드 설계에 대해 다루어 보려 한다.


부활 시스템 설계

초기에는 단순히 체력이 0이 되면 게임이 끝나는 구조였다.
하지만 테스트를 진행하면서, 플레이어가 아쉽게 죽었을 때 "한 번만 다시 기회를 얻고 싶다"고 느끼는 순간이 많다는 걸 확인했다.
그래서 부활 시스템을 추가하기로 했다.

부활 방식은 크게 두 가지로 나누었다.

  1. 부활 코인을 사용한 부활:
    플레이어가 인게임 내에서 획득한 '부활 코인'을 소모해 즉시 부활할 수 있다.
  2. 광고 시청을 통한 부활:
    부활 코인이 없는 경우, 광고를 시청하면 부활 기회를 제공한다.

부활 시에는 체력 100% 회복 또는 **50% 회복(광고 부활)**을 선택할 수 있으며, 이후 즉시 전투를 이어갈 수 있도록 설계했다.


부활 코인 시스템 구현

부활 코인은 다음과 같은 경로로 획득할 수 있다.

  • 가챠 뽑기에서 일정 확률로 획득
  • 스테이지 보스 클리어 보상
  • 일일 미션 완료 보상

부활 코인은 최대 보유 수량을 설정하여, 무한으로 쌓을 수 없게 했다.
(예: 최대 5개)
이는 게임 난이도를 지나치게 낮추는 것을 방지하고, 부활 기회를 소중하게 여기게 만들기 위한 조치였다.

UI 상에서는 상단에 [부활 코인 아이콘 ×N] 형태로 현재 보유 중인 코인 수를 직관적으로 표시했다.
게임 도중 사망 시, 부활 UI가 표시되고, 보유 중인 코인이 있을 경우 "부활하기" 버튼이 활성화된다.


광고 리워드 부활 설계

광고를 활용한 부활 시스템은 게임의 수익 모델과도 직결되는 중요한 요소다.
하지만 플레이어에게 광고 시청을 강제하면 오히려 거부감을 불러일으킬 수 있기 때문에, 설계할 때 여러 가지 고민이 필요했다.

광고 부활은 다음 규칙을 따르도록 설계했다.

  • 하루 최대 2회까지만 광고를 통한 부활이 가능하다.
  • 광고를 보면 체력 50%로 부활한다.
  • 광고 시청 없이 바로 "포기하기"를 선택할 수도 있다.

이 구조는 플레이어에게 선택권을 주면서도, 광고 수익을 자연스럽게 유도하는 데 초점을 맞췄다.
또한, 광고 부활을 너무 남발하지 않도록 제한을 두어 게임 밸런스를 유지했다.


부활 UI와 사용자 경험

부활 UI를 설계할 때 가장 신경 쓴 부분은 긴박감 유지였다.
게임이 중단된 느낌을 주지 않기 위해, 사망 시 즉시 부활 선택 창이 뜨고, 10초 카운트다운이 시작된다.

  • 10초 안에 부활 선택(코인 or 광고)을 하지 않으면 자동으로 게임 종료
  • 카운트다운 동안 부드러운 애니메이션과 사운드 효과로 긴박감을 유지
  • 부활 후에는 바로 플레이 화면으로 자연스럽게 복귀

UI 디자인은 Spine을 이용해 부활 선택 버튼에 작은 빛나는 이펙트를 추가하여, 플레이어가 무의식적으로 버튼에 눈이 가도록 했다.


개발 중 겪었던 문제와 해결

부활 시스템을 도입하면서 겪은 가장 큰 문제는
"게임 내부 상태 복원" 이었다.

예를 들어,

  • 부활했을 때 몬스터의 상태가 초기화되거나,
  • 스킬 쿨다운이 리셋되는 문제,
  • 맵상의 아이템이 사라지는 문제

같은 이슈들이 발생했다.

이를 해결하기 위해,

  • 플레이어 상태(HP, 스킬 쿨다운, 버프 상태 등)를 부활 시점 직전에 저장해두고,
  • 부활 시 저장된 데이터를 불러오는 구조를 만들었다.
  • 동시에 맵의 적과 아이템 상태는 그대로 유지되도록 처리했다.

덕분에 부활 이후에도 게임이 부드럽게 이어지며, 플레이어가 '진짜 이어서 싸우는' 느낌을 받을 수 있게 되었다.

728x90
반응형