poster

Summary

항목 내용
장소 신논현 르메르디앙 호텔 뒷 골목
날짜 2019년 4월 27일 (토요일)
시간 10시부터 21시까지

귀한 공간이니, 누추한 시간을 보냈으면 좋겠습니다.

Motivation

  • 게임을 만듭시다.
  • 게임이 아니면 뭐 어때요.
  • 즐거운 걸 만듭시다. 물론 만드는 사람이 즐거운 것이죠.

Objective

  • 추상 퍼즐 게임을 만듭니다. 제가 그걸 만들것이기 때문이죠.
  • 사실 아무거나 만드셔도 됩니다.
  • 아무것도 안 만들어도 되죠.
  • 보드게임이 많으니 놀다가셔도 됩니다.
  • 충분한 콤포넌트가 준비되어 있으니, 보드게임을 만드셔도 됩니다.

Register

  • 추첨을 통해 참석 여부를 결정하게 됩니다.
  • 2명은 사무실 책상을 사용할 수 있습니다.
  • 2명은 좌식 테이블을 사용할 수 있습니다.
  • 1명은 간이 의자와 테이블을 사용할 수 있습니다.
  • 2명은 좌식 의자와 좌식 테이블을 사용할 수 있습니다.
  • 그 이후 입장 인원은 냉난방이 안되는 창고에 가둬서 정신과 시간의 방에 준비하도록 하겠습니다.
  • 당일 선착순으로 선호하는 자리를 배정할 예정이므로, 가능한 빨리 오시는것이 좋겠습니다.
  • 자리 예약이나 전날 대기는 불가능합니다.
  • 10시 이전에 도착하시는 경우, 입구에서 번호표를 요청 해 주세요.
  • 구글폼을 통해서 참가 신청 의사를 표현해주십시오.

Schedule

  • 2019년 4월 27일 토요일에 도착하는 대로 각자 알아서 시작합니다.
  • 당일 실행 가능한 빌드를 공유하는 것을 목표로 합니다.
  • 노트북은 반드시 지참해야합니다.
시간 내용
10:00 ~ 12:00 체크인 및 자리배정
12:00 ~ 14:00 점심식사 후 각자 할일 찾기
14:00 ~ 19:00 저녁 메뉴 고민
19:00 ~ 20:00 저녁 식사와 작업 마무리
20:00 ~ 21:00 작업 공유 및 투표

Result

Operation

  • Prize
    • 1위: 양현찬
    • 2위: 손동운, 최재영
    • 공동 3위: 김거엽, 김수진, 이현종

      (ㄱ-ㅎ 오름차순)

  • 호스팅
    • 모두가 공간을 즐거이 즐겨주시어, 매우 뿌듯한 시간이었습니다.
    • 추후에도 1년에 두어 번은 신논현을 활용해 주시면 좋겠습니다.

Balloon - 김거엽

Cannon

YouTube 플레이 데모 영상

  • 모두 진술
    • 좌우화살표키로 열기구를 조절한다.
    • 상하화살표키로 열기구의 출력을 높이거나 낮출 수 있다.
    • 시간이 지남에 따라 열기구의 연료는 줄어든다.
    • 연료 아이템을 가는 길에 먹을 수 있고, 먹으면 연료가 꽉 찬다.
    • 열기구의 연료가 바닥난채로 추락하면 게임오버다.
    • 최대한 고도를 높이 날아오르는 것이 목표다.
  • 피고인 신문 절차
    • (이번에도 생략)
  • 최후 진술
    • 항아리 게임 컨셉으로 해 보면 어떨까하는 피드백을 받았다.
    • 연료가 바닥나서 추락하는 도중 우연히 연료를 먹어서 되살아나는 느낌이 묘하게 좋다.
    • 스테이지 설계를 잘 하면 그냥 그럭저럭 가벼운 재미의 아케이드 게임이 될지도…

PuZzleRook - 이성수

  • 기획
    • 여러 보드게임에서 깊은 Inspiration을 받아, 추상 퍼즐 전략 게임을 제작할 예정입니다.
  • 결과
    • 보드 판 구조까지 완성
    • 다음 기회에 계속

Probable Tribble - 손동운 최재영

  • 의도
    • 친구가 모처럼 재미있어 보이는 언어를 기획하고 있어서 그 기획에 편승해 재미를 가져가보자.
  • 목표
    • Visual novel의 시나리오를 작성하기 위한 적당한 DSEL을 TypeScript 기반으로 개발하고, 그 Script에 필요한 기능들을 제공하는 runtime과 runtime에서 발생하는 event로 현재 상황을 rendering하는 부분을 잘 추상화해서 분리해보자.
  • 진행
    • 최재영
      • 언어를 만드는 것은 아주 재미있는 일이고 이건 전에도 생각했던 재미있는 주제였다.
      • episodeinteractive 을 참고해서 대강의 흐름을 잡고, 주어진 예제 파일로부터 번역을 시작!
        • 하기에 앞서 그 동안 하고 있던 시스템 덕질 이야기를 동기화하는데 1시간 정도를 소모
        • 그리고 DSL로 할거냐 DSEL로 할거냐 constraints는 어떻게 정의할거냐를 논의하느라 1시간 소모
        • TypeScript 환경 설정하고 뭔가 잘못 설정된 relative path의 npm install 수정하는데 30분 소모
      • 밥 먹고 프로젝트를 좀 제대로 시작한다 했더니 벌써 3시가 넘었던 것이었다.
        • 그 와중에 머리가 안 돌아가서 카페인 섭취.
      • 페어 프로그래밍을 빙자, 하루를 날로 먹겠다고 다짐하며 주최자의 맥주를 건들건들 마시면서 언어가 척척 설계되는 것을 구경했다.
      • Scene을 선언하고 그 Scene을 다시 참조하는 identifier를 가져오는 상황에서 변수로 선언할 경우 선언한 순서에 따라 참조할 대상이 안 보이는 문제가 있어서 결국 function으로 선언하고 SceneGenerator 라는 개념을 도입. 꺼림직한데 좋은 방법을 못 찾았다.
        • 차라리 RenPy처럼 label을 도입하거나,
        • 다른 navigation처럼 다 포기하고 string을 쓰는 방법도 있었겠지만 (…)
        • 이 script도 개발자가 작성할 수 있다는 것을 전제로, 일말의 type 안정성 사실 자동완성 을 포기할 수가 없었다.
      • 그러다가 너무 많이 마셔서 누워서 쉬다가 동네 산책.
      • 돌아와서 저녁을 먹었더니 끝났다..? 아무것도 하지 말자던 10.5회 보다 더 아무것도 안 한 잉여톤이었다. 코딩 이야기만 실컷 함
      • 그런데 2등..? 이로써 나는 아무것도 안 하는게 정답 이라는 결론을 얻을 수 있었다. 끗.
    • 손동운
      • 페어 프로그래밍 혹은 감독 이라고 불릴만한 뭔가를 해보았습니다.
        • 코드 한땀한땀 손에 땀이..
        • 안볼때는 코드 작업 속도가 올라가면서, guilty pleasure 를 느낄 수 있었습니다.
      • class 안쓰고 functional 한 느낌으로 구성해보았습니다.
        • 이러한 구성에서, polymorphism 을 구현해보았습니다.
        • 관심이 다른데 있었다고 볼 수 있겠네요. (오월동주?)
      • Scene 에서 다음 Scene 으로 넘어갈때, 명시적으로 Jump 를 해야하는 제약조건이 추가되었습니다.
        • 소스 코드상에서 A Scene 다음에 정의된 B Scene 을 찾을 방법을 충분히 고민하지 못했습니다.
      • Narration 을 하나의 캐릭터로 표현하고, Narration 을 어떻게 표현할지는 user 에게 넘길 수 있을 지 추가 고민이 필요합니다.
      • 굉장히 다양한 형태의 Visual novel 들이 있는데, 그것들을 다 아우를 수 있는 무언가를 만들 수 있을지 고민해봐야 합니다.
        • 그렇게 될 경우, core 와 extension 으로 구축할 수 있을 것 같습니다.
        • 이렇게 생각하니 확장성의 근처에도 못갔군요.
      • 중간에 대화를 못따라가는 상황이 생겨서 슬펐습니다.
        • 이럴땐 어떻게 해야하는걸까요
      • 2등이라.. 어필이 되려면, 역시 뭔가 매력적인 주제를 잘 찾는게 정답 이라는 결론을 얻을 수 있었습니다.
  • 결과
    • 스크립트를 선언적으로 정의하기 위한 DSEL을 설계하였다.
    • Scene의 이름 정의와 참조는 순환 참조의 성격이 있어서 좀 더 고민이 필요한 부분이다.

Defense - 김수진 이현종

  • 도입
    • 디펜스 게임을 만들고 싶었던 L은 K를 끌어들였다.
    • 그렇게 함께 하게 된 K는 L과 여러가지 방향으로 이야기를 나누었다.
    • 이야기를 나누고, K는 결단을 내렸다.
    • L을 열심히 부리기로.
  • 기획
    • 소규모 멀티 플레이 디펜스 게임
  • 과정
    • 윤히틔에 생소한 L은 열심히 윤히틔 관련 자료를 찾았으나 성과를 올리지 못했다.
    • K는 L이 하던 것을 보며 답답함을 느끼고 직접 윤히틔 선생과 친해지기로 했다.
    • 그러나 그들은 친해지지 못했다.
    • 이를 지켜보던 LSS는 윤히틔가 어떤 존재인지 K와 L에게 간단히 설명하였으나 그들은 듣지 않았다.
    • 그리고 모두 함께 산책을 떠났다., 잉여한 하루가 저물어간다.
  • 결과

Let’s go tetris - 양현찬

  • 의도
    • golang 캐릭터가 너무 귀엽다.
    • 귀여워서 못참겠군요. 어서 golang으로 뭐라도 개발해보자.
  • 방향
    • 이왕 golang으로 개발하는거 golang의 장점들을 최대한 활용해본다.
    • 테트리스 위키에 요즘 테트리스 게임들은 꼭 구현한다는 SRS에 대하여 잘 설명이 되어있다. 테스트 케이스를 만들고 맞춰서 구현해보자.
  • 피드백
    • golang 캐릭터가 귀여워서 시작했는데 왜 게임에는 등장하지 않는가?
      • golang 캐릭터를 엄청 넣어야겠다. 게임은 점점 더 귀여워질 것 이다!
    • 요즘은 베틀로얄이 대세이다. 테트리스로 베틀로얄을 구현한 게임도 있더라.
    • 4명의 유저가 각각 다른 키를 입력해서 플레이하는 테트리스를 구현해보는 것도 재밌을 것 같다.
      • 너무 좋은 아이디어들이다. 어서 서버까지 만들고 싶다.

TBU