빌드는 111123, 버전은 0.5 입니다.

변경점은 다음과 같습니다.

- 팀 로고 적용
- 게임 메인 로고 적용
- 던지는 폭탄 구현

눈에 띄는 버그는 현재 발견되지 않았기 때문에 0.5로 공식 버전업을 실시합니다.

팀원들의 시험준비, 입사교육 등으로 어수선한 와중에도 프로젝트가 묵묵히 앞으로 나아가고 있는 점이 매우 다행스럽고, 감사합니다.

그래픽 디자이너를 정식 팀원으로, 그리고 새 프로그래머를 추가 영입하여 현재 우주고양이 팀의 멤버는 총 5명이 되었습니다. 수익 발생시 정확하게 다섯 똥가리 내서 가릅니다. 역할분담, 기본적인 향후 개발 컨셉에 대한 기획서는 작성중에 있고요...

 최근 나름 두목고양이로서 제 역할이 무엇일까 생각해 봤는데요, 누군가 "넌 하는 게 뭐냐?" 라고 물어봤을 때 명확하게 할 말이 없을 것 같다는 생각에 흠칫 놀랐습니다. 팀 작업에 투자하는 시간이 적은 것도 아니고, 회사 일이 끝나면 뭔가 팀 관련 작업을 하고 있는데 뭔가 눈에 보이는 게 참 없네요.

"1차 구현 코딩은 내가 거의 다 했어!!!"라고 외치기엔 이미 수정되고 최적화 되면서 뒤집힌 코드들이 "증거 대 봐"라고 외치는 것 같고... 기획서가 뚝딱뚝딱 나오는 것도 아니고 요즘 코딩하는 것도 거의 없지요; 억울합니다. 아씨 나 그래도 뭔가 하는데...;

전 팀원들에게 비전을 보여줍니다. 장미빛 미래가 됐건 게임의 기본 컨셉이 됐건... 그 속에서 쿤과 지코가 태어나고 열혈 코딩이 이루어지고 새로운 도전이 시작됩니다. 음, 전 그렇게 믿고싶네요 헤헷.

 
Posted by As Kafka
새 버전이 릴리즈 되었습니다. 빌드1111, 버전 0.4 입니다.

변경사항은 아래와 같습니다.

- 충돌체크 로직 최적화
- 운석 특성화(파괴/관통 운석의 구별)
- 난이도 증가 기준이 점수에서 플레이 시간으로 변경
- 우주배경 경계선 플리핑 현상 해결, 추후 우주배경 다중 레이어화 검토중

개발은 순조롭게 진행되고 있습니다. 그리고 이번 주말에 있을 팀 미팅을 통해 첫 공식 릴리즈 시기와 포함 컨텐츠에 대한 윤곽도 잡아나갈 예정입니다.

초기 컨셉으로부터 구현 '시도'만으로 1년 가량이 걸렸습니다. 그동안 어떤 팀을 구성해도 하지 못했던 일을 단 3개월만에 이렇게 뚝딱뚝딱 해낼 수 있다니, 그저 지금의 스페이스캣 팀원들에 감사할 따름입니다(옵빠가 월급받으면 고기라도 사줄게영 ㅠㅠ).

팀 스페이스캣에는 페이스메이커도 있고 이노베이터도 있고 스태빌라이저도 있습니다. 그리고 우리 팀은 지금 위대한 일을 하고있습니다. 
Posted by As Kafka


드디어 버전업이 되었습니다. 0.05 올라간 v0.35. 변경사항은 다음과 같습니다.

- 시작 애니메이션 Ready - Go 구현완료.
- 다중충돌 구현 완료(약간 버그있으나 곧 수정 가능)
- 에너지바 로직 개선(Draw ->CCProgressTimer)
- 터치 필살기 구현(필살기 사용하면 운석을 3개까지 직접 터치해서 터트릴 수 있음)
- 메뉴 인터페이스 개선
- Game Center 연동, 리더보드, 도전과제 구현 완료
- 트위터 연동 기능 구현완료. 적용은 보류

사실 들어간 기능만으로 치면 0.4는 물론, 0.5라고 해도 부족함이 없겠지만 두 운석을 동시에 쳤을 때 게임이 다운되는 문제때문에 기본적인 게임플레이 개선이 많이 미뤄지고 곁다리만 늘어난 형태가 되어버렸습니다. 그래서 차마 0.4로 하지 못하고 소심하게 0.35로 버전을 잡았습니다.

허나 이 근본적인 문제가 해결 직전에 도착한 만큼 곧 버전업을 할 수 있을 것으로 보입니다. 곧 그래픽 확정 (에 가까운)이미지까지 적용될 예정이고요.

트위터의 경우 기능 구현은 얼추 완료됐지만 다른게 더 급해서 일단은 빼고 나중에 다시 작업하는 걸로 했습니다.
Posted by As Kafka
이건 그냥 기록을 위해 살짝...

내부적으로 버전관리중인 v0.3-3.7.2 버전의 테스트를 진행중입니다. 뭔가 안정적으로 구현되는 게 하나라도 있어야 버전업을 할 텐데...

 일주일 넘게 매달린 것 같은데 아직 2차, 3차 충돌 판정에서 오류가 나타나고 있습니다. 현재 나타나는 주요 문제점은 2콤보, 3콤보 판정이 가끔 수 초간 지연되어 표시되는 점입니다. 일단 지연 판정이 생기면 그 뒤 판정은 대부분 함께 지연되는지라 머리가 아프네요. 충돌체크의 경우 이미 제가 1차로 구현한 방법에서 한참은 더 들어가버렸기 때문에(이미 제가 한 건 거의 흔적도 남지 않았죠) 오늘 중으로 리드 프로그래머의 친절한 주석이 달려야 소스 짜집기를 시전할 수 있을듯 합니다.

전 오늘 구현 가능한 기타 요소 및 문서화 작업에 몰두해야겠네요. 
Posted by As Kafka
안녕하세요.

cocos2d 프로젝트와 트위터를 연동하는 방법을 간단하게 정리해볼까 합니다. 하지만 이 방법은 iOS5에서 정상적으로 실행되지 않으니 참고만 해주셨으면 좋겠네요. 혹시 xcode4.2 + ios5 조합에서 제대로 연동에 성공한 분이 계시다면 의견 부탁드립니다.

뭐가 문제였는지 모르겠지만 처음부터 다시 하니 xcode4.2 + ios5에서도 잘 되네요;;;;;


먼저, 제가 참고한 소스들입니다. 저는 저 소스들로부터 짜집기 해서 제가 원하는 결과물을 얻었습니다.

http://www.iphil.co.uk/index.php/2011/02/integrating-twitter-and-cocos2d-oauth/
https://github.com/bengottlieb/Twitter-OAuth-iPhone
http://www.playngive.com/blog/2010/5/2/twitter-integration-with-cocos2d-and-twitter-oauth-iphone.html
http://www.icodeblog.com/2010/09/16/dealing-with-the-twitter-oauth-apocalypse/ 


제가 이번 글을 통해 구현하고자 하는 것은 버튼 클릭이나 특정 조건을 만족시켰을 경우 트윗 전송 메서드가 호출되어 특정 메시지를 자동으로 전송해주는 것입니다. 버튼만 누르면 묻지도 따지지도 않고 그냥 정해진 문자를 트윗하는 거죠.

그럼 먼저 필요한 준비물부터 챙깁시다.

2번째 링크에서 파일을 다운받습니다. 왼쪽 상단에 ZIP 이라고 돼있는 버튼을 누르시면 되겠습니다. 그리고 압축파일에 있는 Twitter+OAuth 폴더를 프로젝트로 드래그해서 추가합니다.

 
그리고 프레임워크에 libxml2.dylib 파일을 추가합니다.  기본 리스트에 없으면 add other에서 아래 경로의 파일로 수동 지정 해줍니다. 저는 ios5에서 했습니다.
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/usr/lib


 다음으로는 Header Search Paths 에 아래 경로를 추가해줍니다.
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/usr/include/libxml2

 

다음으로는... 아래 링크로 가서 앱을 등록하고 컨슈머 키와 시크릿 키값을 받습니다.
https://dev.twitter.com/apps




이제 코드 만지기 전에 할 일은 끝났습니다. 프로젝트의 AppDelegate를 수정할 차례군요. 헤더파일로 갑시다.


#import <UIKit/UIKit.h>

#import "SA_OAuthTwitterController.h"

#import "SA_OAuthTwitterEngine.h"


@class RootViewController;

@class SA_OAuthTwitterEngine;


@interface AppDelegate : NSObject <UIApplicationDelegate, SA_OAuthTwitterControllerDelegate> {

UIWindow *window;

RootViewController *viewController;

    SA_OAuthTwitterEngine *_engine;

}


@property (nonatomic, retain) UIWindow *window;

-(void) twitterAccountLogin;


@end


SA_OAuthTwitterEngine 관련이랑  twitterAccountLogin 메서드 부분만 추가해주시면 됩니다.
추가하셨으면 이제 AppDelegate.m 부분으로 갑니다. 메서드 추가해야죠 ㅎ_ㅎ
요로코롬 추가합니다. define 에는 위에서 받은 키값들을 넣어주세요.

#define kOAuthConsumerKey @"컨슈머 키값"

#define kOAuthConsumerSecret @"컨슈머 시크릿값"


-(void) twitterAccountLogin {

    UIViewController *controller = nil;

    if (!_engine) {

        _engine = [[SA_OAuthTwitterEngine alloc] initOAuthWithDelegate: self];

        _engine.consumerKey = kOAuthConsumerKey;

        _engine.consumerSecret = kOAuthConsumerSecret;

        

        controller = [SA_OAuthTwitterController controllerToEnterCredentialsWithTwitterEngine: _engine delegate: self];

    }

    

    if (controller)

    {

        NSLog(@"트윗 실패!!");

        [viewController presentModalViewController: controller animated: YES];

    }

    else {

        NSLog(@"트위터는 트윗트윗 하고 웁니다 _");

        [_engine sendUpdate: [NSString stringWithFormat: @"@asreanet 짱멋짐 >.<"]];

    }

}



그리고 여러분의 프로젝트에 메서드를 추가해줍니다. 추가하실때 AppDelegate 임포트 잊지마시고요.
메서드 호출하는 부분은 적당히 앱 디자인에 맞춰 추가하시면 됩니다. 저는 임시로 게임오버 메서드 안에다 [self twitter]; 이렇게 추가했네요.

  -(void) twitter {
  [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"postToTwitter"];

    [[NSUserDefaults standardUserDefaults] synchronize];


    AppDelegate *myApp = (AppDelegate *)[UIApplication sharedApplication].delegate;

    [myApp twitterAccountLogin];

}

 
이쯤 해서 실행하시면... 처음에 인증하고 메서드 두번째 호출부터 트윗이 되긴 되는데 계정 정보 저장이 안 되는 고로 앱을 껐다가 다시 켜면 새로 인증을 하게 되는 번거로움이 있습니다. 여기서 꼼수를 좀 씁시다. 

맨 아래쪽(4번째) 링크로 가신 다음 스크롤 쭉 내리시면 맨 밑에 소스파일을 다운받을 수 있는 링크가 있습니다. 거기서 tweet.h, tweet.m 파일만 가져와서 프로젝트에 추가합니다.

그리고... AppDelegate.h 에 한 줄 추가합니다.

NSMutableArray *tweets;

AppDelegate.m 에서는 아까 집어넣은 Tweet.h 임포트 하시고 아래 코드를 와장창 때려넣습니다.

고백컨데 다른 부분도 그렇지만 특히 이 부분은 어디서 무슨 기능을 하는지 잘 모른 상태에서 퍼와서 집어넣은 것입니다. 보시면서 이건 필요없겠다 싶은 부분은 과감히 지워주세요.
 


#pragma mark SA_OAuthTwitterEngineDelegate


- (void) storeCachedTwitterOAuthData: (NSString *) data forUsername: (NSString *) username {

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

[defaults setObject: data forKey: @"authData"];

[defaults synchronize];

}


- (NSString *) cachedTwitterOAuthDataForUsername: (NSString *) username {

return [[NSUserDefaults standardUserDefaults] objectForKey: @"authData"];

}


#pragma mark SA_OAuthTwitterController Delegate


- (void) OAuthTwitterController: (SA_OAuthTwitterController *) controller authenticatedWithUsername: (NSString *) username {

NSLog(@"Authenticated with user %@", username);

tweets = [[NSMutableArray alloc] init];

//[self updateStream:nil];

}


- (void) OAuthTwitterControllerFailed: (SA_OAuthTwitterController *) controller {

NSLog(@"Authentication Failure");

}


- (void) OAuthTwitterControllerCanceled: (SA_OAuthTwitterController *) controller {

NSLog(@"Authentication Canceled");

}


#pragma mark MGTwitterEngineDelegate Methods


- (void)requestSucceeded:(NSString *)connectionIdentifier {

    

NSLog(@"Request Suceeded: %@", connectionIdentifier);

}



- (void)receivedObject:(NSDictionary *)dictionary forRequest:(NSString *)connectionIdentifier {

    

NSLog(@"Recieved Object: %@", dictionary);

}


- (void)directMessagesReceived:(NSArray *)messages forRequest:(NSString *)connectionIdentifier {

    

NSLog(@"Direct Messages Received: %@", messages);

}


- (void)userInfoReceived:(NSArray *)userInfo forRequest:(NSString *)connectionIdentifier {

NSLog(@"User Info Received: %@", userInfo);

}


- (void)miscInfoReceived:(NSArray *)miscInfo forRequest:(NSString *)connectionIdentifier {

NSLog(@"Misc Info Received: %@", miscInfo);

}

 

 

 여기까지 하시면 정상적으로 되긴 되실텐데 아마 경고가 좀 있을 겁니다. 최종적으로 하실 일은...
MGTwitterEngine 에 있는 MGTwitterXMLPhaser.h 에다가 
<NSXMLParserDelegate요거 하나 추가해주시면 되겠습니다.


이렇게 해주시면... 모든, 또는 대부분의 경고가 사라집니다.

동작 테스트 결과 잘 되네요. xcode4.1에서 작업하고 4.2에서 구동하니 잘 안 되던데 아예 처음부터 4.2에서 작업하니 잘 되는군요;;;

긴 글 읽어주셔서 감사합니다. 복받으실 거에요 ~_~



 
Posted by As Kafka
이전버튼 1 2 이전버튼

블로그 이미지
서둘지 말되 멈추지도 말라 SIN PROSA SIN PAUSA
As Kafka

달력

 « |  » 2024.4
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

글 보관함