기획자 본인만큼 잡다한 블로그

Python 3.x curses 라이브러리에서 한글 출력 - Windows 10

By  | 2017년 12월 13일 | 
Python 3.x curses 라이브러리에서 한글 출력 - Windows 10
배경 설명 이직 후 여러 가지 작업을 하고 있는데 그 중 서브 작업으로 간단하게 파이썬 툴을 만들던 중, 윈도우 환경 터미널에서 키 입력을 바로 받고 싶은 간단한 문제에 봉착했다. curses 라는 라이브러리를 깔았지만 한글 출력이 잘 보이지 않았다. 인터넷에는 관련된 레퍼런스가 없어서 못 찾다가, 반나절 동안 삽질 후 해결책을 여기에 공유한다. 핵심 요약 addstr() 대신 addch() 를 사용해서 한 글자씩 출력하자. [optional] 터미널 글씨체를 래스터 글꼴로 바꾸자(굴림체 등의 경우 글의 끝부분이 잘릴 수도 있음). 상세 어떤 숫자를 입력받을 때 보통 알고리즘 문제 같은 곳에서는 이렇게 입력을 받는다. n=int(input()) 그

NDC2016 보충자료 - 3. 맵 생성 절차

By  | 2016년 11월 7일 | 
NDC2016 보충자료 - 3. 맵 생성 절차
이번에는 지난 NDC2016 발표의 "맵 생성 절차"(59~69p.)에 대해서 좀 더 자세한 글을 써보려고 한다. 59페이지를 그대로 가져와보면 다음과 같다. 이 단계들에 대해 차례대로 설명하려고 한다. 1. Poisson Disc Sampling 맵에서 비교적 균일한 간격으로 노드를 선택하기 위한 방법이다. 완전한 랜덤이 아닌 이 방법으로 선택한 노드는 보기에도 좋고 활용도 편리하다. 하나하나의 노드가 도시나 별이라고 하면 서로 너무 멀거나 너무 가깝지 않은 적당한 거리를 유지할 수 있기 때문에 자연스럽기도 하다. 아래 그림에서 가장 오른쪽이 Poisson Disc Sampling 으로 생성한 노드들이다. 이미지 링크 Disc Sampling 이라는

cuda 사용하기

By  | 2017년 3월 3일 | 
1년 전에 발표를 위해 세팅했던 내용인데, 오랜만에 Anaconda2 를 실행해보니 4.0.0 버전은 메모리 릭이 엄청나게 발생해서(16 기가 중 15 기가를 잡수심), 지우고 최신 버전인 4.3.0을 설치하니까 메모리 릭 문제가 해결되었다. 하지만 그것 때문에 1년 전에 세팅해놓았던 theano 개발 환경이 날아간 상황... 복구에 너무 삽질을 많이 했는데, 특히 cuda 를 사용하는 법을 까먹어서 찾느라 고생했다. 예전에 봤던 블로그 글은 지워져 있고, 그래도 다행히 하나가 남아 있어서 여기에도 링크를 남겨놓는다.

Brawl Stars - 슈퍼셀. 더 이상 시간으로 여는 상자는 없다.

By  | 2017년 7월 11일 | 
Brawl Stars - 슈퍼셀. 더 이상 시간으로 여는 상자는 없다.
그 유명한 슈퍼셀의 신작이 캐나다 앱스토어에만 소프트 런칭을 해서, 캐나다 앱스토어 계정을 만들고 플레이해봤다. 게임은 역시 슈퍼셀답게 무척 중독적이고 재밌다. 그런데 이런 뻔한 얘기를 하려고 글을 쓴 것은 아니고... 브롤 스타즈 내가 이 게임에서 제일 놀랐던 건 오버워치 같은 실시간 PVP 멀티플레이를 채택한 것도 아니었고, 모바일에서 가상패드 혹은 드래그를 쓰는 불편한 조작을 망설임없이 선택한 점도 아니었다. 그것은 바로 슈퍼셀의 세계적 히트작이자 바로 전작인 <클래시 로얄>을 해봤던 사람에게라면 너무나도 익숙한 상자, 시간이 지나면 열리는 상자가 사라졌다는 점이었다. 클래시 로얄의 상자 사실 시간으로 열리지는 않지만 상자가 있긴 있다. 이 상자는 100골드를

NDC2016 보충자료 - 2. 타일 맵 구현 실제

By  | 2016년 11월 5일 | 
NDC2016 보충자료 - 2. 타일 맵 구현 실제
지난 글에 이에 이번에는 실제 NDC2016 발표에서 타일 맵을 어떻게 구현했는지에 대해서 살펴보겠다. 타일 리소스는 게임업계의 저명한 인사인 Daniel Cook 이 무료로 공개한 타일셋을 가져왔다. 게임에 사용하는 무료 리소스가 올라오는 opengameart.org 에는 이 타일셋을 32 x 32 크기로 수정한 버전이 있는데 이것도 참고했다. 일단 내가 사용할 타일셋을 만들었는데 아래 그림과 같다. 가운데에 있는 벽돌은 이 예제에 사용한 유닛들과 느낌이 어울리지 않아서 결국 사용하지 않았기 때문에 기본 타일 종류는 풀(초원), 길, 물의 3종류다. 풀과 길은 이전 글에서 설명한 2-corner 타일로 서로 경계면이 부드럽게 연결되는 타일 조각들로 이루어져 있다. 하지만 물은