전체 글 275

This project is out of date

VisualStudio에서 작업을 하다보면 "This project is out of date"라는 메세지가 뜨면서 프로젝트가 계속 빌드되는 경우가 있다. 경험상 이런 경우의 원인은 크게 2가지인데, 첫번째는 특정 소스파일의 시간이 잘못된 경우이고, 두번째는 VisualStudio의 솔루션에는 파일이 등록되어 있는데 실제로는 파일이 없는 경우이다.후자의 경우는 빌드 로그를 아주 자세하고 빡세게 돌리면 검출할 수 있으나 수백~수천줄의 빌드로그를 일일히 확인하기는 쉽지 않다. 그래서 검색해보니 "Show Missing Files"라는 좋은 플러그인이 있다.링크https://visualstudiogallery.msdn.microsoft.com/900b48cc-52b5-4afa-b4db-f1c3655c32aa사..

Game Dev/Work Log 2016.04.27

VisualAssist의 대안?

개인적으로 VisualAssist에서 가장 많이 사용하는 기능은 "Open files in solution"과 "Switch header and source" 2가지이다. 하지만 집에서는 VisualAssist를 구매하지 않았으니 과자를 찾기보다는 무료로 이용할 수 있는 대안을 찾아보았다. 링크 : https://visualstudiogallery.msdn.microsoft.com/cfdf85c2-aaa4-4bdd-b8ea-e22bcc9860af기능 : 솔루션에 있는 파일을 찾을 수 있는 다이얼로그를 제공함사용법위 링크에서 플러그인 다운로드 및 설치VisualStudio를 켠 후 메뉴의 Edit > Find and Replace > Quick Find File 선택VisualAssist처럼 "Alt + ..

Game Dev/Work Log 2016.04.26

우리동네 음악대장

하현우나 국카스텐이라는 그룹의 음악, 음색, 목소리에 대해서는 원래 잘 모르니... 그런데 고음을 부를 때나 자기 감정에 취해 있을 때 나오는 제스쳐는 잘 숨겨지지 않는데, 유튜브를 여러번 보니까 손가락으로 하늘을 가르키는 저 제스쳐를 굉장히 많이 하는 것 같네. ("걱정말아요 그대" 부를 때도 저 제스쳐는 자주 나옴) 얼마전에 스틸하트 보컬이 번개맨으로 나왔을 때도 목소리와 제스쳐로 많은 사람들이 알아봤다고 하고~ 역시 대단한 네티즌들.

Daily 2016.03.13

안드로이드 스토어 "키워드 스팸" 거부

취미로 동생과 만드는 게임이 있는데 이래저래 여러 사정이 있어서 많이 완성하지 못하고 퍼블리시를 결정했다. (가장 큰 원인은 알지못하는 AdSense 계정 정지) 개발자콘솔에서 "알파테스트"로 되어있던 것을 드디어 "프로덕션"으로 바꿨는데... 몇시간 후에 이런 메일이 도착했다. XXXXXXX 개발자님, 안녕하세요.Google Play에 앱을 제출해 주셔서 감사합니다. 을(를) 검토한 결과 수정해야 하는 몇 가지 키워드 스팸 문제가 발견되었습니다.앱을 제출하여 다시 검토를 받으려면 다음 단계를 따르세요.개발자 콘솔에 로그인하고 스토어 등록정보의 번역문에서 모든 관련 없는 키워드를 삭제합니다.앱을 검토하고 키워드 스팸 정책과 개발자 프로그램 정책에 열거된 다른 정책을 모두 준수하는지 확인합니다.앱을 제출합..

Game Dev/StarCrush 2016.02.22

cocos2d-x + Android 조합에서 File IO 주의점

1. Android는 Linux처럼 파일에 대소문자를 구분한다. (하지 않을 때도 있다.) 일반적으로 윈도우에서는 파일의 대소문자를 구분하지 않는다. 하지만 안드로이드에서는 파일 대소문자를 구분한다. 따라서 코드에서는 "asset.png"로 읽고, 실제 파일은 "Asset.png"로 만들었다면, 로딩이 제대로 안 될 수 있다. (Sprite 같은 경우는 바로 크래시가 발생하였음) LogCat으로 로그를 보면 "xxx Possible missing file"과 같은 로그가 뜨는데, 기본적으로 안드로이드와 cocos2d의 로그가 너무 많아서 찾아보기도 힘들다. 개인적으로 진행하고 있는 프로젝트에서는 애셋 목록을 코드가 아닌 텍스트 파일에서 읽는 것을 고려하고 있기 때문에 고민하다가 cocos2d의 FileU..

Game Dev/StarCrush 2015.02.04

UTF-8 파일 만들기

rapidjson으로 File Serializing을 하다가 일부 경우에 파일이 깨지는 문제가 있었다. 원인은 Ascii 파일에 대해 여러 Encoding으로 내용을 쓰다보니 생긴 문제였다. "A.txt" 파일에 Ascii 문자로만 내용을 씀 (BOM 없음)다시 "A.txt" 파일에 WideChar 내용을 씀 2에서 쓴 글자가 깨짐 rapidjson에서는 파일을 저장할 때 FileStream을 쓰는데 FileStream의 생성인자로 FILE*를 넘겨줘야 한다. 이 FILE*를 강제로 UTF-8 BOM을 추가해서 열어주면 될 것 같아서 검색을 해보니, fopen에 "css" 인자를 넣어줄 수 있다고 하더라... fopen(&fp, "newfile.txt", "w, ccs= encoding "); // 단 ..

Game Dev/Work Log 2014.11.05

x64와 x86에서의 float 연산

간단하게... QA에서만 재현되는 버그가 있었음Debug/Release 모드 차이인 줄 알았었는데 아님확인 결과 x64(=개발환경), x86(=배포환경) 차이문제가 된 부분의 로직은 페이지를 계산하는 것int page = std::ceil(input / (float)10);다음과 같은 시도 중 하나를 통해서 해결 가능ceil을 사용하지 않는 로직으로 변경#pragma optimize("", off)로 로직을 감쌈 (이유는 모르겠음)로직 전후로 Log를 찍음 (이유는 모르겠음)(float)10을 (double)10으로 변경하지만 문제는 4-1이었음http://stackoverflow.com/questions/22710272/difference-in-floating-point-arithmetics-betwe..

Game Dev/Article 2014.10.30

VS2013에서 .props 파일을 이용해서 프로젝트 관리하기

진행 중인 개인 프로젝트에서 Multi-thread Rendering을 해보기로 결정했다. 그런데 DX9 기반이라서 그런지 MT Rendering을 위해서는 많은 많은... 암초들이 있었다. (Buffer lock 등) 그래서 지금은 Engine DLL 프로젝트만 있던 것을 "RendererDx9 + Others"로 분리하기로 했다. (Device도 Render Thread에서만 생성하는 등 완전히 분리하기 위해)막상 새 프로젝트를 만들자니 속성 세팅하는 것이 귀찮아졌다..props를 적용하기로 했는데 방법을 잘 몰라서 검색하였다. 짜잔!http://www.dorodnic.com/blog/2014/03/20/visual-studio-macros/그림도 자세하고, 이보다 더 자세히 설명하기는 힘들듯...

Game Dev/Work Log 2014.08.22

2014 브라질 월드컵 원정기 - 준비물

저는 평상시에도 여행 갈 때 짐을 정말 적게 싸는 편인데... 이번에도 마찬가지였습니다. 가방 : 캐리어가 없어서 의정부에 있는 샘소나이트 매장에서 가장 큰 사이즈로 구매했습니다. 아울렛이 있는 곳이어서 저도 20%였나 30% 할인 받은 것 같네요. (약 20만원 초반) 전기 아답터 : 브라질은 오래된 곳에서는 110v을 쓰고, 비교적 새 집에서는 220v를 씁니다. 110v는 우리나라 예전 사용하던 돼지코를 그대로 이용하면 되는데, 220v는 코드 구멍이 3개입니다. (우리나라는 2개죠.) 신경쓰기 귀찮으면 여행용 아답터 하나 사면 110v도 되고 220v도 되서 편합니다. 저는 브라질용 220v 따로 사가지고 갔는데 그럴 필요는 없더라구요. 옷걸이 : 혹시 호텔 등에서 빨래할 일이 있으면 옷걸이가 있..

Hobby/Football 2014.07.24