U E D R , A S I H C RSS

정모/2019.7.3

2019.07.03 ZeroPage 정모




1.1. 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 신호로 사람의 위치 및 제스처 추적하기

1.2. 스터디 및 프로젝트


  • 스터디 활동 공유

1.2.1. 스터디

스터디 이름 진행 사항
Shaprest++ 어제 진행했으며, Fommatted 및 NonFormatted 진행
앙기모와 머머리
J를기다리며 쉬고있다.
그치만 HTML은 프로그래밍언어라구욧!
준비하자 프로그래밍 경시대회 계획 중
Not Kill 8월 진행 예정
DAILYEE 쉬었습니다.
머코노초
MVC_FM_4U 사람 모집 중

1.2.2. 프로젝트

프로젝트 진행 사항
Robot_Study/OpenManipulator Controller 예제 코드 분석 중에 있습니다.
직선조아 linear Regression
분수도 모르는 게 까불어 스마트IoT 여름메타, 하고싶은 분은 양운천에게 연락주세요.

1.3. 활동 소식



*
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-16 14:07:58
Processing time 0.0424 sec