= '''2019.07.03 ZeroPage 정모''' = [[TableOfContents]] == OMS == 27기 [강영빈] 학우 - 기컴프 마인크래프트 모드 개발기 * 처음에는 Java로 개발되었으며, Notch 라는 사람이 개발이며, 세계에서 가장 많이 팔린 게임이다. (테트리스를 결국 잡음) * 어떻게 만드는지? * 만들어진 프로그램을 실행시키면 적절한 위치에 블록이 형성이 되는 API 제공 * 어떤 API를 사용하여 어느 곳에 적용을 할지가 필요. * WorldEdit(API) : 인게임 명령어로 블록을 설치할 수 있는 모드를 사용. * 마인크래프트에 블록을 생성할 API !! * 신호를 받는 매개체로 Apache Thrift 사용. * 기본 프로토콜로 서로 다른 포맷에서 통신을 하기위해 파일을 따로 저장해놓는다 (ex, xxx.thrift) * 어떠한 언어로 어떠한 폴더에 생성할 것인지에 대한 옵션을 주면, 각각 언어들에 맞는 코드들이 생성된다. * 코드가 생성된 뒤, 함수를 실행하면 서버에서 다양한 것들이 호출된다. (게임이 서버라고 생각하면 편하다.) * 호출되는 함수 내에 게임 상태를 변화시킬 코드를 주면된다. * 블록 종류를 생각해야하는데, 너무 많다..... (신경쓸 것이 너무 많아 힘들었다.) * 다행인 것은 Wiki에 정리되어 있다. (객굴) * 하지만 문서 서식이 제각각이라 크롤링이 되지 않는다. * 각각의 블록에 대해서 분류할 수 있는 Key가 있어야한다 * 1. block ID * 2. data value : 블록마다 가지고 있는 1byte 크기의 data. -> 블록마다 변화하는게 제각각이라 상당히 짜증난다. * 그래서 노가다 했음. * 3. NBT tag : 많은 정보가 저장되지 않는 data value에 비해 다 저장할 수 있다. * 라이브러리는 vs에서 만들 수 있게 설정을 제공한다. (DLL로 만들 수 있다.) * 이러한 노가다와 노가다가 겹쳐서 만들어 진 것이 결국 DLL * 이런 방식으로 마인크래프트 모드가 완성된 것이다. * 하면서 느꼈던 것 * 각자 개발을 하고 일주일에 한두번 모여서 회의하고 개발을 했는데, 본인에겐 자율 출퇴근이 잘 맞지 않았다 그리고 작업 중간에 쓰던 API가 바뀌어 버리면 상당히 힘들어진다. 마지막으로, 개발 중간중간에 계획이 몇번 갈아엎어져 힘들었으며, 코드가 진짜 많은데 그걸 다 봐야해서 힘들었다.. * TMI : 돈들어오면 기분 좋다. 다음주 OMS 주자 24기 [김성민] 학우 : Wifi 신호로 사람의 위치 및 제스처 추적하기 == 스터디 및 프로젝트 == * '''스터디 활동 공유''' === '''스터디''' === || 스터디 이름 || 진행 사항 || || [Shaprest++] || 어제 진행했으며, Fommatted 및 NonFormatted 진행 || || ["앙기모와 머머리"] || || || [J를기다리며] || 쉬고있다. || || [그치만%20HTML은%20프로그래밍언어라구욧%21 | 그치만 HTML은 프로그래밍언어라구욧!] || || || [준비하자 프로그래밍 경시대회] || 계획 중 || || [Not Kill] || 8월 진행 예정 || || [DAILYEE] || 쉬었습니다. || || [머코노초] || || || [MVC_FM_4U] || 사람 모집 중 || === '''프로젝트''' === || 프로젝트 || 진행 사항 || || [Robot_Study/OpenManipulator] || Controller 예제 코드 분석 중에 있습니다. || || [직선조아] || linear Regression || || ["분수도 모르는 게 까불어"] || 스마트IoT 여름메타, 하고싶은 분은 [양운천]에게 연락주세요. || == 활동 소식 == * == Comment == ---- [활동지도/2019]