목록Game Develop (3)
지난번에 만든 절차적 생성에 따른 결과값을 기반으로 타일맵을 구성해보았다. 전체적으로 빈공간이 생각보다 크게 잡혔다. 여기에 셀룰러 오토마타 알고리즘을 조금 섞으면 더 다양한 모양의 이쁜 맵을 만들수 있을 것 같다. https://www.youtube.com/watch?v=u107nI3TX5s

랜덤 맵을 구현해야 하는 상황이 생겨서 얼마전 부터 간단한 절차적 생성 알고리즘들을 공부해 보고 있다. 처음에는 일정 크기의 방들을 맵툴로 찍어낸 후 생성된 방들을 알고리즘을 통해 섞어낼려고 했었다. 그러다가 이왕 만들어보는 절차적 생성이니 만큼 별도의 맵툴없이 구현해 보고 싶어졌다. 처음에는 셀룰러 오토마타 방식으로 구현을 해보았는데 마음에 드는 모양을 만드는게 너무 어려웠다. 셀룰러 오토마타 알고리즘은 매우 간단한데 각 타일마다 주변 타일을 검사해서 자신의 상태를 결정하는 알고리즘이다. 많은 부분이 난수에 의존하기 때문에 어느정도 원하는 모양의 동굴을 만들어 내기가 힘들다. 그래서 다른 방식을 써서구현을 하게 되었는데 순서는 다음과 같다. 1. 랜덤한 크기의 방들을 일정기준안에서 난수로 생성한다. 2..

DirectX11의 Texture2D버퍼로부터 Direct2D의 RenderTarget을 생성해서 기존에 사용하던 Direct2D 프레임워크를 사용하면서 라이팅처리만 따로 사용하고 싶었다. 지금은 위와 같이 SwapChain으로부터 IDXGISurface를 받아서 ID2D1RenderTarget을 생성해서 사용했지만 D2D로 다양한 후처리를 하고 싶다면 Texture2D버퍼로 부터 RenderTarget을 생성하는 방법도 있다. 새로 DirectX11기반의 2D엔진을 만들시간이 없어서 이런 식으로 만들어서 사용하고 있는데 솔직히 기존 Direct2D프레임워크를 사용할 수 있다는 편한점보다는 불편한 점이 더 많다. 오브젝트 별로 다르게 Material을 줄 수 없다는 점이나, 하드웨어 인스턴싱이라던가 . ..