2017년 8월 20일 일요일

[20170820] 간만의 Dot

한동안 글을 작성하지 못했습니다.
글이 작성되지 않는 다는 것은 눈에는 하나도 안보이는데...
작업량은 어마 무시한 무언가를 하고 있는 겁니다.
( '_')y-~

대강의 정리를 끝내고,
미뤄둔 dot 작업을 해야만 하는 상황이 되어 하고 있습니다. ㅇ_ㅇ

크기는 작고
머리는 크고
귀욤귀욤하게.

< Idle >

< Move >

컨텐츠를 손으로 찍고 싶지 않아서 자동화 하려고 했는데...
손으로 찍으나 자동화 하나 1인 개발이라는 한계 앞에서는 별 차이 없는 것 같습니다.

미리 깨달았어도 좋았을 것을... 오늘도 하나 배워갑니다.

2017년 8월 10일 목요일

[20170811] 고민

이쯤오면 슬슬 고민을 하게 됩니다.
적어도 혼자서 작업하는한 피해갈수 없는 고민이죠.

"이정도 품질로 마지막까지 완성할 수 있을까?"

"루비이야기" 를 만들때도 일관성과 작업 효율을 위해 많은 것을 내려놨었는데.
역시나 이 문제는 다시 마주하게 됩니다.


답은 정해져 있습니다.
"덜어내자"
( '_')y-~

어디를 어떻게 덜어내야 할 것인가...

[20170810] 구상3 ( Player )

아래의 순서와 같은 의식의 흐름에 기반한 구상 끝에.
캐릭터의 스타일이 대충 정해졌습니다.
( '_')y-~

조정의 여지가 몇가지 있습니다만.
큰 변화는 없을것 같네요.


2017년 8월 9일 수요일

[20170809] 구상2 ( Main Room )

구상중.
...사람살려.
( '_')y-~

< main room >

< 이젠 저해상도로 그림이 되는구나. ㅇ_ㅇ >

2017년 8월 8일 화요일

[20170808] 색상 선택은 너무 어렵다.

정말 다른건 모르겠는데 색상 선택은 누군가 대신 해줬으면 좋겠습니다.
( '_')y-~

이건 정말 숙련도의 한계를 느낍니다.
쓸만한 감각을 가지는데 10년은 걸릴 것 같네요.

< 256 x 208 >

< 1024 x 832 >

2017년 8월 6일 일요일

[20170807] TileSet003 - from "The Fable of Ruby"

"루비이야기" 에서 사용하던 타일을 16 x 16 기준으로 조정해서 옮겨왔습니다.
가급적 많이 옮겨다 쓸 예정입니다.

해상도를 낮추니... 정말 무시무시하게 dot 찍기가 편하군요.
( '_')y-~




[20170807] 구상 ( Main Room )

구상중...

"많이 허전하지만 하나씩 채워나가면 되겠지."
...라고 생각하고 있습니다.
( '_')y-~


그림 비슷한 것을 참 오랜만에 그립니다.

생각해보니 "루비이야기" 를 만들때는 오프닝 타이틀을 제외하면
이런 종류의 구상을 한적이 없군요.

그시절에는 1일 1그림을 다짐했던적도 있었는데도 말이죠.

종종 그려 볼까합니다.

2017년 8월 4일 금요일

[20170805] modify view of cocos2d-x 3.x display stats

cocos2d-x 로 게임을 만드는 경우 많은 사람들이...
director->setDisplayStats( true ) // turn on display FPS
...기능을 활용합니다.

보통은 아래와 같이 출력됩니다.
하단에 적절한 크기로 출력되죠.

그러나 저해상도 게임을 만들다 보면 Display Stats 가 불편할 정도로 크게 나오게 됩니다.
Display Stat의 크기는 일정한데 해상도가 작아지니 당연한 일입니다.


256 x 160 의 해상도로 만드는 게임의 화면을 봅시다.
이 화면을 보면서 개발하면 아마 눈이 빠지겠다 싶을겁니다.

그래서 Window Frame Size 를 Design Resolution 의 배수로 설정해서 큰 화면에서 쾌적한 개발을 진행하는 꼼수를 사용하게 됩니다.
제가 개발하는 게임에서는 5배가 적용되어 1280 x 800 으로 Window Frame Size 가 설정됩니다.
그리고...
그대로 커집니다. o_o

불편하죠. 매우 불편합니다. 게다가 안티가 먹어서 흉하기 까지 합니다.
그러므로 약간 손을 보기로 했습니다.
엔진 코드에는 가급적 손을 대지 않는것이 저의 원칙이지만 이 경우에는 잠시 원칙은 접어두기로 했습니다.

CCDirector.cpp 파일을 엽니다. 그리고...
void createStatsLabel();
...함수를 찾아갑니다.
중간에 보면 아래와 같은 코드가 있습니다.

float scaleFactor = 1 / CC_CONTENT_SCALE_FACTOR();

이 코드를 아래와 같이 바꿔줍니다.

float customScaleRate = ( _openGLView->getDesignResolutionSize().height / _openGLView->getFrameSize().height );

float scaleFactor = ( 1 / CC_CONTENT_SCALE_FACTOR() ) * customScaleRate;


그리고 또 아래에 보면 다음과 같은 코드가 있습니다.

const int height_spacing = 22 / CC_CONTENT_SCALE_FACTOR();

이 코드도 바꿔줍니다.

const int height_spacing = ( 22 / CC_CONTENT_SCALE_FACTOR() ) * customScaleRate;

Design Resolution 기준으로 나오는 Display Stats 를 Window Frame Size 에 맞추어 나올수 있도록 Scale 을 적용해주는 코드입니다.

그리하여 평화가 찾아옵니다.