2018년 12월 30일 일요일

[20181230] Gooy bye 2018!

무리한 덕분인지 토요일 하루를 온몸에 스며오는 통증과 함께 보냈습니다.
잠든것도 깬것도 아닌 기묘한 상태로 하루를 날려 버렸네요.

올해의 작업을 마무리 하던 토요일 0시쯤에는 텐션과 집중력이 최고조를 유지하고 있었던지라 작업을 접는게 몹시 서운 했었는데...

하루 크게 앓고나니 참 잘했다는 생각이 밀려 옵니다. ( o_o)y-~



작업 이야기로 들어갑니다.
이 일지는 12월 24, 25, 26, 27, 28일에 진행된 작업을 대상으로 합니다.

작업 내용은...
  1. Guard Buff 추가.
  2. Player A.I 에 "Guard" 행동 추가.
  3. Interaction Process Refactoing
  4. Silent Attack and Reaction
...입니다.


1. Guard Buff 추가.

현재 Buff 는 크게 두가지 기능을 가집니다.
  • <Stat 에 영향>을 주거나
  • 상호작용의 <판정에 영향>을 주거나
Guard Buff 는 <판정에 영향>을 주는 종류 입니다.

이 녀석을 보유하면...
공격을 받을 때 "방어율" Stat 을 기반으로 방어 성공 체크를 하게 됩니다.

이 작업은 기반 작업 이기 때문에 여기 까지만 적고 넘어갑니다.


2. Player A.I 에 "Guard" 행동 추가.

방패에 "Guard Buff" 를 추가했습니다. 그리하여...


방패를 착용하면 "Guard Buff" 가 작동하고
공격을 "막을 수도" 있습니다.

그렇습니다. ( '_')y-~


3. Interaction Process Refactoing

기존에 각 Actor 종류 별로 남발 되었던 Interaction 처리 로직을 갈아 엎어서 1개로 통합 하였습니다.

코드를 통합하기 위해서 "Action Effect Info" 에 큰 변화가 있었습니다.
이름이 "Interaction Info" 가 되었고 데이터 구조도 바뀌었네요.

주요 변경점은...
데이터가 어떤 행위의 효과만 기술하던 것을
행위 자체를 지정하게 된 것입니다.

거기에 덤으로...
많은 녀석들이 새 이름을 가지게 되었고 상당수의 녀석들은 사라졌습니다.

기반작업이므로 자세하게 적을만한 것은 없네요.
너~~~무나 재미 없으니까요. ( @_@)y-~


4. Silent Attack and Reaction

이 작업 이전에는 화면 밖의 Actor 들이 상호 작용을 하면 Game Master 가 그것을 처리 할때까지 Player 가 기다려야 했습니다.


...이렇게 말이죠.

그래서 화면 밖의 Actor 들의 상호 작용에 대해서는 Game Master 의 관리 없이 상호작용이 가능하도록 Process 를 개선하고 전체 A.I 를 뜯어 고쳤습니다.


한결 쾌적합니다.

아직 Monster 의 "공격" 에 대한 처리가 남아 있지만 현재 모습 만으로도 크게 만족 스럽네요.
Monster "공격" 을 silent 하게( ? ) 처리하는 작업은 아주 아주 큰 작업이라서 두려움에 떨고 있습니다.
상당수의 A.I 에 대한 자동화 작업이 함께 이루어질 겁니다.

토요일에 작업을 멈추지 않았다면 아마 이 작업을 이어서 하고 있었을 겁니다.
( @_@)y-~



게임이 모양을 갖춰 갑니다.

들어갈 System 은 거의 들어가 있고 남은건...
정리, 보강, 마무리 그리고 System을 Game으로 만드는 것 입니다.

흔히들 이쯤을 끝나지 않는 마지막 10% 라고들 하는데요.
그 언저리에 와 있습니다.


끊임 없이 발을 내딛고 있습니다.
끊임 없이 고민 하고 있습니다.

성대한 마무리를 할 수 있도록 내년에도 그렇게 나아갈 생각입니다.


다들 행복한 2018년이 되셨길 바라고
2019년에는 더 행복하세요.

길고 고통스러웠던 2018년에 작별을 고합니다.
( '_')y-~

2018년 12월 29일 토요일

[20181229] The dev end for this year

오늘로 올해 작업은 끝.

( '_')y-~

> 내일이나 모래쯤 개발일지까지 쓰면 진짜 진짜 끝

2018년 12월 28일 금요일

[20181228] 잡설 : 하더라

facebook에서 옮겨옴

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

흔히

개발을 시작하면서 꾸었던 꿈이 크면 클수록

더 많이 잘라내고
더 많이 고통스러워 하더라.

익숙해지고
맘편히 잘라내자.

고민은 고민대로 간직하더라도 말이지.

( '_')y-~

> ...내년엔 나도 그러자.
> ...말은 항상 쉽더라.

2018년 12월 26일 수요일

[20181226] 잡설 : 이름

20181226 AM 00:44

Refactoring 을 하며 rename 을 2시간이 넘도록 하고 있자니...

"대~~충 지어놓은 이름에 얼마나 휘둘리는가" 에 대해서 생각하게 된다.

적절한 이름과 함께 하는 Object, Process, Algorithm 은 행복하다.
코드속에서 프로그래머와 어울려 화려한 춤을 출 수 있거든.

( '_')y-~

> 기다려 예들아 모두가 함께 하는 성대한 무도회를 열어줄테니.

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

20181226 PM 05:32

refactoring 끝.

현자 타임 오신다.

( x_x)y-~

2018년 12월 25일 화요일

[20181225] 잡설 : 낙후

다른 코드들이 멀찌 감치 달려갈 동안에

가장 중요하고 핵심인 Player 관련 코드는

다른 이들의 장단에 이리 저리 휘둘리느라

이제는 꽤나 낙후된 코드가 되었다.

고생 많았네.

( '_')y-~

> 반짝 반짝 하게 만들어줄게.

[20181225] Reaction with Inventory + @

하늘에서 눈인지 비인지 모를 뭔가가 떨어지고 있습니다.

동심을 잃은 사람들은 하늘에서 떨어진 이쁜 쓰레기가...
  • 빙판길을 만들고
  • 금방 더럽혀져 눈쌀을 찌푸릴 풍경을 만들고
  • 구정물이 튀어서 차나 하의가 더러워질 환경을 조성하고
...등의 이유로 눈을 싫어하는데요.

전 그 마저도 잃은 덕분인지 아무 생각도 없게 되었습니다.
방구석에 처박혀서 일만 하고 있어서 현실 감각을 잃은 탓이겠죠?
이득인 부분입니다.
( '_')y-~



작업 이야기로 들어가 볼까요.
이 일지는 12월 19, 20, 21일 에 진행된 작업과 24일에 진행된 작업의 일부를 대상으로 합니다.

<무기 시스템> 그리고 거기 얽혀 있는 녀석들에게 가열찬 작업이 진행되었습니다.

작업 내용은...
  1. Inventory 와 Player 간의 상호작용 파이프라인 Refactoring
  2. Player A.I 에 "무기,  방패 장착, 해제" 행동 추가
  3. Player A.I Attack 에 무기 반영 및 Z 값 순간 보정
  4. Player A.I 에 "아이템 강화" 행동 추가
  5. Test를 위한 dummy item 적용 로직 조정
...입니다.
자잘하게 진행된 것들이 많아서 목록 작성하는 것도 쉽지 않군요.


1. Inventory 와 Player 간의 상호작용 파이프라인 Refactoring

이 작업은 Refactoring 작업입니다.
상당수의 Event 와 Data 를 통합하고 처리 과정을 가다듬는 전혀 아름다운( ? ) 작업이었습니다.


2. Player A.I 에 "무기 장착, 해제" 행동 추가

이전에는 Inventory 에서 무기, 방어구를 착용해도 Inventory 의 view 가 조정될뿐 Actor 단위의 행동이 없었습니다.

거기에...


...행동을 추가했습니다.


A.I 의 흐름을 조정하느라 고생을 했지만 앞으로는 쉽게 진행 될 겁니다.
그리고 모션은 확정된 것이 아닙니다. ( o_o)y-~


3. Player A.I Attack 에 무기 반영 및 Z 값 순간 보정

장비한 무기를 공격 과정에서 보여주는 작업입니다.


Player Avatar 에 무기 관련 Node 를 만들고 거기에 무기 Resource 를 붙였습니다.
이 것으로 공격 과정에서 제대로 무기를 보여주는 것이 가능해졌네요.

"Z 값의 순간 보정" 은... 공격 상태에 진입하면 주변의 녀석들에게 가려지지 않게 ...Z 값을 조정해주는 작업입니다.

방향에 따라서 적용 방식에 약간의 차이가 있지만...
"공격 순간에 적어도 동일한 Z 값을 가지고 있는 녀석들에게는 가려지지 않아야 한다."
...라는 원칙을 적용한 것입니다.

이전에 올린 Player의 공격 영상을 보면 동일 선상의 Actor 에게 무기가 가려지는 것을 볼 수 있습니다. 확인해보세욧 +_+ ( 확인하러 갈까? )


4. Player A.I 에 "아이템 강화" 행동 추가

2번 작업의 연장으로 보시면 될 그런 작업입니다.


연출에 보강의 여지가 상당히 있습니다.

손이 무던히 가는 작업인지라 진행할지 말지는 우선순위를 따져봐야 알겠네요.
일단 묵혀 둡니다. ( '_')y-~


5. Test를 위한 dummy item 적용 로직 조정

이 작업은...
"게임오버되면 Inventory 와 장비 아이템을 초기화 하는 시스템"
...을 작업 하다가 충동적으로 진행했습니다.

본래 저장된 Play Data 를 로드하는 과정에서 Inventory 에 dummy item 들을 우겨 넣었는데요.( Dicer Project 에서 그대로 가져왔..... )

게임 시스템의 흐름과 맞지 않고( Roguelike 의 특성 - 획득 아이템 초기화 )
테스트 과정에서 미묘하게 걸리적 거리는 부분( 사용한 아이템이 다시 채워지지 않음 )
...도 있고 해서 간단히 조정해봤습니다.

기존에 코드에 박혀 있던 Item 목록들이 json 파일로 export 되었고
Inventory 에 우겨넣는 시점이 던전 입장 직전으로 변경되었습니다.

"Test Code 라도 유지보수는 반드시 진행된다." ...는 교훈을 되새기는 과정이었습니다.



어제는 13.5 시간을 작업했습니다.
연말이 되면 어떤 결말을 맞이하고 싶어하는 습성이 있는 덕분인지 무리하게 되네요.

오늘은 잠이나 자면서 보낼까 했는데...
1시간 정도 들여서 어제 마무리 하지 못한 작업을 치우고 밀린 일지를 쓰고 있습니다.

가까운 시일에 몇 일 푹쉬려고 생각중입니다.
그때까지는 달립니다.

다음 작업은 <방어 행동 추가> 입니다.
( '_')y-~

2018년 12월 24일 월요일

[20181224] 잡설 : 수렁

PM 05:06

어째 점점 수렁에 빠져드는 기분인걸.

멍청했던 과거의 내가 발목을 잡고 안놔주네.

( '_')y-~
---------------------------------

PM 09:59

오랜시간 방치했던 장막을 들췄더니 일거리가 폭포수 처럼 솟아올랐다.

올 해 안에 어떤 도달점에 다다르고 싶었기에 달렸다.

13.5 시간이 경과한 지금...

어떠한 도달점에도 도착하지 못했다.

기절 했다가 일어나면 26일이 되어 있으려나.

뭐... 적절하군.

( '_')y-~

> 일지는 쓰고 달렸어야 했는데...
> 할 것이 너무 많았다.
> 일단 쉬자.

2018년 12월 22일 토요일

[20181222] 잡설 : 손모가지

facebook 에서 옮겨옴.

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

손모가지가 시큰거려서 잠이 안온다.

일거리가 쌓여있는데...

휴식을 약간 가져야 하려나.

( '_')y-~