분류 전체보기 179

Unite Korea 2014 개최 예정

올해에도 작년에 이어 유니티에서 진행하는 유나이트가 한국에서도 개최될 예정입니다. 유나이티는 유니티에서 매년 진행하는 Unity3D 관련 컨퍼런스로 여러 나라에서 진행됩니다. 이번에 진행될 유나이트 코리아 2014 행사는 서울 삼성동 코엑스 인터콘티넨탈에서 2014년 4월 9일~2014년 4월 10일 양일간 열릴 예정입니다. 기획, 아트, 개발의 세가지 주제를 기반으로 세션들이 진행될 예정이며, 현재 접수중으로 알려 졌습니다. 해당 행사에 관한 자세한 정보는, 유니티 코리아 공식 페이지의 UNITE에서 찾아볼 수 있으며, 링크는 아래와 같습니다. 행사 링크 : http://korea.unity3d.com/content/content.php?cont=unity2014

Cocos2d-x 3.0 beta2 발표

2014년 1월 27일에 Cocos2d-x 3.0 Beta2 가 발표되었습니다. 약 보름조금 넘어서 발표되었는데요, 생각보다 이번에는 업데이트가 빠르네요. 발표 소식은 http://www.cocos2d-x.org/news/179 에서 살펴볼 수 있습니다. 소식은 리카르도 퀘사다씨가 올린것으로 나오는군요. 이번 버전의 변화점은 https://github.com/cocos2d/cocos2d-x/blob/cocos2d-x-3.0beta2/CHANGELOG 에서 확인해 볼 수 있습니다. 살펴보면 일부 기능 추가와 많은 버그 픽스가 있었던 것으로 나오는데요, 주요점을 보면 게임에 따라 20%~100%의 렌더링에서의 퍼포먼스 향상이 있다고 하며, 스택에서 AutoReleasePool을 생성하는것을 지원한다고 합니다..

ARC는 가비지컬렉션이 아니예요.

2011년도였나요? XCode 4.2부터 ARC (Automatic Reference Counting)라는 기능이 추가되었죠. 일종의 메모리 관리를 자동화 해주는 기능인데, 커뮤니티 같은곳에 올라오는 질문을 보면, ARC 를 가비지컬렉션(GC, Gabage Collection)를 이용한 방법으로 오해하고 있는 분들이 있더군요. 심지어는 블로그나 다른 사이트들에도 ARC를 가비지컬렉션을 애플이 이름을 바꿔 놓은것 처럼 써놓은 글도 여럿 보이는군요. ARC는 가비지컬렉션이 절대 아닙니다! 혼동하면 안됩니다. 방식 자체가 둘이 완전히 다르거든요. Objective C는 기본적으로 Reference Counting 이라는 메모리 관리 모델을 사용합니다. Objecitve C에서만 사용되는 방법은 아니지만 (예를..

Objective C, @synthesize 사용... 이제는 쓰지 않아도 돼요!

가끔씩 맥이나 iOS 관련 개발 카페등을 보면, 2014년이 시작된 지금까지도 Objective C의 문법중 @synthesize에 관해 물어보는 분들이 계십니다. (참고로, Object C(오브젝트 C) 아닙니다. Objective C(오브젝티브 C) 입니다. 이거 헷갈리시는 분들이 있더군요.) 아마도, 조금 오래된 책으로 공부하거나(최근 책들은 보지 못했습니다만...) 예전에 작성되었던 소스들을 보면서 공부하기 때문인것 같습니다. 그런데, 사실 이제는 2012년 중반 이후로 Modern Objective C가 나온 이후 부터는 @synthesize는 더이상 사용할 일이 거의 없습니다. (정확히 버전은 기억나지 않지만 XCode 4.5정도 이후부터는 Modern Objective C가 지원 될겁니다.)..

Cocos2d-x 3.0 beta 안드로이드 빌드하기

지난번에, Cocos2d-x 3.0 베타의 프로젝트 생성 방법을 살펴봤습니다. (링크 : http://www.wingsnote.com/27) 이번 글에서는 안드로이드 빌드 하는 방법을 살펴봅니다. iOS의 경우에는 너무 간단해서 설명하지 않아도 될 것 같습니다. 그냥 생성된 프로젝트 디렉터리 중, 'proj.ios_mac' 디렉터리 내의 .xcodeproj만 XCode에서 열먼 모든게 끝나니까요. 안드로이드는, 빌드하는것이 그렇게 간단하지 않습니다. C++로 이루어진 cocos2d-x는 자바 환경이 기본인 안드로이드와는 이질적이기 때문에 NDK도 필요하고, 이클립스도 아무래도 안드로이드 전용 개발툴이 아니다 보니 이것저것 설정을 해 줘야 하거든요. (그래도 지루한 에러와의 싸움은 스트레스를 가중시키네요...

Cocos2d-x 3.0 beta에 새로 생긴 Vector, std::vector 대신 사용할 수 있을까?

이번에 Cocos2d-x 3.0 베타버전을 받아 보거나, 사이트에서 변경사항을 살펴보면, 이번 버전부터 cocos2d::Vector와 cocos2d::Map을 지원한다는 점을 봤을겁니다. 간단히 말해서, 기존의 cocos2d::CCArray (2.x) 혹은 cocos2d::Array (3.0알파) 대신에 cocos2d::Vector를, cocos2d::CCDictionary (2.x) 혹은 cocos2d::Dictionary (3.0알파) 대신에 cocos2d::Map을 사용하라는 것이지요. 그런데, 새로 생긴 cocos2d::Vector나 cocos2d::Map을 살펴보면, 마치 C++ 표준인 std::vector나 std::map과 유사하게 생겼습니다. 그래서 그런지, cocos2d::Vector 대..

Android NDK r9c 에서, std::to_string () 지원 안돼요~

Cocos2d-x 작업과 뗄레야 뗄 수 없는 NDK 빌드... 안드로이드는 기본 어플리케이션 프레임웍이 자바로 되어 있으니, C++을 사용하려면 NDK를 사용할 수 밖에 없죠. 당연히 Cocos2d-x도 안드로이드용으로 빌드하기 위해서는 NDK를 사용합니다. Cocos2d-x 3.0부터 본격적으로(?) C++11을 사용하기 때문에, std::to_string () 역시 당연히 될것이라고 생각했습니다. iOS용 빌드를 먼저하기 때문에, XCode에서도 물론 빌드도 잘 되고, 실행도 잘 되었습니다. 그러나, 잘 되겠지라고 생각한 NDK를 통한 빌드의 결과는? ...... jni/../../Classes/Game/AAAScene.cpp:204:26: error: 'to_string' is not a membe..

Cocos2d-x 3.0 beta, 멀티플랫폼 프로젝트 생성 방법 변경됨

Cocos2d-x 3.0 베타에서 멀티플랫폼 프로젝트의 생성방식이 바뀌었습니다. Cocos2d-x 2.1.4 에 있던 create_project.py를 이용한 멀티플랫폼 프로젝트 생성방식이 개인적으로 마음에 들지 않았던 점이 Cocos2d-x 엔진을 여러 프로젝트가 공유한다는 점이었거든요. 그래서, 보통 [cocos2d-x루트디렉터리/projects/내 프로젝트] 형태로 프로젝트가 생성이 되었었고, 여러 프로젝트를 만들어도 하나의 cocos2d-x 엔진을 공유하는 형태였지요. 문제는 이런방식으로 사용할 때, cocos2d-x는 하나만 있어도 되니 디스크 공간 절약도 되고, 문제있는 부분 하나만 고치면 전체 프로젝트에 적용된다는 장점은 있지만, 새 버전의 cocos2d-x가 나왔을 때 일부는 기존버전을, ..

Cocos2d-x 3.0 beta 출시!

어제인 2014년 1월 8일부로 Cocos2d-x 3.0 베타버전이 릴리즈 되었습니다. 그동안 3.0 alpha1 버전으로 오랫동안 기다렸는데요, 아마 두달 정도 기다린것 같습니. 알파에서 베타로 넘어온 이상 많은 부분의 개선이 있지 않을까 싶습니다. 자세한 내용은 http://cocos2d-x.org/news/172 에서 살펴 볼 수 있습니다. 그리고 드디어 3.0과 관련한 도큐먼트도 보강이 된 것 습니다. 사실 알파버전에서는 도큐먼트가 아무래도 많이 부족한 점이 있었죠. (대체로 샘플 프로젝트를 보면서 작업이 가능하기는 했습니다만...) (출처 : http://cocos2d-x.org/news) 공식사이트에서 설명하는 지난 3.0 alpha1 버전에 비해 개선된 주요점을 보자면, 새로운 랜더러가 드디..

2014 CES에서 발표한 인텔(Intel)의 에디슨(Edison)

임베디드 디바이스라고 들어봤나요? 요즘은 잘 안쓰는 말이지만 2000년대 초반~중반까지만 해도 전자업계쪽에서는 많이 사용하던 용어입니다. 한국어로는 내장컴퓨터라고도 했는데, 좀 억지 해석인 면이 있어서인지 잘 사용하지는 않았던 용어이고, 보통 임베디드 시스템 또는 임베디드 기기라고 많이 불렀었습니다. 쉽게 말하자면, 어떤 장치속의 컴퓨터라고 할까요? 예를 들어 보는게 쉽겠네요. 은행로비에 가면 만나는 ATM기, 자동차에 들어가는 컴퓨터, 자동차 내비게이션, 매장에 있는 POS기기(결제기기), 음식 배달하면 들고 오는 카드결제기(모바일POS)등등이 모두 포함됩니다. (뭐, 학교에서 배운 분들은 인공지능 밥통(?)같은걸로 개념 배웠다는 분들도 있더군요). 예전에는 임베디드 개발은 회사에서나 해보지 개인들이 ..