회사 차리고 이런저런 삽질하다가 게임 하나를 개발 마무리 중입니다. (성인게임!)
http://www.facebook.com/puzzlegirls
페이스북 아이디 있으시면 좋아요 한 번 눌러주세요^^///
다음 주 마케팅 시작합니다!
'개발노트'에 해당되는 글 8건
사장을 능가하는 열화와 같은 성원에 힘입어-_-b 스킨을 고쳤습니다.
우측 캐릭터는 주인공으로 성인도 안된 주제에 무식한 검과 도끼로 적들의 이마를 내리까는 재주를 가졌습니다.
안타깝게도 게임 캐릭터 사이즈가 작아 바스트 모핑이나 핀치라 등등은 불가능하니 기대를 버리세요.
열심히 만드는 중입니다. 뭐 업체탐방 그런거도 하고 싶지만
[그는 방을 본 후 눈물을 훔쳤다] 어덯게든 되겠지유~ 뭐. 아햏햏... 세상사 다 그런 겁니다.
아 그리고 이건 개인적인 설문조사이니 많이들 참가해주시면 보상 그런거 없고 제가 기분이 좋습니다.
설문) 온라인 홍보에 사용하면 좋것다 싶은거 2개 골라주세요.
1. 캐릭터 윈도우 바탕 화면
2. 캐릭터 윈도우 아이콘
3. 캐릭터 인형 놀이
4. 배경음악 mp3 서비스 및 벨소리
5. 캐릭터 핸드폰 바탕 화면
6, 웹 만화
7. 삽화가 들어간 단편 소설
물론 이거 고른다고 해서 이 중에 하나라도 절대 사용된다는 보장은 없습니다만 참고용은 될지도 모른다능..
..아니면 별 수 없다능...그리고 덧글 안 달면 스킨 수정 안할거라능 ㅠㅠ
무거운 발걸음으로 으리으리한 퍼블리셔 사옥을 방문한 나무 늘보씨
이개인 대리와 이개인 대리의 상사와 함께 회의실을 지나 으슥한 곳에 위치한 휴게실로 들어갔습니다.
........흑흑. 아래 이미지 두장으로 40분간 있었던 취조 과정을 설명할 수 있겠군요. 취조 내용 전문을 유출하는 건 국가보안법 위반 이래서 어쩔 수 없이 요약했습니다.
아무튼 이개인 대리님의 넓으신 아량으로 개발기간을 더 얻을 수 있었습니다. 훌쩍.
P.S 1차 퍼블리셔의 난도 비슷하게 진행되었었습니다(...)
이개인 대리와 이개인 대리의 상사와 함께 회의실을 지나 으슥한 곳에 위치한 휴게실로 들어갔습니다.
........흑흑. 아래 이미지 두장으로 40분간 있었던 취조 과정을 설명할 수 있겠군요. 취조 내용 전문을 유출하는 건 국가보안법 위반 이래서 어쩔 수 없이 요약했습니다.
전

후

아무튼 이개인 대리님의 넓으신 아량으로 개발기간을 더 얻을 수 있었습니다. 훌쩍.
P.S 1차 퍼블리셔의 난도 비슷하게 진행되었었습니다(...)
무한정 딜레이 되는 개발일정. 급기야 퍼블리셔의
이 개인 대리(가명. 31세. 미혼. 카드 할부 값 300만원)가
카나페 게임즈 대표 나무늘보에게 핫 라인을 연결하는데...
이 개인 대리(가명. 31세. 미혼. 카드 할부 값 300만원)가
카나페 게임즈 대표 나무늘보에게 핫 라인을 연결하는데...

"늘보씨. 내일 오후 두시까지 출두 하세요"
올것이 왔다!!!
시무룩한 얼굴로 소환에 응한 나무늘보씨.
"개발 스케쥴이 왜 자꾸 연기 된 겁니까?"
"하루에 3미터도 안 움직인다는 게 사실입니까?"
"할 말 없습니다. 마이크 치우세요. 카메라 좀 비켜주세요"
과연 카나페 게임즈의 운명은 어떻게 될 것인가...
(다녀와서 계속 업데이트...)


시무룩한 얼굴로 소환에 응한 나무늘보씨.
"개발 스케쥴이 왜 자꾸 연기 된 겁니까?"
"하루에 3미터도 안 움직인다는 게 사실입니까?"
"할 말 없습니다. 마이크 치우세요. 카메라 좀 비켜주세요"
과연 카나페 게임즈의 운명은 어떻게 될 것인가...
(다녀와서 계속 업데이트...)
편의상 아래는 반말입니다. 메모형식으로 적어뒀다가 나중에 한가해 지면 초보 위피 개발자를 위해서 자료를 정리해서 공개할 예정입니다. ARM에 어울리는 for문 사용법이나 memcpy와 memmove의 차이점과 효용성 등, 초보들의 고민인 속도와 메모리 절약에 도움이 되는 정보들을 소개할 예정입니다.
위피C는 동적 할당 메모리를 간접 포인터로 연산. 사용예는 아래와 같다.
int FileBufferID, bufferPointer;
FileBufferID= MC_knlCalloc(sizeof(int)*10000);
bufferPointer= (M_Byte *)MC_GETDPTR(FileBufferID);
라고 할당 하면 일반 C 함수의
int *FileBuffer = new int[10000];
와 같이 메모리가 할당되고 사용할 수 있게 된다.
하지만 여전히 불편하다.
FileBufferID 는 위피가 자체적으로 관리하는 메모리의 인덱스 값이고 bufferPointer는 위피 메모리 관리자에게 FileBufferID가 어디있는지 알아온 실질적인 주소값이다. 사용할때는 이 bufferPointer를 사용한다.
문제는 bufferPointer는 순수한 주소값이기 때문에 int test = FileBuffer[20]; 같이 쉽게 쓸 수는 없다.
int test;
memcpy(&test, bufferPointer+(sizeof(int)*20), sizeof(int));
위와 사용해야한다. 구조체의 경우도 마찬가지다.
예제 (GAME_DATA구조체를 10000개 생성하는 법과 20번째 구조체 값을 얻어오는 방법)
typedef struct _GAME_DATA
{
PLAYER_DATA player1;
PLAYER_DATA player2;
int tick;
}GAME_DATA;
int FileBufferID, bufferPointer;
FileBufferID= MC_knlCalloc(sizeof(GAME_DATA)*10000);
bufferPointer= (M_Byte *)MC_GETDPTR(FileBufferID);
GAME_DATA test;
memcpy(&test, bufferPointer+(sizeof(GAME_DATA)*20), sizeof(GAME_DATA));
조금 불편해 보인다. 하지만 조금 쉽게 사용할 수 있는 방법이 있긴 하다. 이건 다음에 설명.
컴팩션이 일어나면 포인터의 주소가 바뀌기 때문에 주의해서 써야 한다. 하지만 쫄아서 애초부터 정적 할당
을 남발하지는 말자. 우리는 메모리 관리가 생명이니까.
맘편히 사용하려면 언제 컴팩션이 일어나나 마음졸이지 말고 데이터에 접근할때마다 매번 포인터를 갱신만
해 주면 된다.
즉, bufferPointer= (M_Byte *)MC_GETDPTR(FileBufferID); 이 구문을 사용직전에 매번 호출해 주면 된다.
위피C는 동적 할당 메모리를 간접 포인터로 연산. 사용예는 아래와 같다.
int FileBufferID, bufferPointer;
FileBufferID= MC_knlCalloc(sizeof(int)*10000);
bufferPointer= (M_Byte *)MC_GETDPTR(FileBufferID);
라고 할당 하면 일반 C 함수의
int *FileBuffer = new int[10000];
와 같이 메모리가 할당되고 사용할 수 있게 된다.
하지만 여전히 불편하다.
FileBufferID 는 위피가 자체적으로 관리하는 메모리의 인덱스 값이고 bufferPointer는 위피 메모리 관리자에게 FileBufferID가 어디있는지 알아온 실질적인 주소값이다. 사용할때는 이 bufferPointer를 사용한다.
문제는 bufferPointer는 순수한 주소값이기 때문에 int test = FileBuffer[20]; 같이 쉽게 쓸 수는 없다.
int test;
memcpy(&test, bufferPointer+(sizeof(int)*20), sizeof(int));
위와 사용해야한다. 구조체의 경우도 마찬가지다.
예제 (GAME_DATA구조체를 10000개 생성하는 법과 20번째 구조체 값을 얻어오는 방법)
typedef struct _GAME_DATA
{
PLAYER_DATA player1;
PLAYER_DATA player2;
int tick;
}GAME_DATA;
int FileBufferID, bufferPointer;
FileBufferID= MC_knlCalloc(sizeof(GAME_DATA)*10000);
bufferPointer= (M_Byte *)MC_GETDPTR(FileBufferID);
GAME_DATA test;
memcpy(&test, bufferPointer+(sizeof(GAME_DATA)*20), sizeof(GAME_DATA));
조금 불편해 보인다. 하지만 조금 쉽게 사용할 수 있는 방법이 있긴 하다. 이건 다음에 설명.
컴팩션이 일어나면 포인터의 주소가 바뀌기 때문에 주의해서 써야 한다. 하지만 쫄아서 애초부터 정적 할당
을 남발하지는 말자. 우리는 메모리 관리가 생명이니까.
맘편히 사용하려면 언제 컴팩션이 일어나나 마음졸이지 말고 데이터에 접근할때마다 매번 포인터를 갱신만
해 주면 된다.
즉, bufferPointer= (M_Byte *)MC_GETDPTR(FileBufferID); 이 구문을 사용직전에 매번 호출해 주면 된다.
-나무늘보 씀
첫 소개글에서도 밝혔다시피 저희는 가난하기 때문에 남들 히레까스 먹을때 로스까스 먹고 남들 돌솥비빔밥 먹을때 양푼이 비빔밥을 먹으며 연명하고 있습니다.
그리고 요즘 들어서는 밥 먹을 돈이 없어서 빵으로 연명하고 있는 중입니다만, 같은 것만 먹으면 지루하기 때문에 오늘은 '파리x게트'의 야심작. 이름도 찬란한 '황금돼지빵'을 구입했습니다.
왠지 모르게 시선을 피하며 부끄러워 하는 모습의 친구였습니다.
그래서 슥슥 메이크업을 해 봤습니다.
...우훗. 좋은 남자
그랬더니 조금은 개성이 있는 모습으로 변했네요.
세종대왕이 모두 내 손으로 돌아왔다.
모든것은 계획대로...
(사실은 회사의 한달 생활비)
P.S 그런데 빵 앙금이 초코라는건 누구 생각이냐, 파리 바X트!
그리고 요즘 들어서는 밥 먹을 돈이 없어서 빵으로 연명하고 있는 중입니다만, 같은 것만 먹으면 지루하기 때문에 오늘은 '파리x게트'의 야심작. 이름도 찬란한 '황금돼지빵'을 구입했습니다.

그래서 슥슥 메이크업을 해 봤습니다.
일하기 싫어서 시간이 좀 남아서 표정관리도 좀 해 줬습니다.

모든것은 계획대로...
(사실은 회사의 한달 생활비)
P.S 그런데 빵 앙금이 초코라는건 누구 생각이냐, 파리 바X트!
베타 버전 납품 약속일자가 시시각각 다가오는 가운데 각종 포션류와 두통약을 복용하며 매일 반복되는 철야로 인해 개발노트를 업데이트를 할 여유가 전혀 나지 않는 것은 아니고,
왜 이번주 들어 개발이 지지부진한고 하니 시시각각 다가오는 발렌타인데이. 하지만 우리의 기획자 제리님아는 여자친구는 커녕 휴가나온 군인에게 조차 버림받은 비운은 사나이. 그래서 자신의 인간관계에 대해 회의를 품고 최근 인간관계가 원만하지 못함의 주범 카나페 게임즈에(주 8일제. 밤 11시 퇴근) 파업으로 시위를 하는 중이기 때문입니다.
열심히 제품 프리젠테이션을 하는 늘보씨와 듣는둥 마는둥 마음은 이미 콩밭에 가 있는

이런 이유때문입니다. (늘보만 닉네임 비공개)
게다가 개발노트를 개발 일기 라고 헷갈려하는 두사람의 모습에서 연민의 정을 느껴봅시다.
게다가 개발노트를 개발 일기 라고 헷갈려하는 두사람의 모습에서 연민의 정을 느껴봅시다.
왜 이번주 들어 개발이 지지부진한고 하니 시시각각 다가오는 발렌타인데이. 하지만 우리의 기획자 제리님아는 여자친구는 커녕 휴가나온 군인에게 조차 버림받은 비운은 사나이. 그래서 자신의 인간관계에 대해 회의를 품고 최근 인간관계가 원만하지 못함의 주범 카나페 게임즈에(주 8일제. 밤 11시 퇴근) 파업으로 시위를 하는 중이기 때문입니다.
말하자면 내 마음은 콩밭에 같은 거죠.

제리씨의 모습을 이미지 화한 참고 사진
-Written by 늘보
몸상태가 정상이 아님을 깨달았습니다.
일정의 압박과 말 안듣는 외주디자이너로 인해 극도의 스트레스와 과로로 인한 뇌기능 활동 저하...
같은 실없는 소리는 관두고. 어떤 문제가 있었냐면
코드들 약 500줄을 추가 했는데 컴파일을 걸어보니 0 error, 0 warning, 1 complete 라는 결과가 뜨더라구요.
그래서 아, 지금 내가 제정신이 아니구나. 환각을 보고 있구나. 에러가 안뜨길 바라는 나의 내면의 무의식이 인식장애를 불러오고 있다고 판단하고 일을 접고 수면을 취했습니다.
그런데 아침에 와 보니 누가 짰는지 모를 아름다운 코드가 완성이 되어 있더라구요. 환각이 아니었나 봅니다.
이제야 왜 아티스트들이 대마나 마약을 복용하는 지 알 것 같은 기분이 들것 같기도 하네요.
일정의 압박과 말 안듣는 외주디자이너로 인해 극도의 스트레스와 과로로 인한 뇌기능 활동 저하...
같은 실없는 소리는 관두고. 어떤 문제가 있었냐면
코드들 약 500줄을 추가 했는데 컴파일을 걸어보니 0 error, 0 warning, 1 complete 라는 결과가 뜨더라구요.
그래서 아, 지금 내가 제정신이 아니구나. 환각을 보고 있구나. 에러가 안뜨길 바라는 나의 내면의 무의식이 인식장애를 불러오고 있다고 판단하고 일을 접고 수면을 취했습니다.
그런데 아침에 와 보니 누가 짰는지 모를 아름다운 코드가 완성이 되어 있더라구요. 환각이 아니었나 봅니다.
이제야 왜 아티스트들이 대마나 마약을 복용하는 지 알 것 같은 기분이 들것 같기도 하네요.

도라에몽, 나 하늘을 자유롭게 날고 싶어