Rapapa Dev Story

Game&Web Development And More…

  • 유니티 신규 가격 정책에 즈음하여… (unity runtime fee)

    유니티가 새로운 요금 정책을 내어 놓았다.  https://blog.unity.com/news/plan-pricing-and-packaging-updates Runtime Fee라고, 이제 에디터당(seat fee) 붙던 가격에 추가해서 매출과 다운로드 수에 기반하여 unity runtime install 비용을 추가로 받겠다는 것이다.  20만 달러를 넘고, 20만 다운로드를 넘으면 다운로드 수에 해당하는 추가 Fee를 위의 표대로 지불하라는 말인데… 문제는 그 비용이 만만치 않은 것이다. 더군다나  위의 테이블에서는 one time이 아니라 monthly rate 로…

    Read More

  • 게임 회사 공채를 지원하는 신입 개발자들에게

    매년 가을이 되면 회사마다 공채가 한창이다. 너도나도 더 좋은 신입들을 뽑기 위해서 서둘러 공채 기간을 잡고, 빡빡한 일정으로 모든 심사와 단계를 마쳐서 좋은 사람을 낚아 채 간다.  게임 업계에 어느정도 오래 있다보니 수천건의 이력서를 보아왔다. 준비를 잘 하고 매우 잘 쓴 이력서와 포트폴리오 구성도 있는 반면에 형편없고 무성의한 준비없는 자소서와 포폴을 들이미는 지원자들도 수두룩하다. 오늘도…

    Read More

  • 게임에 강화 실패를 넣는 것이 좋은 기획인가?

    돈을 잘 버는 게임에서 잘 돌아가고 있는 시스템이라고 그것이 좋은 시스템일까? 이미 유저한테 검증된 시스템이라고 그것을 지금 내가 만들고 있는 게임에 적용하는 것이 안전할까? 게임을 만들 때 기획을 적용하다보면 이러한 고민을 접할 때가 있다. 강화 시스템이 있는 게임에 “강화 실패”를 넣는 것이 좋을까? 회사가 돈을 많이 벌기 위해서는 강화 실패를 넣는 것이 좋다… 라는 말을 한다. 과연 그럴까?…

    Read More

  • 렌더링 파이프라인의 좌표 공간들

    렌더링시에 Object가 화면에 나오기까지의 좌표 공간들을 이해하는 것은 게임이나 Graphics 관련 개발에서 필수이다. 그 좌표계들을 나누는 방식과 이름 불리워지는 방식은 여러가지가 있지만 대게 아래와 같이 5개로 나눈다. Model(Local) SpaceWorld SpaceView(Camera, Eye) SpaceClip SpaceScreen Space 그림으로 표현하면 아래와 같다.  버텍스 데이터가 최종 Pixel로 화면세 표현되기까지의 공간 변환들인데, 이 각각의 변환들은 Matrix 연산에 의해서 이뤄진다.  Model(Local) Space 는…

    Read More

  • 반올림, Rounding vs Banker’s rounding.

    C#(.Net)에서 반올림의 Default는 banker’s rounding이다. 이에 대해 인지하지 못하면 조금 황당한 결과를 얻게 된다. Banker’s Rounding은 반올림을 하는 자리의 수가 5 즉 가운데일 때, 가장 가까운 짝수로 변경해주는 반올림이다. 아래 소숫점 첫자리를 반올림하는 경우를 보자. 0.5 는 가장 가까운 짝수인 0으로, 1.5 는 가장 가까운 짝수인 2로 2.5 는 가장 가까운 짝수인 2로 3.5 는…

    Read More

  • 좋은 코드는 좋은 책과 같다

    코드는 한권의 책이다. 그러므로 코드는 일기 쉬워야 한다. 책의 내용과 책의 Readability, 책의 가독성 둘다 읽기 쉬운 것에 영향을 줄 것이다. 좋은 책은 딱 집어들고 책장을 폈을 때 읽고 싶은 책이다. 좋은 책은 딱 집어들어 펴봤을 때 술술 읽히는 책이다. 좋은 코드 또한 좋은 책과 다름 없다. 코드를 열었을 때 읽고 싶은 코드코드를 열었을 때…

    Read More

  • 에너지의 근원

    열역학 제 2법칙(II Law of Thermodynamics)에 의하면 닫힌계에서 엔트로피는 증가한다. 이 때 엔트로피는 degree of disorder, 즉 무질서도를 의미한다. 물이 담긴 컵에 잉크를 떨어뜨리면 잉크가 퍼진다. 즉, 무질서도가 증가하는 방향으로 동작한다. 역으로 잉크가 섞인 물이 가민히 두었는데 잉크가 물과 분리가 되는 일은 발생하지 않는다는 것이다. 가지런히 정리해 놓은 아이들의 놀이방에 애들이 들어가서 놀기 시작하면 순식간에…

    Read More

  • 미토콘드리아

    우리 몸의 세포 안에 작은 발전소들이 수없이 많이 존재하는 것을 아는가? 바로 미토콘드리아다. 이 미토콘드리아에 대해 서술한 책을 읽어보면서 생명의 신비로움에 한발 다가섰다. 1) 미토콘드리아는 인간 안의 에너지 공장(발전소)이다. 미토콘드리아는 세포내의 한 소기관이다. 식물 새포에게도 동물 세포에게도 존재한다. 이 미토콘드리아는 영양소를 받아서 분해하여, 에너지가 가득한 분자로 만들어준다. 이런 에너지를 만드는 과정을 세포 호흡(cellular respiration)이라고 부른다.…

    Read More

  • Floating Point Number의 진실 in C#

    1996년 기아나 프랑스령 해변에서 Ariane 5 로켓이 발사되었다. 발사된지 40초가 채 되지 않아 폭발했다. 70억 달러의 개발 비용, 5억 달러 가치의 짐을 싫은 로켓이 순식 간에 공기 중으로 사라졌다.  얼마지 않아 엔지니어들은 그 폭발 원인을 밝혀냈다. 그것은 바로 다름 아닌 Integer Overflow로 인한 것이었다. 로켓의 수직 속도를 저장하는 변수가 64 bit floating point number 였는데,…

    Read More

  • 감마(Gamma) and 선형(Linear) Color Space 에 대해

    디지털 이미지들은 Gamma Encoding이 되어서 저장되어 있다. 왜?사람의 눈이 어두움에 훨씬 민감하다.그래서 어두운 칼러에는 많은 비트 영역을 할 당하고, 빛의 변화가 있는 밝은 쪽은 조금 적은 비트를 할당하여 한정된 비트를 최대한 사용하여 사람 눈과 비슷하게 저장하는 Gamma Encoding을 한다. 이렇게 Gamma Encoding된 이미지들을 모니터에서 보여줄 때는 Video Card에서 Decoding해서 최종 보정된 이미지를 보여준다. Gamma가 적용된…

    Read More