에셋 비싸고 좋지만 엄청 큰걸 샀더니 (무려 23만원 ㅅㅂ ㅋㅋ)
그거 사용법 익히느라 시간 다쓰는듯.
조금 좀 진도 적당히 빼서 일지탭에 뭉탱이로다가 적고싶은데
하루종일 에셋 도큐먼트 보고있고, 저장 불러오기는 세시간동안 실험하고. 이러니까 진도가 나가나. 안나가지
결론은 오늘 밤새서 한일 = 복셀 데이터 저장/불러오기 구현 ㅋㅋㅋ
근데 오늘 삽질하면서 느낀점이, 어차피 나는 좆밥이기때문에 에셋에 맞출수밖에 없다.
--> 에셋을 공부하는게 게임 개발하는것보다 먼저라는거임.
예를들어 게임 다 개발해놓고 나중에 이지세이브 붙이려고하면 뭐 대공사일게 뻔하지 (님들은 아닐수도잇슴)
아 맞다 그렇게 오늘알게된것중에 하나가
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* 알고리즘
이렇게 해야한다는거심..
어 암튼 그렇다.
ㄹㅇ 에셋 배우는데에 개발 시간 한 1/4쓴 거 같은데
ㅋㅋ나도 에셋 사놓고 언제 배우나 이러고있음
원하는 모딩지원의 범위가 어디까지인지 모르겠는데, 너무 크게 안잡아도 될것 같음 림월드처럼 xml이나 json, txt, csv 등 데이터 기반으로 컨텐츠를 추가하는 건 어차피 설계단에서 할거고, 게임의 기능을 추가한다던지 커스터마이징하는 영역은 결국 dll을 손볼텐데, 이건 리버스로도 충분히 가능하고 많이 해서 너무 거기에 시간 안쏟고, 뼈대 작업을 하는게 더 좋을것 같음 림월드류 좋아해서 얼른 게임 모습을 보고 싶어서 하는 말 맞음
음… 조언감사! 일단은 설계를 더 고도화해야겠네. 어떤 부분은 내가 열어주고 어떤 부분은 닫을 것인지? 이런 고찰이 조금 필요할거같음. 더 공부도 필요하고 어쨌든 힘은 한번 빼고 해보겠음!! (진짜 만들고싶음 리버스엔지니어링 하겠지 마인드)
@타이난실베스터 림월드 포함해서 다른 게임들 까보고 데이터 구성을 어케 했는지 보는 것도 나한텐 도움이 많이 됐음
@Indie1(27.122) 음 그거좋네. 당장세이브부터 막히는데 뜯어봐야지 ㄱㅅ