본문 바로가기

portfolio

[리뉴얼] 2- 경량 패턴을 이용한 World Class

 

 

개요

Wolrd 클래스를 경량 패턴 기반으로 작성하여 맵을 만든다.

 

경량 패턴이란

텍스쳐가 같은 객체는 객체마다 텍스쳐를 가지는 게 아닌 하나의 텍스쳐를 공유해서 쓰는 것을 말한다.

 

World Class(전)

 

 

기존의 World는 클래스에 만들지 않고 Render 하는 부분에서 하나의 타일만 가지고 맵을 그렸다.

 

그러다 보니 뜬금없이 맵 한가운데에 NPC가 있었다.

 

 

World Class(후)

 

새로 만든 World 클래스는 Terrian이라는 인스턴스를 가지고 있으며 이 인스턴스를 기반으로 월드를 제작한다.

 

 

기존에 비하면 좀 더 NPC의 위치에 맞는 분위기를 만들었다. 

 

 

충돌 체크도 저번보다 간단하게 구현할 수 있었다.  충돌처리는 대부분 클라이언트에서 처리를 하고 서버는 검증 정도만 하기 때문에 나도 구현을 할 때 클라이언트에서 충돌 체크를 하게 하였다.

 

 

후기

이 포트폴리오는 학부생 시절 게임 서버 시간에 제작했던 프로젝트 인대 그때는 교수님께서 그래픽은 하나도 안 본다고 하셔서 그래픽은 형태만 잡아놨던 프로젝트였고 서버 구현하기도 바빠서 그래픽에 시간을 투자할 수 없었다. 하지만 이번에는 리뉴얼 작업이기 때문에 그래픽도 저번과 다르게 리뉴얼하였다.

 

맵툴을 따로 제작하고 싶었지만 클라이언트 포트폴리오도 아니고 결국 주가 되는 건 서버이기 때문에 주객전도가 될 거 같아서 청사진을 가지고 비교해서 배치를 진행하였다.

 

리소스는 예전에 대학교 아는 형한테 받은 리소스를 기반으로 제작하고 있다.  아마 리소스는 알피지 만들기 툴 리소스인 거 같은데 아무래도 상업적으로 팔고 있는 게임의 리소스 이기 때문에 출처를 작성하며 여기에서 제작하는 프로젝트는 상업적으로 사용하지 않을 것을 밝히며 혹시 문제가 생길 경우에는 글을 내릴 것이다.

 

알피지 만들기 툴 사이트

https://www.rpgmakerweb.com/

 

[portfolio] - DirectX & IOCP

[portfolio] - [리뉴얼] 개요 및 목표(20.07.19 수정)

[portfolio] - [리뉴얼] 1- 중재자 패턴을 이용한 Network Class

[프로그래밍/디자인 패턴] - [디자인 패턴] 경량 패턴(Flyweight Patterns)-타일 맵