2018년 2월 28일 수요일

[20180228] Shape of sight

"Shape of water."
...라는 영화가 그리 잘만들었다는 소문이 들려옵니다.
얼른 스트리밍으로 나오면 좋겠네요.
맥주 한 잔 하며 즐기고 싶습니다..


시야 시스템의 기반이 완성 되었고 알고리즘의 조정도 끝났습니다.

지금은 만들어진 시스템을 적용해서 인식후 추적하는 A.I 를 만들고 있습니다.
오늘이나 내일이면 완성될 것으로 생각합니다.

< Search Pattern >

그럼 다시 작업하러 갑니다.
( '_')y-~

2018년 2월 27일 화요일

[20180227] Make new pathfinder great again~!

A* 의 경로 오차를 조정하기 위해서는 각 노드에 대한 cost 계산을 위임하고, 알고리즘의 특성인 방향성을 제거하면 됩니다.

그러면 전혀 A* 가 아니게 된다는 것이 문제 이지만 잘 돌아가는 것이 최선이지요.

그런 취지에서 경로 생성기를 하나 더 만들게 생겼습니다.


이유는 이전의 "Sight" 에서 올린 영상에서 확인할 수 있는 이동문제 때문입니다.


기존의...
그리드 기반의 전형적인 A* 경로 생성기
공간 분할 데이터 기반의 그래프 경로 생성기
...여기에 추가로 Distance map 기반의 경로 생성기가 추가됩니다.


기존 로직은 Monster 에 적용해서 값 싸게 잘 쓰고, 새 경로 생성기는 Player 에 적용하게 됩니다. 새 경로 생성기는 무겁지만 정밀한 이동이 가능할 것으로 생각합니다.


새로운 장르에 대한 도전은 정말 어렵군요.

그래도 이 고생이 액션 게임 만드는 것보다는 덜 하니까~!
버티겠습니다.

( '_')y-~

[20180227] 한계

facebook 에서 옮겨옴.

-----------------------------------------------

아무래도 인디 개발자로서의 내 한계는...
"너무 쉽게 생각한다."
...라는데 있는 것 같다.

어렵지 않게 프로토 타이핑을 해내고 일정도 얼추 맞추지만.

본 작업에 들어갔을때 스스로의 노하우 없음에 대한 패널티를 너무 무시하고 있고, 그로인해 작업량에 대한 가늠이나 일정 산출에 오차가 너무도 크다.

가본 길이 아니라서 빨리 갈리가 없는데
언제 가본적이 있는 것 마냥 쉽게 생각한다.

회사에서 일 할때는 이렇지 않았던 것 같은데...
착각인가. ( o_o)y-~

확인은 5년이나 10년후쯤... 더 작은 게임을 만들면서 해볼 수 있을 것 같다.

그 때는 한가지 작업에 집중할 수 있겠지.

( '_')y-~

2018년 2월 26일 월요일

[20180226] Sight

지난 작업 이후 Monster 에 개선된 경로생성 기능을 적용했습니다.
하지만 컨텐츠 작업을 진행하지는 못했는데요.

시야 기능에 대한 것을 완전히 잊고 있었기 때문입니다.
( @_@)y-~

그리하여 Player 와 Monster 의 시야 기능을 작업하게 되었습니다.


Player 의 시야 기능은 곧...
"시야 기반 이동"
...입니다.

시야가 밝혀졌던 장소만을 이동 장소로 지정 가능해야 하고
시야가 밝혀졌던 경로만을 이용해서 이동해야 합니다.

< Sight-based move >

작업된 결과물은 일단 작동은 합니다만 약~~~~간 손볼 것들이 있습니다.

< @#$@*#%*(@#$ >

바로 작업을 진행하면 좋겠습니다만 컨텐츠 작업을 위해 보류해두기로 했습니다.
여기에 대해서는 쓸 것이 많~~은데요. 따로 작성해보겠습니다.


다음으로...

Monster 의 시야 기능은 곧...
"Player 또는 공격가능 대상에 대한 인지"
...입니다.

이 녀석은 얼추 작업이 진행되어 마지막 작업만을 앞두고 있습니다.

< Sight of monster >

이 녀석의 작업이 끝나면 "제대로된 Monster" 를 추가 할 수 있게 됩니다.


그럼 다시 작업하러 갑니다.
( '_')y-~

2018년 2월 23일 금요일

[20180223] 알고리즘 과 도트

facebook 에서 옮겨옴.

------------------------------

도트 찍는 환경은 알고리즘을 그려가며 확인하기 참 좋다.

( '_')y-~


2018년 2월 20일 화요일

[20180220] Action with touch

드디어 touch 를 이용해서 여러가지 행동을 수행하는 작업이 진행중입니다.


우선 touch 를 통해 공격이 가능해졌습니다.

< Attack with touch >

아직 작업중이기 때문에 1번 touch 했을 뿐이지만...
몬스터를 처치하고 이동까지 해버리고 있네요. ( @_@)y-~


다음으로 touch 를 통해 이동이 가능해졌습니다.

< Move with touch >

이제야 겨우, 간신히 기반작업이 마무리 된 것 같습니다.
아... 어렵군요.


다음 작업은 Player 에게 적용된 개선된 경로생성 기능을 Monster 에게 적용하는 겁니다.
그러고 나면 본격적인 Contents 추가 작업을 할 수 있습니다.

일단 쉬어야겠습니다.
( '_')y-~

2018년 2월 19일 월요일

[20180219] 작업 시간을 줄이자.

facebook 에서 옮겨옴.

---------------------------------

작업시간을 줄이자.

최근에 일단 시작하면 10시간 이하로 일한 날이 거의 없었는데... 이건 잘못된 것 같다.

마지막 프로젝트이니 만큼 이후를 위해 충분히 건강한 몸을 만들어 두는것이 중요하니까.

침착하게 한 스탭씩 견고하게 만들되 무리하지 말자.

주 5일
일 최대 9시간.
당연한 것들을 지키자.

( '_')y-~

2018년 2월 16일 금요일

[20180216] 개선

facebook 에서 옮겨옴.

-----------------------------------

손모가지가 말을 안듣는 상황이 와버려서 경로 생성 알고리즘을 손 보면서 성능 측정을 해봤다.

순수 A* 에서 최악의 경우에 30ms 정도 걸리던 것이...
공간분할 데이터에서 뽑아낸 가이드데이터를 적용하고 났더니 2ms ~ 4ms 정도로 성능이 개선되었다.

그래도 느려 터져서 안되겠다 싶었는데, release build 에서 성능이 80 ~ 90% 정도 개선되는 것을 확인하고.... 앞으로 성능 관련 이슈는 생각도 하지 않기로 했다. o_o

기술적으로 특별할게 없는 게임이기 때문에
모바일 빌드 했을때만 약간의 주의를 기울이면 문제 없을 것 같다.

( '_')y-~

2018년 2월 14일 수요일

[20180214] 적신호

facebook 에서 옮겨옴.

---------------------------------------

체력과 손모가지가 동시에 적신호가 켜졌다.

할 일이 많은데.

아...

괴롭구나.
( '_')y-~

[20180214] 안될꺼야 아마.

facebook 에서 옮겨옴.

-------------------------------------

"사람이 한 명 더 있었더라면, 내가 알고리즘에 잡혀있는동안 컨텐츠를 뽑아줬을텐데."

...같은 생각이 드는데, 자신이 1인 개발자라면.

냉큼 컨텐츠를 반으로 자르자.

( '_')y-~


> 난 반으로, 다시 반으로, 그리고 또 반으로, 한번 더 반으로 잘라도 저런 생각이 들잖아.
> 안될꺼야 아마. @_@

[20180213] 작업중

지난 일지에서 마치 경로 구성 작업이 끝난 듯한 그런~! 그런 느낌적인 느낌이었습니다만... 여전히 관련 작업을 이어서 진행중입니다.

Test 환경에서 작성한 기능을 현재 게임 Flow 에 맞추어 사용하게 만들려니 작업이 끝도 없네요.
어 허 허 허 허 .
( @_@)y-~

눈에 보이기에 지난 작업과 달라진 것이 아무것도 없는지라 딱히 올릴 이미지도 없습니다.

내일은 정말, 진짜, Real, ほんとうに. 작업된 기능을 Actor에 적용할겁니다.

( '_')y-~

2018년 2월 12일 월요일

[20180212] Trace

일 다 끝나고 일지를 작성하면 너무나 고통스럽기에 미리 작성해봅니다.


공간 데이터를 활용해서 만들어진 경로 데이터와
A* 를 적용한 Grid 기반 경로생성 로직을 결합해서
다음과 같은 결과물이 완성되었습니다.

< Trace >

A* 를 짧은 경로에 대해서 활용하기 때문에 좀 더 낭비 없는 경로 구성이 가능하고, 프레임당 경로 탐색을 더 많이 활용가능합니다.


Test 환경을 만들어 놓으니 너무 좋네요.
마우스 클릭으로 직접, 탐색 시작, 종료 위치 등을 지정 하고 싶다는 강렬한 욕구를 느끼고 있습니다.
하지만 시간의 압박이 크기 때문에... 그런 일은 인디를 때려칠 때 까지 미뤄두겠습니다.


이제 이 기능을 Actor 들에 적용해야겠네요.

2018년 2월 10일 토요일

[20180210] 공간 데이터를 사용한 경로구성

경로 탐색 비용을 최소화 하기 위해...
분할된 공간 데이터를 기준으로 경로탐색
...하는 기능을 작업했습니다.

약간이나마 "A*" 알고리즘의 부하를 줄여줄 것이고, 덕분에 더 큰 맵과 더 많은 몬스터를 투입 가능합니다.

< Build path based on space data >

투명도가 있는 붉은 색 : 경로
파란색 : 비허용 공간

정상적으로 생성된 공간 데이터로는 경로 탐색이 실패할 수가 없기 때문에, 길이 몬스터 등으로 막혀 있는 경우를 상정하여 이런 저런 테스트 중입니다.

( '_')y-~

[20180210] 게임을 만들어.

Facebook 에서 옮겨옴.

---------------------------------

게임로직의 핵심은...
눈에 보기에 그럴싸한
현실과 비교해 크게 이질적이지 않은
...그런 결과를 도출하는 것이다.

그러니까 "최단거리" 같은거에 너무 집착하지 말자.

분할처리 하지 않는다는 전제하에 이론상 한 프레임에 100번 탐색할 수도 있으니까.

현민아~! 그렇지?
공돌이 코스프레 그만하고 게임을 만들어.
( '_')y-~

2018년 2월 9일 금요일

[20180208] 근황

지난 포스팅 이후로 약간의 여유를 즐겼습니다.

4일은 죽은듯이 지내고
5일은 그래픽 관련 동료를 구해볼까 해서 사람을 만나고
6일은 쌓여있던 피로가 터져나와서 기절해 있다가 저녁에 2시간 작업하고
7일은 작업을 하다 말다 하면서 하루를 보내고

...오늘이 되었네요.


6일 작업은 Game Progress State 에 따라서...
입력 상태에서는 HUD를 보여주고,
처리 상태 에서는 HUD를 감추는 작업
...이었습니다.
기능은 완료되었지만 HUD가 임시 상태라서 볼품은 없네요.


7일에는 Touch Input 을 위한 기반작업을 마쳤습니다.
현재 Keyboard Input 으로 되어 있는 상당량의 기능을 Touch Input 으로 전환하기 위한 작업이었습니다.

시간은 많이 들어갔지만 기존 기능을 갈아 엎은것은 아니기 때문에 역시 볼 것이 없습니다.
( @_@)y-~


8일... 오늘 하려던 작업은...
도착지점까지의 공간 Index 목록을 만드는 Graph 기반 Path Finder 추가.
Touch Input 으로 얻은 Grid Index 를 기반으로 Graph 기반 Path Finder 를 구동,
만들어진 공간 Index 목록에 aStar 기반 Path Finder를 연동해서 경로 데이터를 만들고,
그 결과물로 Player를 이동시키는 작업이었습니다.

빠른 작업을 위해 aStar Path Finder 전용 Test Scene을 하나 추가하고,
Graph 기반 Path Finder 전용 Test Scene 까지 자리 잡아놓은 후에,
본작업을 하려고 보니...

각 공간간의 연결 정보를 보강할 필요가 있더군요.
맵생성 로직을 손봐야 하는데 지난 작업 이후에 거들떠도 보지 않았더니 중요 로직에 대한 정보가 머릿속에서 말끔하게 날아가 있었습니다.

복기하면서 주석을 달고, 코드를 정리했습니다.
정리한 코드를 Test 돌려놓은 다음 끝나길 기다리면서, 이 글을 작성하는 중 입니다.

< Test x 9999 >

마침 Test 가 끝났네요.


아~!~! 할 것이 너무 많지만 벌써 12시간을 작업해버렸네요.
그러니 오늘은 이만 쉬고 내일 다시 달리겠습니다.
( '_')y-~

2018년 2월 4일 일요일

[20180203] I'm ready~!

요 며칠 많이 달렸습니다.

체력이 아슬아슬 하지만...
"물 들어올때 노 저어야 한다"
...는 일념으로 빡빡하게 작업했습니다.


"Dungeon Select Scene" 을 만들면서 잡은 기본디자인을 여러 Scene들에 적용했습니다.

< Character Select >

< Lobby >

< Dungeon Select >

기본 Design의 변형은 최소화 하고 축이되는 색상에 대한 조절에만 주의를 기울였습니다.
1인 개발의 한계를 최대한 고려해서 작업량을 줄이는 방향으로 작업했습니다.
( '_')y-~


그리고 "Dungeon Select Scene" 을 작업하며 만든 Dungeon Symbol을 활용해서 각 층의 진입 효과를 개선했습니다.

< Floor Intro >

이전에는 큼지막하게 "N층" 이라고만 표시했습니다. 이쪽이 확실히 좋네요.



다음으로 "Game Over Scene" 을 넣었습니다.
Game Process에 캐릭터의 사망을 체크하는 State 를 추가하고 Scene 전환이 가능하도록 작업했습니다.

< Game Over >

자리를 잡는 것이 주 목적이었기 때문에 글자를 띄우는 것 외에 아무것도 없습니다.
다음 작업에는 결과 화면 같은게 추가되겠죠.


마지막으로 Sprite Animation Process 를 개선했습니다.
고정 Delay 로 SpriteFrame 을 스왑했던 것을 각 Frame 별로 개별 Delay 를 가질수 있도록 작업했습니다.
간혹 크게 요긴할 일이 있을 겁니다. ( +_+)


이제 Level Design에 집중할 시간이 왔습니다.
Dungeon Building Process 도 개선하고, 터치를 활용해서 Character가 길을 찾아가는 기능도 추가하고, 몬스터도 추가해야겠네요.

그 전에 일단 내일은 쉽니다.
( '_')y-~

2018년 2월 3일 토요일

[20180203] 1 시스템, 1 게임

Facebook 에서 옮겨옴.

---------------------------------

지금 작업중인 게임이 마무리되고 한 개 더 작업할 수 있다면.

아마 볼륨은 더 작아질 것이다.

1 시스템
1 게임
이 짓을 이어나간다면 이건 철칙이다.

( '_')y-~

2018년 2월 2일 금요일

[20180202] Audio Engine

Facebook 에서 옮겨옴.

-----------------------------------------

이번 게임에는 이 두가지 오디오 라이브러리중에 하나를 적용해볼 생각이다.
( 시간에 쪼들리면 안할지도... o_o )

http://superpowered.com/
...의 SDK 는 50만 다운로드 또는 설치에 도달하지 않으면 무료다.
도달할 경우 support 로 메일을 보내 유료 라이센스로 전환해야 한다. 가격 정보는 찾지 못했다.
이번에 Windows 지원이 추가되어 모바일과 Window 환경에서 하나의 라이브러리로 사용가능해졌다.

https://www.audiokinetic.com/
...의 SDK 는 500개 이하의 음원을 사용한다면 인디또는 소규모 개발사는 무료로 사용이 가능하다.
홈페이지를 방문해서 프로젝트를 등록하면 라이센스를 보내준다.( 제한적 상용 라이센스 )
거의 모든 플랫폼을 지원한다.

어느쪽이 좋을까.
( '_')y-~

2018년 2월 1일 목요일

[20180201] 1 / 5

"루비이야기" 에서 만든 Revision History 의 1 / 5 에 도달했습니다.

그 때 보다는 더 많이 와 있는거겠죠?
( '_')y-~

< 1 / 5 >