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