설문에 이게 있길래 일요일에 올릴 개발일지보다 먼저 써봄
팩토리오엔 블루프린트가 있어서 공정을 쉽게 공유하거나 저장할수 있다.
블루프린트 문자열은 이 블루프린트들을 고유 파일이 아닌 텍스트로 더욱 쉽게 만들어 주었다.
이제 블루프린트 문자열의 원리를 알아보자.
블루프린트 문자열은 건물들의 배치들을 Json형식으로 저장한뒤 zlib 압축(compress)한것이다. (zip압축 원리)
그리고 왜인지 모르겠지만 맨앞에 0을 붙혀놓았다. (위키엔 버전표시라고 함)
따라서 블루프린트 문자열을 해석하려면 맨 앞 0을 지우고 텍스트를 압축풀기(decompress)하면 Json string 형식으로 나온다.
역설계하는 방법은 json 작성후 순서를 반대로 하면 된다.
예시로 만든 블루프린트 문자열 :
0eNqF0OsKwjAMBeB3Ob872EWc9lVEpNOgxS0dbbyM0Xd3FxiCA3+ekHyB06OqH9R6ywLdw54dB+hDj2CvbOpxJl1L0LBCDRTYNGMK4ry5UiKG74gKli/0hs7iUYFYrFianSl0J340FflhYV1QaF0YjhyPHwdop9BBJ1mM6sfIvwyiOjnfKMgvkaWzka8ZxWK8nLsQ/0OKNWSzIOINh9Z5SSqqV5j9ogz9TE3qr+IVnuTDtF0WabbZp3m528b4AYWyiNc=
본래라면 마우스 위치가 블루프린트 배치의 중앙이겠지만 해당 문자열은
모든 엔티티들의 x값을 10만큼 더해서 역설계한거라 열칸 오른쪽으로 치우쳐져있다. (우파아님)
다음으로 도움을 얻은 사이트들을 소개하겠다.
아래 사이트는 텍스트를 압축하거나 압축을 풀어주는 사이트이다.
문자열을 붙혀넣고 맨앞에 0을 빼면 Json string으로 나온다.
http://www.unit-conversion.info/texttools/compress/
더 편하게 보고싶으면 아래 사이트에서 Json string을 적어서 json을 더 자세히 볼 수있다.
https://www.freeformatter.com/json-formatter.html#ad-output
참고로 블루프린트 북 문자열도 같은 원리로 되어있다.
게임에서 뽑은 문자열은 기준점(0, 0) 이 중앙이며 타일수가 짝수면 가운데 두줄중 하나인것 같다 (확실치 않음)
Json 값들은 위키에서 확인
https://wiki.factorio.com/Blueprint_string_format
질문은 아는건 받고 모르는건 연구/검색해서 받겠음
관련해서 특별히 아는게 있다면 말해주면 고맙겠음
만드려는 시뮬레이터의 블프 문자열가 PC팩토리오와 연동 되게 하려고 분석해봄
시뮬레이터 설문 안하신분들 한번씩 해주시면 개발에 많은 도움이 될것 같음
복잡하진 않고 모르면 빈칸으로 놓으면 됩니다.
설문 조사 : https://goo.gl/forms/dsKalmIwvBtTvsQJ3
그럼 오후 강의 들으러 갑니다
http://www.unit-conversion.info/texttools/compress/
https://www.freeformatter.com/json-formatter.html#ad-output
https://wiki.factorio.com/Blueprint_string_format
https://goo.gl/forms/dsKalmIwvBtTvsQJ3
이과추
추천 안하고 뭐함? - dc App
제가 올린거고 예상은한 방법이지만 확인할 방법이 없었는데, 올려주셔서 감사합니다 - dc App