리뷰: 아톰 익스프레스

https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=175541256

고대 그리스의 철학자들이 “만물의 가장 작은 단위는 무엇인가” 를 생각한 것에서 시작해서 “이건 단순히 사고 영역이었다” 라는 내용을 다룬다. 그리고 나서 근대 화학에서 실험적으로 유용한 틀로써 원자론을 다루는게 나온다.

  • 플로지스톤이 틀린 이론으로 밝혀지는 과정
  •  전기 화학의 탄생, 그리고 이때 생기는 각 분자들이 원자론으로 설명하기 쉬운 것
  • 화학 반응에서 일정 성분비의 법칙, 기체 부피가 일정 비인 것을 원자론으로 설명할 수 있다는 얘기
  • 그리고 이 틀을 써서 나오게 된 각 원자량을 정밀하게 측정하는 시도들
  • 이 시도들이 합쳐져서 나오게 된 멘델레예프의 주기율표

이런 실험적인 토대 위에서 이론 물리학자들이 생각해낸 변화의 방향성 (엔트로피) 이나 열 기관의 효율성 최대치 (카르노 기관), 그리고 이를 설명하기 위한 (이상) 기체 상태 방적식에 대해서 설명한다.

마지막으로, 이런 이상 기체 방정식과 브라운 운동이 관련성, 그리고 이를 실험적으로 측정했을 때 아보가드로 수 (1몰의 기체 안에 들어있는 분자 수) 를 얻을 수 있었다는 얘기 + 이외의 다른 방법으로도 이후에 실험적으로 측정했고, (거의) 같은 값으로 나온다는 얘기로 마무리. (=실험적으로 유용해서 이를 설명하는 도구로 썼던 원자론이, 실험적으로 나올 수 있는 다른 값으로 실체가 증명가능하다는 얘기)

책은 굉장히 맘에 들었다. 중학생 때 화학을 처음 배우면서 짧게 화학의 역사나 원자론의 시작을 설명해줬는데, 세부 내용이 궁금해서 구할 수 있는 책을 다 구해다 읽던 기억도 떠오르고(…). 사놓고 내용 괜찮으면 아이들에게 보여주려고 했는데, 이 책만 아니라 작가의 다른 책 (중력과 게놈 익스프레스가 각각 있음) 도 주문해서 보여줘야겠다.

소규모 팀으로 멀티플레이어 게임 개발하기

https://www.slideshare.net/iFunFactory/cto-125771356

이번 달 12일에 홍릉에 있는 콘텐츠진흥원 인재캠퍼스에서 발표한 내용.

요약하자면,

  • 팀이 작다면 모두 만드는 건 불가능 => 최대한 외부에서 가져다 쓰자(아웃소싱)
  • 멀티플레이어 게임을 개발하려면 서버 쪽에 클라이언트 로직을 *복제* 하고 이를 비교하는 코드가 필요한데, 클라이언트 엔진의 데디케이티드 서버 기능을 쓰면 이 부분은 필요하지 않음
  • 게임 서버 쪽에선 상점, 커뮤니티, 메일함 같은 비지니스 로직과 게임 시작을 위한 매치메이킹에 집중 / 게임 컨텐츠는 데디케이티드 서버 기반 구조에 집중
  • 이런 방법은 단순히 요즘 시작된게 아니라 과거 (25년 전의 DOOM) 부터 시작 된 것. 그러니 외부 툴과 서비스를 잘 활용해서 만들어보자.
  • 다만 데디케이티드 서버의 고질적인 자원 문제 (CPU,메모리) 때문에 별도의 스케일링 방법이 필요하다고 얘기하고, 매치메이킹도 규모가 커지면 생길 수 있는 문제를 간략히 설명.

… 라는 내용을 발표했다. (30분짜리)

사내에서 개발한 프레임워크를 써서 아래와 같은 구성으로 데모를 했음. (게임은 만만한 Pong으로)

  • Unity 3D 기반 데디케이티드 서버
  • 게임 서버: 인증/매치메이킹/ELO 레이팅 변경 등등 — 이건 내가 재직 중인 회사에서 만든 솔루션 위에 작성
  • AWS 기반 데디케이티드 서버 스케일링 — 이것도 역시 같은 솔루션 위에서 처리.

발표 자료 준비할 때 독감으로 앓아누워서 촉박하게 준비했는데, 이미 있던 데모를 수정해서 발표 자료를 만들 수 있어서 어떻게어떻게 시간 내에 해결.
데디케이티드 서버 관련 역사랑 용어 부분에서도 이승재 군이 적절하게 피드백을 줘서 — 예를 들어 나는 DOOM도 리플레이 기반으로 동기화한 줄 알았으나 락 스텝이었음 — 자료 준비도 꽤 스무스하게 끝났음. 다음 발표 때도 이 정도로 금방 준비할 수 있었으면 좋겠네(…).