본문 바로가기

프로그래밍

NDC 2016 참관기 Day 3에 Scott Meier를 보려고 갔으나.. 화상으로 대체되어 싸인받는 건 실패 ㅋ 질문 시스템이 꽤 맘에 들었는데 직접 마이크를 주어서 질문받는 것이 아니라 ndxqna.nexon.com 페이지에 질문을 올리면 사람들이 좋아요를 누를 수 있고 좋아요를 많이 받은 질문부터 질문시간 끝나갈 때까지 대답해 주는 형태. 누가생각했는지 참 혁신적이었다. Hurdles in designing a true game about War. Based on 'This War Of Mine' Development 관심있었던 게임인 'This War Of Mine'의 기획자가 와서 강연을 해 주었다. 하지만 뭔가 많이 설명은 해줬는데 크게 와닿는 건 없는듯. 기본적인 논조는 "게임이 꼭 재미만 생각할 필요는 없다. .. 더보기
ActionScript 코딩 잡담 최근 직장을 이직하면서 요새 나의 주 언어는 ActionScript가 되었는데, 기존에는 생각할 필요가 없었던 자료구조를 다루게되어 꽤 흥미있는 코딩을 하고 있다. 그렇다고 정말 엄청난 사고를 요하는 건 아니고 단순한 내용인데 나에게만 흥미있는.. 발단은 사소한 한 가지였는데, 아트팀에서 콤보박스에 아이폰과 같은 효과를 넣기를 원했다. 예를들면 스크롤을 할 때 부드럽게 움직이는 효과를 준다던가, 혹은 지울 때 효과를 내면서 사라진다던가, 스크롤 끝에 도달하면 튕기는 듯한 느낌을 준다던가 하는 것 말이다. 스케일폼의 콤보박스는 보여줄 만큼의 아이템렌더러를 미리 확보해두고, 아이템렌더러 내부의 데이터의 변경을 바꿔서 그려주는 방식을 채택하고 있었다. 만약 내가 스크롤을 내린다면, 렌더러의 위치는 가만 놔두고.. 더보기
Nexon Developer Conference 2012 (NDC) 참관기 1-Day Track Keynote: [One Universe, Many Games] Speaker: Kjartan Pierre Emilsson (CCP Games) Eve Online과 새로 출시될 Dust 514에 대한 광고 세션. 처음엔 Blizzard 처럼 한 세계관에 다양한 게임을 말하려나 싶었는데, 그냥 MMO(Eve Online)와 FPS(Dust 514)의 결합에 관한 내용이었다. 기획자 세션이어서 그런지는 모르겠는데, 꿈은 이러저러하다 말해주는 데 어떻게에 대한 내용은 정작 없었던 강연. MMORPG의 내용이 FPS의 판도에 변화를 주고 그 역도 될 거라는 내용. 거기서 주로 예로 든게 전함이 행성에 Bombard를 할 경우 FPS에 영향을 준다고 하는데, 실시간으로 반영되진 않고 느릿느.. 더보기
How to initialize a constant class array 회사에 Visual C++ Special Interest Group이라는 메일링리스트가 있는데, 흥미있는 주제들이 오가곤 합니다. 그 중의 한 내용이 "How to initialize a constant class array"였는데, 저도 이전서부터 흥미를 가지고 있던 내용이라 참여하게 됐네요. 간단하게 VS 2010에서 아래와 같은 구문이 가능할까 입니다. · Foo() : myArray {1, 2, 3, 4} {} // constructor · array = {1, 2, 3, 4}; 결론적으로 말하면 후자만 됩니다. 전자는 Initialize lists라는 C++0x의 표준입니다. C++0x 도 요새 나오는 웹브라우저와 비슷해서 지원되는 내역이 따로 있더군요. 아쉽게도 아직 지원하지 않는다고 합니다... 더보기
게임제작에 최적화된 언어에 대한 공상 http://lameproof.com/zboard/zboard.php?id=bbs2&no=718 언어 공부를 좀 게을리 하고 있었던 것 같다. 위의 대안 중에서 대강이나마 알고 있던건 LINQ 정도가 아닐까 싶네요. 그나마 그것도 마소 빠기때문에 알았던.. 위키피데아 찾아가면서 공부좀 해야겠습니다. Coroutine은 Python을 안써봐서 몰랐는데 꽤 재미있는 개념이네요. 근데 사실 써보긴 써봤습니다. 와우 매크로에서.. 화염 작렬; 불덩어리 머 이게 Coroutine 아니겠습니까. 흠.. Lua도 있는 개념이었군요. 어쨋건 자 공부공부.. 더보기
메시지 처리기 요즘의 삽질 #1 글에서의 트랙백입니다. 결국 메시지 처리를 하되 switch~case를 없앨 수 있는 방법을 찾는 거군요. @_@ Ocaml은 안 봐서 모르겠지만.. Ocaml은 어떻게 처리하나요. 저 같은 경우는.. map을 통해서 각각 키와 함수포인터를 연결했지요. 그리고 함수포인터를 찾아가서 실행해주는 함수를 만듭니다. 예를들면 이런겁니다. struct FuncLine { string key; Func* pFunc; }; typedef map FuncMap; FuncMap funcMap; void OnAction(istream& is) {...} void OnState(istream& is) {...} void Handler::Initialize() { funcMap.push_back("actio.. 더보기
Crazy Eddie's GUI System 약칭 CEGUI라고도 불리는 이 녀석은.. DirectX8, DirectX9 의 엔진에 2D GUI를 간단하게 입혀주네요 무려 Layout Editor로 직접 보면서 편집을 할 수 있고 Lua랑도 연계를 시켜주네요. 직접적으로 C++ 과 연계되는 방법은 아직 못해봤습니다만.. 꽤 쓸만할듯하네요. 게다가 SourceForge 소속입니다 ! 실제로.. Gamebryo에서 이걸 붙여서 쓰는 곳도 있다고 하니.. 파볼만한 가치는 충분히 있을 거 같습니다 ! Wiki : http://www.cegui.org.uk/wiki/index.php/Main_Page Forum : http://www.cegui.org.uk/phpBB2/index.php?sid=765be4d830fb3b6f71e2343664b710c6 더보기
C#의 char의 크기는? 와. 깜짝놀랐네요. char은 언제까지나 1 byte가 아닙니다. C#에서 기본적으로 char(type)은 2 bytes입니다. (그말인 즉슨 C++/CLI도 char(type)은 2 byte란 말이죠.) 프로젝트 세팅에서 char를 1 byte로 만들 수도 없습니다. class String의 기본 문자(basic traits)는 2 bytes인 char입니다. 그래서 편의를 위해 byte[] System.IO.File.ReadAllBytes() 함수를 이용하여 문서를 읽었다면 byte 2개당 하나의 char로 변환시켜주는 작업을 해야 String에 입력이 가능합니다. C#은 똑똑해서 String에 byte를 += 연산자로 넣어버리면 숫자를 문자열로 서식화해서 넣어버립니다. 그래서 명시적으로 저렇게 2 .. 더보기
My C++ Tips 인클루드 순서 인클루드 순서야 정해진 룰은 없습니다. 그래도 제가 지켜서 쓰는 방식이 있는데요, 바로 미리 컴파일된 헤더에 해당하는 부분을 먼저 인클루드. 하는 겁니다. 즉, 좀 더 구체적이고(비추상적이고) 대중적인(?) 헤더를 먼저 인클루드 하는 거죠. 예를들면.. Win32 Library -> C RunTime Library -> STL Library -> Other Library -> My Library -> My Header 이런 식입니다. (아, 참고로 이 인클루드 순서는 CPP 기준입니다. 미리 컴파일된 헤더는 CPP 기준이니까요.) 무엇이 일반적이고 대중적이냐를 판단하는 가늠은 여러가지이지만.. Win32 Library는 Windows라는 운영체제 API로 OS-Dependant 하므로 제일.. 더보기
Open Subversion(SVN) Storage 무료로 제공하는 서브버전 저장공간 입니다. 안그래도 불안정하고 자주 안 켜져도 좋으니 값싸고 괜찮은 서브버전 저장소를 찾고 있었는데 괜찮은 곳이 있네요 ! https://opensvn.csie.org/ 어느 대만 대학교에서 제공하는 건가 봅니다. 딱 제가 찾고 있던 곳이라 진짜 쾌재를 불렀습니다 ! 무려 trac까지 제공하네요. https://opensvn.csie.org/traccgi/Digitz/ 그리고 SVN은 다음 주소 형식으로 나옵니다. https://opensvn.csie.org/Digitz/ 아 참고로 이 주소들은 다 제 개인적인 프로젝트들입니다. 지금은 오델로만 들어있어요. 익명 공개가 되어있으니 누구나 CheckOut 받을 수 있습니다. =-=-= 어메.. Google Code라는 것도 .. 더보기