림월드에서 꼭 가져와야 할 부분 3가지.


1. 미친 디테일 : 손가락 발가락 하나하나 내부 시뮬레이션이 돌아간다. 체력 시스템도 현실적이다.


2. 모드 확장성 :타이난이 게임을 잘만들기는 했지만 모드가 없었으면 이렇게까지 살아남진 못했을것이다.


3. 이야기 생성기 : 림월드는 게이머의 차력쇼가 아니라 이야기 생성기이다. (가끔 차력쇼 되기는 함)



내 게임에서 개선시킬 부분 2가지


1. 멀티스레딩 지원 : 타이난같은 갓개발자가 멀티스레딩 미지원으로 개발한 이유는 개척되지 않은 장르를 개발하였기 때문에, 빨리 결과를 내야해서 그런게 아닌가 싶다.

후발주자 입장에서는 멀티스레딩을 도입하지 않을 이유가 없다. 기존 림월드 유저를 돌리려면 필수적인 도입이라고 판단했다.


2. 3D로 복층설계/ 높낮이 표현 가능하게 할 것 : 림월드의 근본적인 재미는 3D냐 2D냐에서 오는것이 아니다. 림월드는 "상상력이라는 RTX4090"으로 돌리기 때문. 

그러나 난 후발주자다. 복층설계를 가능하게 해서 '기지 설계'의 재미를 극대화한다.



해야할 일 : 림월드라이크 망한겜이든 흥한겜이든 해보기. 해보면서 왜 망했는지 왜 흥했는지 알아보자.

목록 : 고잉 미디블, 노블 페이트, 스트랜디드 : 에일리언 던

그리고 

'드워프 포트리스'


24b0d121e09c28a8699fe8b115ef046c63f82d4b99

(사놓고 한글화 못해서 안함. 근데 이제는 조사입장이니 영어로라도 해야지)



지금까지 한것

1. 유니티에서 Lua 돌리는법 공부

생각보다 졸라 쉽다.


24b0d121e09c28a8699fe8b115ef046f5e4a989d

API 만들고


24b0d121e09c28a8699fe8b115ef046c66f02847

등록하면


24b0d121e09c28a8699fe8b115ef046a7a65ea

루아에서 쓸수있다. 지금 카메라 이동은 루아로 구현해놨다.


2. Burst 컴파일러 + Job System 공부

이건 좀 어렵다. 하는것자체는 쉬운데 이걸 구현하려면 여러가지 설계상의 제약이 생기게된다.


문제점 : 버스트 컴파일러는 Blittable 한것만 직접 사용할수있다. 완전한 객체지향 구조로는 프로그래밍이 불가능해진다.


어쨌든 길찾기, 할일찾기 등 기존 림월드에서 틱을 굉장히 많이 먹던 부분을 나는 멀티스레딩이 가능하게 바꿔야 한다.


나는 월드를 1/4 * 1/4 * 1/4 단위의  복셀로 쪼개고,

24b0d121e09c28a8699fe8b115ef046543adff

이런 2바이트의 속성을 적용할 수 있도록 해놨다.



24b0d121e09c28a8699fe8b115ef046c60f02a49

여기로 넘겨서. 멀티스레딩에서 길찾기가 가능하도록 구현했다.
써놓고 보니 진짜 별거 아닌데, 구상하느라 머리깨지는줄 알았다.


3. 틱 기반 시스템

림월드에서 배속/일시정지가 안되면? >> 아무도 안함

앵간한건 림월드 시스템을 그대로 들고와서 쓰려고 했는데... 기본 1배속이 60TPS더라. 왜?

음.... 내생각에 전혀 그럴 필요가 없다고 판단했다. TPS를 24로 설정해서 성능을 더 뽑는게 훨씬 중요할것같다.


24b0d121e09c28a8699fe8b115ef046f584c9c9d

성능 성능 성능

아닌가? 림월드 60TPS인거 왜인지 아는사람 설명좀. 내머릿속에서는 합당한 이유가 생각이 안난다.



일지 요약.

지금까지한거.


24b0d121e09c28a8699fe8b115ef046c69f62d4c

길찾기. 끝ㅅㅂ 그래도 며칠 매달렸는데...