따봉


에셋 비싸고 좋지만 엄청 큰걸 샀더니 (무려 23만원 ㅅㅂ ㅋㅋ)


그거 사용법 익히느라 시간 다쓰는듯. 


조금 좀 진도 적당히 빼서 일지탭에 뭉탱이로다가 적고싶은데


하루종일 에셋 도큐먼트 보고있고, 저장 불러오기는 세시간동안 실험하고. 이러니까 진도가 나가나. 안나가지




24b0d121e09c28a8699fe8b115ef046c65f2214894

결론은 오늘 밤새서 한일 = 복셀 데이터 저장/불러오기 구현 ㅋㅋㅋ


근데 오늘 삽질하면서 느낀점이, 어차피 나는 좆밥이기때문에 에셋에 맞출수밖에 없다.


--> 에셋을 공부하는게 게임 개발하는것보다 먼저라는거임.


예를들어 게임 다 개발해놓고 나중에 이지세이브 붙이려고하면 뭐 대공사일게 뻔하지 (님들은 아닐수도잇슴)


아 맞다 그렇게 오늘알게된것중에 하나가 


uMod라고 모딩 지원해주는 에셋이 있는데


이걸 쓰면 IL2CPP 버스트컴파일을 못쓴다는거임 ㅋㅋ


유니티 잡시스템을 아예 못쓰는건 아니라 설계가 완전 바뀔건 없지만은. 이런건 미리미리 알아둬야하는거 아니겠음?




그니까 필수 코어한 에셋들 : 세이브(Easy Save), 복셀엔진(Voxel Play), 모딩지원(uMod), 이거는 미리 공부해야겠다. 라고 느꼈음


추가로 모딩지원 :: 이거는 즉 API작업이 필요하기때문에 설계단계에서부터 미리미리 잘 해봐야겠다? 솔직히 아직까지 내가 감을 잘 못잡고 있기도 하고..


음.. 지나가던 전문가 형님이 볼수도 있으니까 틀린 점 있으면 지적좀 받게 적자면,


기능 하나 추가할 때마다 (ex. 카메라 움직임 기능 추가)


-> 적당한 모딩지원 방식을 선택하고 (ex. Lua 스크립트)


-> 그에 맞춘 API를 미리 만들어두고 (ex. Lua스크립트에서 카메라를 제어할수있는 API)


-> 그리고 다른 부분에서 호출하는 것까지 만들어주면 (ex. 키보드 입력 루아로 보냄)


나중에 로딩만 다르게해서 바로바로 모드 적용 가능한 설계가 된다는거임. 아마도..


이 3가지를 꼭 고려해서 기능을 설계해야겠다는 생각이 들었음. 이게 맞나 모르겠네. 모딩가능하게 짜본형있으면 알려줘.



추가로 내가 나중에 보려고 또 적어둠. (이거 적은거 내 뇌내망상임. 참고하지마셈. 아닌거있으면 비판좀해주고)


모딩 친화적 설계란 ?


1. JSON, XML 등 이용하여 '데이터화'


>> 하드코딩이라 표현해야할지 모르겠는데... 예를들어 플레이어 클래스에 직접 int mood 이렇게 정의하는것을 피하고


외부의 데이터로부터 동적으로 읽어서 '기분'이란 상태를 정의하는거심. 모더가 쉽게 새로운 특성을 넣을수있게.


2. (유니티 기준으로는) Lua, DLL 지원 설계.


>> 이건 저 위에 적혀있는것. 호출부 > (외부 스크립트) > API 이런식으로 동작하도록 설계



음.. 지금까지 공부한 내용으론 이런듯. 아니면 누가좀알려주셈 제바루

 




내일은 이지세이브, uMod 공부를 할듯?하다.


그리고 ㅅㅂ 길찾기!! 이것도 깔짝여봤는데 졸라 힘들었음.


기존의 길찾기 알고리즘은 한칸 앞+위로 그니까 0,0,0 에서 1,1,0 으로 올라가는 길을 못찾았는데


그걸 또 추가해야함.. 한 노드당 다른 노드와의 연결이 23가지가 되는거심... 대가리 깨지는거심..


내가 A* 에셋 안가지고 있어서 모르겠는데, 어차피 에셋을 써도 노드 그래프라고하나,


각각의 노드가 어떻게 연결되는지까지는 손으로 만들어야하는거 아님? (정확히 확인은 안해봤지만 아마 그럴듯)


그니까 멀티스레딩을 위해서 네비메시를 못쓰는 지금 상황에서, (그냥 대부분의 문제의 근원은 멀티스레딩 욕심임 ㄹㅇㅋㅋ)


Voxel Play 복셀 데이터 -> 블리터블 복셀 데이터 -> 노드 그래프 -> A* 알고리즘

이렇게 해야한다는거심..



어 암튼 그렇다. 


안아줘