2019년 6월 11일 화요일

[20190611] Throw #3

여전히 집에만 박혀 생활하고 있습니다.

잠드는 시간과 깨는 시간이 슬슬 안정을 잡아가고 있는 덕에 약간의 활력이 돌아왔네요.
작업 시간도 조금 늘었습니다.

그동안 어지간하면 주말 이틀을 쉬어왔는데 요즘은 주말에 하루, 주중에 하루 쉬고 있습니다.
뭔가 일이 계속 반복되는 느낌과 피로감이 있네요.
익숙해지면 괜찮아지는 것인지.... 모르겠습니다.
( '_')y-~



작업 이야기로 들어갑니다.

이 일지는 6월 10일, 11일의 작업을 대상으로 합니다.

작업 내역은...
  1. 발사체를 통한 Spawn
  2. 투척 경로 산출에 굵기 속성 추가
  3. 발사체에 개선된 투척 경로 적용
...입니다.



1. 발사체를 통한 Spawn

Monster 중에 Map에 무언가를 만들어내는 녀석이 있었습니다.


바로 이 녀석 이죠.

같은 기능이 발사체에서 가능하게 작업했습니다.


원활한 Test를 위해 Dummy Item 과 Dummy Effect 가 하나씩 추가 되었습니다.
( ^_^)y-~


2. 투척 경로 산출에 굵기 속성 추가

지금의 투척 경로는 단 한 줄로만 만들어 집니다.
그런데 집어던지는 것들의 두께가 모두 같을리는 없겠죠.

그래서 굵기 속성을 추가해서 투석경로가 다양한 굵기를 가지도록 작업해봤습니다.

경로 산출을 위한 기준점을 확장하고


경로를 확장했습니다.


많고 많은~! 시행착오가 있었지만 재미 없는 부분이니까 넘어갑니다.



3. 발사체에 개선된 투척 경로 적용

2번 작업에서 확장된 투척 경로를 발사체에 적용했습니다.


그렇습니다.

미묘한 버벅임이 있네요.
Debug 모드에 Leak Detector 가 적용된 상황이지만 용서될 수는 없습니다.
조만간 만들어놓고 제대로 쓰지는 않은 Caching 기능을 적용해야겠네요.

일지는 여기까지 입니다.



요즘은 오후 6시 전에 작업이 거진 마무리 됩니다.
아침 일찍 일어난 덕분이죠.

기온이 더 올라가면 피난을 가던가 낮밤을 바꿔야 할텐데 이 생활 패턴이 얼마나 지속될런지... 모르겠네요.

다들 좋은 하루 되세요.
전 쉬러 갑니다.
( '_')y-~

2019년 6월 8일 토요일

[20190608] Throw #2

조용히 작업에만 집중하는 시간을 보내고 있습니다.

몸은 많이 회복한 것 같은데... 체력이 아프기 전의 절반이 되지 않는 것 같습니다.
이거 좀 아프네요.
전과는 다른 의미로 의욕이 넘치지만 몸이 따라오질 않습니다.

수면시간이 안정되면 얼른 산책을 시작해야겠습니다.



작업 이야기를 해볼까요.

이 일지는 6월 3일 ~ 5일, 7일, 8일의 작업을 대상으로 합니다.

작업 내역은...
  1. Interaction Process 개선
  2. Item이 활용되는 Interaction의 정규화
  3. 투척 경로 산출에 관통 속성 적용
  4. 발사체 Node 추가
...입니다.



1. Interaction Process 개선

2번 작업을 위한 준비 작업 입니다.
Interaction 처리의 주체를 ManagedActor와 Item등의 말단 객체에서 Core Data라는 이름의 Class로 대신하는 작업입니다.

주요 데이터의 저장소 또는 대리자로서 여러 객체들의 의존성 관리에 많은 도움을 줄거라 생각합니다.



2. Item이 활용되는 Interaction의 정규화

1번 작업에 힘입어 전용 코드를 사용하던 Item 과 Actor 간의 Interaction 을 정규 처리 흐름안으로 집어넣었습니다.

여기 까지 오는데 정말 많은 작업을 했지만... 이만큼의 작업을 더 해야 말끔하게 정리될 겁니다.
지금 할 것은 아니지만요.
( o_o)y-~



3. 투척 경로 산출에 관통 속성 적용

관통 Stat을 추가했고 이 것을 투척 경로 산출에 적용 했습니다.


그렇습니다.



4. 발사체 Node 추가

발사체 관련 기능은 Player A.I 에 작성되어 있었습니다.
이 기능의 폭 넓은 활용을 위해 관련 기능을 대신 처리해줄 Projectile Node를 추가했습니다.

일반화 작업이 마무리 되었으니 조만간 다른 Actor들이 Projectile Node를 활용하게 만드는 작업을 하게 될겁니다.

그 전에 발사체를 통한 Spawn 기능을 처리 해야 하지만요.
( @_@)y-~


일지는 여기까지 입니다.



함께 5년을 지내준 선풍기가 목이 부러졌습니다.
새로 살까 했는데... 올해만 그냥 쓰기로 했습니다.
몇가지 Item( ? ) 을 활용하면 그럭 저럭 쓸수는 있더라고요. @_@
개발을 마무리 하고 홀가분하게 새로 사겠습니다.

다들 좋은 하루 보내시고~!
전 쉬러 갑니다.
( '_')y-~

> 1번 고침

2019년 6월 5일 수요일

[20190605] 잡설 - 변환

"어딘가에서 곱하기는 세계의 변환이다."
...라는 문구를 본적이 있다.

그리고 그 곱하기로 이 세계, 저 세계로 굴러다니다 보면 값에 주어진 엄밀함이 맥없이 사라지는 경우가 더러 있다.

오늘 사소한 버그를 잡기 위해 엄밀함을 기대하며 산출한 값에 약간의 노이즈를 첨가했고, 알고리즘이 잘 굴러가게 되었다.
( '_')y-~

> 코딩을 어거지로 배워야 할 친구들이 이런 재미를 맛봤으면 좋겠건만
> 아마도 무리겠지.


> 3번 고침

2019년 6월 4일 화요일

[20190604] 잡설 - ...

접촉할 수 있는 거진 모든 것들을 무시하거나 방치 하면서 작업 중이다.
걱정되는 부분이 몇 곳에 있지만 진작 이랬어야 하나 하는 생각이 들기도 하고... 복잡하다.

Social Media 쪽은 완전히 놓아버렸다.
Facebook은 완전 방치 상태고, Twitter는 Pixelart 자료 수집용으로만 쓰고 있다.

지난 달의 난장 이후로 내 안에서 무언가 변한 것 으로 보이는데 지금으로서는 이게 좋은지 나쁜지 모르겠다.
차갑게 식었다고 해야 하나.
변한건 변한거니까 일단 받아들이는 수 밖에...


"작업에만 집중한다." ...가 이달의 목표다.
환경은 만들었고 재미 요소가 필요하다. 이 달안에 어느정도 모양을 뽑아보고 싶다.
( '_')y-~

2019년 6월 1일 토요일

[20190601] Throw #1

더운 계절이 왔습니다.
아직 불편한 정도는 아니지만 조만간 어딘가로 피신해야 할런지도 모르겠습니다.
작업이 가능한 커피숍을 찾아놔야겠네요.

몸은 어느정도 회복이 되어서, 어제는 "이제 좀 살만하네" 라고 생각했습니다.
하지만... 낮/밤이 완전히 바뀌어서 그닥 살만하지는 않네요.
( o_o)y-~



작업 이야기로 들어갑니다.

10일 만의 일지 입니다. 일지 간격이 좀 기네요.
잡설의 작성이 뜸해져서 더 긴 것으로 느껴지는군요.

이 일지는 5월 22일의 일부, 23일, 25일 ~ 29일, 31일 그리고 6월 1일 작업을 대상으로 합니다.

작업 내역은...
  • Item Throw를 위한 모든 것
...입니다.


몸이 엉망인 덕분에 작업 시간은 50시간 정도로 짧았지만 일은 많이( ? ) 진행되었습니다.
오늘 일지는 이 작업에서 중요했던 순간들을 몇 개 짚는 것으로 작성해보려 합니다.




1. 위치를 특정한다.

무언가를 던지려면 던질 위치를 특정할 필요가 있습니다.
그것에 최적화된 도구는 Mouse 입니다.

Mouse 위치를 활용할 수 있게 관련 기능을 손 봤습니다.


이렇게 Test Scene에서 확인이 가능하지요.



2. 선을 Grid로 변환 한다.

공간이 특정 크기로 규격화 되어 있는 게임이다보니 Ray 를 활용한 간편한 충돌대상감지는 Game에 맞지 않습니다.

그리하여 시작점과 끝점을 지정하면 그것을 Grid 공간의 경로로 변환하는 기능을 만들었습니다.


Twitter에 이 영상을 올렸더니 어느 외국인 친구가 뭐하는 게임인지 전혀 모르겠다고 하더군요. @_@



3. 유의미한 경로로 제한 한다.

Grid Data의 정보를 참고하여 경로가 벽을 뚫고 가지 못하도록 제한 하였습니다.


이정도면 발사체의 이동 경로로는 충분해 보입니다.



4. Inventory 와 연계하여 경로를 보여준다.

Test Scene에서 만든 기능을 Game에 얹었습니다.


경로용 Tile이 이상하죠?



5. Tile 을 넣어본다.

급하게 Tileset을 만들어서 적용 했습니다.


자리잡기 용도라서 특별한 것은 없습니다.
이거 작업하다가 Tile Build 관련 Bug를 하나 잡았습니다. ( ^_^)y-~



6. 발사체를 이동한다.

발사체 노드를 경로에 맞춰서 이동 시켜봤습니다.


여러 시행착오 끝에 마음에 드는 이동 속도를 찾았습니다.



7. 때린다.

무수한 Item 관련 Refactoring과 Data 재설계 끝에 지정한 장소에서 공격 판정을 만들어 냈습니다.
( '_')y-~


여기 까지 진행하면서 이전 일지에서 언급했던...

  • Item, 행동, 대상의 3가지 조합으로 Item활용을  처리 하는 것

...이 완전히 확립되었습니다.

Damage 가 정상표시 되지 않는 것은 Item과 Actor간의 공방 처리가 정규처리를 따르지 않고 별도의 처리 로직을 가지고 있기 때문입니다.

지난번에 관련 기능을 만들면서 Item 관련 기능은 손보지 않았는데요. 지금 저 녀석을 제대로된 처리 흐름안에 포함하기 위해 여러 부분을 갈아 엎는 중입니다.

일지는 여기 까지 입니다.




어제는 이 달 들어 처음으로 산책을 했습니다. 1.5km의 짧은 거리였지만 산을 오르내리는 거라서 나름 운동이 되었네요.

일지를 5월 31일에 작성하고 싶었는데 낮/밤이 뒤집히다보니 6월 1일에 와서야 작성했습니다.
지난 일지에서... "일지 간격이 10일 씩 되는 것은 좀 아니다 싶었습니다." ...라고 적었는데... 뭔가 스스로에게 면목이 없군요. @_@

다음 일지는 이른 시기에 작성해보겠습니다.

일교차가 좀 있는데 다들 감기 조심하시고 좋은 하루 되세요.
전 잠깐 쉬고 다시 일하러 갑니다.
( '_')y-~

2019년 5월 22일 수요일

[20190522] 회복중

회복중입니다.

뭘 먹어도 이상하게 느끼던 혀가 점차 정상작동 함에 따라 식사량이 약간 회복되었습니다.
수면패턴은 완전히 망가져서 비몽사몽 하고 있네요.
산책은 5월들어 전혀 하지 못했는데 조만간 시작하려고 합니다.



작업 이야기를 해볼까요.
일지를 며칠 후에나 쓸 수 있을거라 생각했지만 그냥 쓰기로 했습니다.
일지 간격이 10일 씩 되는 것은 좀 아니다 싶었습니다.

이 일지는 5월 15일 ~ 17일, 20일 ~ 21일 그리고 22일의 작업 일부를 포함합니다.

작업 내역은...
  1. Neutral Actor 2종 추가
  2. 다양한 Item 사용 방식 제공을 위한 Item Data Update 및 관련 기능 Refactoring
  3. Item 던지기 기능( 작업중 )
...입니다.



1. Neutral Actor 2종 추가

지난 일지에 남긴 Neutral Actor 2종 추가 작업의 여세를 몰아 2종을 더 작업했습니다.

< Cactus 03 >

< Weed 02 >

Weed_02 는 딱히 컨셉을 만들거나 한 것은 아니었지만 선인장을 3종이나 추가했는데 저 녀석이 1종만 있는 것은 뭔가 형평성에 문제가 있다는 생각이 들어서 작업해봤습니다.

지난 작업의 2종과 이번에 추가된 2종이 어우러져 현재 게임은...


...이런 모습입니다.

적절히 난잡해서 만족스럽습니다.
( ^_^)y-~



2. 다양한 Item 사용 방식 제공을 위한 Item Data Update 및 관련 기능 Refactoring

기존에 장비는 착용하고, 음식은 먹고, 주문서는 읽는 식으로 한 가지 아이템에 한가지 행동을 지원했습니다.

여기에 약간의 변화를 줘서 아이템을 활용한 여러가지 행동이 가능하도록 Item Data를 확장 했습니다.

암묵적으로 정해져 있던 아이템을 활용한 행동들이 이제는...

  • 아이템
  • 행동
  • 대상

...의 3가지를 조합해서 활용될 수 있습니다.

관련된 U.I 도 조정해서 Table에서 행동을 지정하면 Inventory에서 관련 행동을 위한 버튼이 활성화 됩니다.

이 작업은 3번 작업과 연관되어 있으니까 여기까지 적고 넘어갑니다.



3. Item 던지기 기능( 작업중 )

Player에게 전략적인 선택지를 제공하기 위해 범용적인 원거리 공격이 필요하다는 생각을 해왔습니다.

그리하여 Player에게 Item 던지기 기능을 주기로 했습니다.

느릿느릿 진행된 작업은...

  • U.I 에서 "던지기" 행동의 선택이 가능하고
  • Actor가 던지는 Animation을 수행하는

...것 까지 작업 되었습니다.


던질 위치를 선택할 때 경로를 미리 보여주는 기능과 Interaction을 처리할 발사체 Object 까지 추가하면 작업이 마무리 될 것으로 보이네요.

일지는 여기 까지 입니다.



여러 날 일을 했는데 작업시간이 그리 길지 않아서 나온게 없습니다.

목표로 잡은 이 달의 작업시간은 150 시간입니다.
첫 2주를 날려먹고 지난 주는 32시간을 일해서 목표치 근처에도 가지 못할 듯 싶네요.

회복 하고 있지만 더 얼른 빨리 후딱 회복하고 싶습니다.

다들 건강 잘 챙기시고.
전 다시 작업하러 갑니다.
( '_')y-~

2019년 5월 14일 화요일

[20190514] 준비와 도루묵 사이

음...
아퍼하다 기절하기를 반복한 것 외에는 아무일도 없었기 때문인지 서론으로 쓸만한 것이 없네요.

경조사를 다녀왔고, 독감에 걸렸고, 고열로 많이 아팠고
처음 6일간 체중이 3kg 넘게 빠졌고
여전히 어지러움증이 있고
식사량은 이전의 30%가 되지 않는 그런 상태 입니다.
4월 30일부터 5월 10일까지 꼼짝도 못했네요.

덕분에 BIC 출품은 접을 것으로 보입니다.
아직 12일 정도가 남아 있지만 엉망이 된 몸으로 도무지 엄두가 나질 않네요.



일지를 쓸 것이 약간은 있으니 더 늘어지기 전에 작성해 봅니다.
이 일지는 4월 30일, 5월 4일, 7일, 11일 13일 14일의 작업을 대상으로 합니다.

작업 내역은...
  1. 시야 시스템 리펙토링 및 관련 기능 조정
  2. Input Manager에 Mouse 관련 기능 추가
  3. Monster Concept 1종 갱신, 1종 추가
  4. Neutral Actor Concept 9종 추가
  5. Neutral Actor 2종 추가
... 입니다.



1. 시야 시스템 리펙토링 및 관련 기능 조정

이 작업은 아프기 시작한 날에 시작해서, 너무 아퍼서 뭐라도 해야했던 날에 마무리 되었습니다.

public member를 남발하면서 적당 적당히 만들어 놓은 기능을 정리했고
전용 기능들을 정리, 분리해서 Player 전용 기능이 Monster의 시야 성능에 나쁜 영향을 끼치던 부분을 제거했습니다.

오랜만에 회사에서 작업하던 느낌을 좀 내봤는데... 고열에 시달리면서 작업을 했던덕에 기억이 나는게 별로 없네요.

시야와 관련이 있는 Item 사용 위치 지정등의 기능도 덤으로 조정되었습니다.


그런데 아름답게도 Bug가 보이는군요. @_@



2. Input Manager에 Mouse 관련 기능 추가

모바일 게임을 만드는게 아니라서 더이상 Touch 기반 UX를 만들 필요가 없습니다.
역사와 전통을 자랑하는 Keyboard, Mouse를 사용하도록 게임을 만들면 되는 것이죠.

그 첫 단계로 Mouse의 Key 정보를 수집해서 Push, Pressed 등의 판단에 도움을 줄 기능을 만들었습니다.

본래 이 작업은 상상속에서 조차 예정에 없었지만 몸을 추스르며 할 첫 작업이 뭐가 좋을가 생각하다가 머리는 덜 쓰고 약간의 주의만 기울이면 문제 없을 이 녀석을 처리하기로 했네요.

잘 마무리 되었고...


...이렇게 Test Scene도 추가 되었습니다.



3. Monster Concept 1종 갱신, 1종 추가

이전에 공룡 형태의 Concept 을 찍은적이 있습니다. No.30 이었죠.
그 녀석을 쓸만하게 고쳐봤습니다.

< Monster Concept No.30 >

그리고 새 형태의 Concept 을 하나 찍어봤습니다.

< Monster Concept No.31 >

모양은 나왔는데 공격 모션이 쉽지가 않아서 고민이 많이 필요합니다.



4. Neutral Actor Concept 9종 추가

Neutral Actor는 보통 풀이나 나무 같은 것들 입니다.
그런 녀석들의 Concept을 9종~! 쉽고 맘편히 찍어봤습니다.

< Neutral Actor Concept No.01 ~ 09 >



5. Neutral Actor 2종 추가

위에서 작업된 Neutral Actor Concept 중에 두 녀석은 Animation 작업을 마무리 해서 게임에 올렸습니다.

< Cactus 01 >

< Cactus 02 >

전 이녀석들이 아주 맘에 드는데... 어떠신가요?
( '_')y-~

일지는 여기 까지 입니다.



마음이 많이 좋지 않습니다.
3월의 휴식
4월의 준비
.
.
5월에는 달렸어야 했는데 독감 한 번에 계획이 다 어그러져 버렸네요.

4월 한 달 106km를 걸었습니다.
체력도 면역력도 많이 보강해놨었는데... 쓰잘데기 없네요.
허 허 허 허

한 걸음 한 걸음 몸 만들기부터 다시 시작합니다.
이건 그리 나쁜 기분은 아니군요.

하늘이 아주 좋습니다.
더워지기 전에 이 하늘을 마음껏 즐기고 싶네요.
여러분도 많이 즐기시기 바랍니다.
( '_')y-~



> 화가 치밀어 오르지만...
> 뭐 어쩌겠어.
> 아프고 말고를 내가 선택할 수는 없잖아.

2019년 5월 11일 토요일

[20190511] 잡설 - 다시

일어나야지.
다시 걸어야지.
작업을 마무리 지어야지.