전체 글
-
Blit FBO카테고리 없음 2017. 8. 11. 23:41
FBO(Framebuffer Object) 를 다른 FBO로 Blit 하는 방법입니다. 인터넷에서 FBO Blit 찾으면 그냥 glBlitFramebuffer 를 사용하라는 것을 처음에 접하게 됩니다. 근데 OpenGl 의 대부분 사용법이 그렇듯이 사용 차례를 잘 지키지 않으면 삽질 시작합니다. glViewport 설정 : 이 부분에서 제일 삽질했습니다. 대부분 예제가 GL_READ_FRAMEBUFFER, GL_DRAW_FRAMEBUFFER 만 나와있고 Viewport 설정에 대해서는 별로 나와있질 않아서 2일 동안 삽질했네요 ㅠㅠ dest framebuffer의 크기로 glViewport 설정 GL_READ_FRAMEBUFFER src FBO로 설정 GL_DRAW_FRAMEBUFFER dest FBO로..
-
Lua 정적 분석기(전역변수 사용 detection)카테고리 없음 2017. 6. 26. 22:30
local 로 선언되거지 않거나 g_ 로 시작하지 않는 선언되지 않는 global 변수를 찾아서 화면에 표시한다 #!/home/nop/lua-5.0/bin/lua --[[ Usage: lualint [-r|-s] filename.lua [ [-r|-s] [filename.lua] ...] lualint performs static analysis of Lua source code's usage of global variables.. It uses luac's bytecode listing. It reports all accesses to undeclared global variables, which catches many typing errors in variable names. For example: ..
-
cocos2dx 에서 스텐실(ClippingNode) 사용하려면개발/Android 2016. 1. 29. 17:13
libcocos2dx org.cocos2dx.libCocos2dxActivity.java 에서 아래 부분을 if (isAndroidEmulator()) this.mGLSurfaceView.setEGLConfigChooser(8, 8, 8, 0, 0, 0); 다음과 같이 고쳐준다 //if (isAndroidEmulator()) this.mGLSurfaceView.setEGLConfigChooser(5, 6, 5, 0, 0, 8); 그러고나서 ClippingNode 를 사용해야 android 에서 잘 돌아감
-
TTF 용량 노가다 없이 줄이는 확실한 방법카테고리 없음 2016. 1. 21. 21:58
요약 정리1. python 을 설치한다. 2. https://pypi.python.org/pypi/FontTools 을 다운받는다.3. 압축을 풀고 윈도우 '명령 프롬프트'(도스창) 에서 해당 디렉토리로 이동 후, setup.py install 을 친다. 그러면 FontTools 가 python 에 설치된다.4. 툴이 설치된 위치는 %PythonDir%\Scripts 이다. (예를들면 C:\Python27\Scripts)5. 위 디렉토리에 TTF 파일과 사용할 문자가 저장된 텍스트파일 (반드시 UTF-8 형식으로 저장)을 넣는다6. pyftsubset input.ttf --output-file=output.ttf --text-file=subset.txt7. 위와 같이 입력하면 input.ttf 에서 su..
-
게임내 자원에 관하여게임기획 2015. 10. 28. 21:58
1. 자원이 연관된 컨텐츠간에 "비교"가 이루어지는지를 보고 컨텐츠를 묶을지 분리할지 판단 가능하다. => 예를들어 연구를 하는데 돈이 필요하고, 건설을 하는데에는 목재가 필요하다면 이 둘의 컨텐츠는 자원에 의한 유저 판단이 불필요하다. 때문에 분리해도 무방하다. => 또 다른 예는 건설연구와 무기연구 둘 다 돈이 필요한 경우에는 같이 묶어서 보여줘야 한다. 비교하는 행위가 재미있는 것이다. => 이러한 과정을 통해서 나온 결과물이 보통 RPG에서 사용하는 스킬트리다. 스킬포인트를 분배 해야 하는데, 어떤걸 찍느냐에 따라 게임의 플레이 방향이 달라지는 식이다. 이때 스킬포인트는 자원이고, 비교 대상 컨텐츠는 스킬들이다. 2. 자원타입이 많은 경우에도 유저가 "비교" 행위를 하지 않는다면 분리해서 보여준다..
-
디렉팅에 관하여게임기획 2015. 10. 28. 21:49
1. 디렉터는 자신이 만들 제품에 대해서 고민을 하여 제품의 핵심가치를 정의한다. 2. 디렉터의 작업물은 제품이 핵심가치를 만족시키기 위한 요구사항과 제약사항 리스트이다. => 그래야 작업자가 요구사항, 제약사항 내에서 작업을 진행 할 수 있다. => 모든 것이 오픈되어 있는 상태에서는 제품이 나올 수 없다. => 모든것이 중요사항이라는 것은 중요한것이 아무것도 없다라는 뜻이다. 3. 디렉터는 작업자의 결과물이 요구사항과 제약사항을 만족하였는지 평가해야 한다. => 그래야 프로젝트가 올바른 방향으로 간다. => 만약 결과물이 요구사항과 제약사항을 지켜서 나왔는데도 불구하고 핵심가치를 만족시키지 않는다면 요구/제약사항을 잘못 정의했는지도 모른다.
-
컨텐츠의 수직확장과 수평확장게임기획 2015. 7. 22. 10:33
게임 컨텐츠를 확장하는 2가지 방법! 수직확장상위 컨텐츠를 추가한다.보통 PvE, 성장형 게임들에서 많이 쓰는 방법이다. 원래 50레벨이 만렙인데 그것을 70레벨로 확장하면서 기타 다른 부수적인 컨텐츠를 추가한다. 상위레벨던전, 상위레벨아이템, 상위레벨 몬스터등등. 유저는 상위컨텐츠를 즐기기 위해 성장한다! 수평확장새로운 동급 컨텐츠를 추가한다.보통 PvP 게임에서 많이 쓰는 방법이다. 컨텐츠 추가가 플레이어간의 밸런스를 무너뜨리지 않기 위해 잘 밸런스해서 넣어야 욕을 안먹는다. 롤을 예로 들면 새로운 캐릭터를 추가하는 형식이다. 새로운 캐릭터가 추가 되었지만 다른 캐릭터들과 거의 동급의 능력을 갖거나, 상황에 따라 유용한 캐릭터인 경우가 대다수이다.
-
게임컨텐츠가 만드는 플레이패턴의 확장게임기획 2015. 7. 22. 09:43
한줄 요약 : 롤은 최고의 게임인듯! 보통 하나의 게임에는 한 가지의 플레이패턴이 존재하고 이 플레이패턴을 즐기면서 플레이어는 재미를 느낀다.유명 시뮬레이션 프렌차이즈인 '아노' 시리즈를 예로 들어보자. 이 게임의 최종 목표는 적국 보다 더욱 빨리 성장하여 무력으로 이기거나 승리 퀘스트를 달성하면 된다. 이 게임의 주된 플레이패턴은 시민들이 원하는 자원을 생산하여 그들을 만족시켜 상위단계의 건물을 짓는 것이다. 상위단계의 건물은 다음 단계의 자원생산건물을 지원하거나 좀 더 좋은 성능의 배나 유닛을 생산 가능하게 한다. 여튼 이런 게임인데, 이 게임을 한번 하고 나면 플레이어는 이 패턴에 익숙해져서 다시 하고 싶지 않게 된다. 때문에 개발사에서는 다양한 시나리오를 제공하거나, 다양한 승리 퀘스트를 제공하는..