명왕계획 제오라이마 히무로미쿠 1/6 (冥王計画 ゼオライマー 氷室美久) #2

2013년에 히무로미쿠를 하나 작업했었다. 아래 링크 참조 제오라이마(ゼオライマー) 히무로미쿠(氷室美久) 레진 캐스트 피규어 명왕계획 제오라이마 히무로미쿠 1/6 (冥王計画 ゼオライマー 氷室美久) 작업후기 그리고 5년만에 같은 킷을 하나 더 만들었다. 먼저번 작업할때는 원래 캐릭터 설정에 가깝게 작업하려고 노력했다. 이번에는 개인적인 취향을 반영해서 약간의 커스터마이즈를 했다. 하의가 쫄쫄이인데 이걸 피부로 바꿨다. 쫄쫄이의 재봉선 파인 곳과 접히는 부분도 퍼티+사포질로 매끈하게 다듬었다. … More 명왕계획 제오라이마 히무로미쿠 1/6 (冥王計画 ゼオライマー 氷室美久) #2

서버에서 클라이언트의 충돌처리와 타격 판정을 그대로 시뮬레이션 한다는 것의 의미

서버에서 클라이언트의 충돌처리와 타격 판정을 그대로 시뮬레이션 한다는 것은 단지 판정의 공정성을 높이기만 하는 것이 아니다. 클라이언트와 서버가 같은 코드를 공유하고 입력값만으로 같은 결과를 낸다는 의미이다. 즉 완전한 데드레커닝 기술을 구현했다는 뜻이다. 예를 들어 서로 다른 클라이언트 A와 B가 있을때 A가 컨트롤 하는 플레이어가 좌우로 마우스를 흔들면서 전진(sin곡선을 그리며)하는 경우, 완전한 데드레커닝 기술이 구현되지 않았을 … More 서버에서 클라이언트의 충돌처리와 타격 판정을 그대로 시뮬레이션 한다는 것의 의미

Destkop Bridge앱에서 AppData/Local 폴더 위치 얻기

게임을 실행하면 자동생성되는 부수적인 파일들이 있다. 게임의 옵션을 저장한 설정파일, shader 캐시 파일, 크래시 덤프 파일등… Windows 7시절 까지도 많은 게임들이 게임의 exe가 있는 폴더에 그대로 저장했다. 물론 이는 MS의 권고사항이 아니다. MS의 권고사항은 이렇게 폴더를 만들고 My Application폴더에 저장하는 것이다. C:\Users\{user id}\AppData\Local\{My Application} Windows 8부터는 이 권고사항이 사실상 강제되었다. 사용자가 Administrator 권한의 계정이라 해도(사실은 … More Destkop Bridge앱에서 AppData/Local 폴더 위치 얻기

CUDA사용시 MiniDumpWriteDump()실패

게임 클라이언트에서 크래시 발생시 덤프파일을 생성하도록 해놨다. 데스크탑버전은 적용이 되어있는데 UWP는 적용이 안되어있어서 UWP에도 적용하려고 데스크탑버전의 덤프생성 코드를 테스트했다. 그런데 문제 발생. 어라? 근데 덤프 생성에 문제가 있다. 덤프파일은 만들어졌지만 정상적으로 디버거에서 읽히지 않는다. MiniDumpWriteDump()함수가 실패하네? 해당 에러값으로 이틀동안 구글링을 해봐도 도움되는 답이 없다. 테스트를 하다보니 64비트에서만, MiniDumpWithFullMemory플래그를 줄 경우만 발생하는걸 알게 됐다. ’64비트는 뭐가 … More CUDA사용시 MiniDumpWriteDump()실패

Game Dev – Voxel Horizon에 CUDA적용 마무리.

오늘 메모리 사용량 최적화를 끝으로 CUDA적용은 마무리 지었다. 추가적으로 CUDA 사용이 필요할 경우 CUDA기능을 모아둔 dll라이브리에 기능을 추가하면 된다. Voxel Horizon은 라이트맵(Light map)을 사용한다. 지형지물간의 그림자도 라이트맵을 구울때 ray와 삼각형들간 교차테스트를 수행해서 계산한다. Voxel Horizon은 실시간으로 지형지물이 변화한다. 따라서 라이트맵을 다시 굽는 일이 수시로 발생한다. 네트워크로 복셀 오브젝트를 스트리밍했을때, 복셀들을 추가/삭제/편집 해서 복셀들간 지형지물이 변경될때 … More Game Dev – Voxel Horizon에 CUDA적용 마무리.

온라인 비영리 개발팀의 허와 허.

온라인으로 구성된 비영리팀은 결과물을 내기가 굉장히 어렵다. 대개의 경우 둘 중 하나가 된다. 1. ‘팀장이 잠수탄다. 당연히 출시 못한다.’ 팀장이 잠수탄다고 하면 무척 책임감이 없어보이지만 과정을 보면 팀장이 무책임한건 아니다. 이미 다른 팀원들이 잠수를 탔거나 배째라..식으로 나오거나 결과물이 너무너무너무 형편없어서 팀장이 어떻게든 땜빵을 하려고 고군분투 하다가 지쳐서 포기한 상황이다. 팀장이 잠수탔다고 표현했지만 정확히는 팀장이 프로젝트의 … More 온라인 비영리 개발팀의 허와 허.

Game Dev – 패킷 전송을 위한 복셀 데이터 압축

패킷으로 전송하기 위한 복셀 오브젝트의 복셀 데이터 압축. 2월말에서 3월 초까지 작업내용이다. 나중에 블로그에 포스팅 하려고 페이스북 타임라인에 대충 메모를 해놨었다. 잊고 있었는데 오늘에서야 정리해서 포스팅한다. Voxel Horizon에서 플레이어가 게임에 접속하면 현재 위치 기준으로 주변의 복셀 오브젝트들을 긁어다가 네트워크를 통해 플레이어의 디바이스에 전달한다. 복셀 데이터는 일단 컬러값(인덱스)를 빼고 순수 지오메트리 데이터는 복셀 한칸당 1bit다. 8x8x8짜리 … More Game Dev – 패킷 전송을 위한 복셀 데이터 압축