2018년 11월 12일 월요일

[20181112] 진행중 x 3 : Theme : Ambush

낮밤이 바뀌고 있습니다.
모기에 물려서 연일 자다가 깼는데요, 다시 잠드는데 몇번 실패했더니 이리 돼버렸네요.
홈매트의 힘을 빌어 잘 자봐야 겠습니다.
( o_o)y-~



또 하나의 Theme 가 모양을 갖췄습니다.
<매복> Theme 입니다.

완료라고 말하지 않는 것은... 완료가 아니기 때문입니다. ㅇ_ㅇ


이 작업을 위해서...
  • Theme 설정 Process 의 조정
  • 전용 Monster 추가
  • Monster Spawn Trigger 추가
...등의 작업이 진행됐습니다.

몇가지 세부사항을 확정해야 하는데 판단 근거가 갖춰지지 않았습니다.
현재는 방 영역에 진입하면 몬스터가 Spawn 됩니다.
이 것을 "Trigger 영역 진입" 으로 조건을 바꿔야 할지 아직 정하지 못했습니다.

지켜보다가 천천히 정하려고 합니다.
( 천천히 정해야 할 것들이 너무 많아진다는 생각이 들지만 아마 기분탓일겁니다. @_@ )


몬스터는 별도의 일지로 정리 하였기 때문에 넘어갑니다.


Trigger A.I 는 아직 충분히 모양을 갖추지 않았기 때문에 이번에도 상당량의 작업을 진행해야 했습니다.

Event 도 다른녀석을 위해 만든것을 그냥 받아서 쓰고 있고, 작동 Process도 큰 룰을 아무렇지도 않게 무시하고 있더군요.

물론 제가 다 저지른 것들입니다. ( ^_^)y-~
그래서 제가 다 치웠습니다.


< 허전해서 넣는 effect 습작 >


그 밖에 눈에 보이지 않는 작업들이 여러 부분에서 진행중입니다.
  • A.I 관련 자동화 작업
  • 던전 빌딩 코드 개선
  • 던전 빌딩 관련 세부 설정의 Table Export
...등등

첫 게임과는 다르게 데이터 구조와 A.I 자동화에 공을 들이면 그 보상이 충분히 돌아온다는 것이 이번 프로젝트의 매력중 하나입니다.

지난 게임은 정말이지.... 돌려쓰기를 병적으로 거부했던지라...
A.I 나 심지어 FSM State 조차도 재사용 빈도가 적었습니다.

재사용이 되지 않으니 코드에 다 때려박아도 문제가 없었습니다.
( @_@)y-~

그렇게 스스로를 믹서기 속에 넣었던 시절과는 다르게
장르가 장르인지라 자연스럽게 시스템에 공을 들이게 되는 것이 너무 좋습니다.



이 일지는 작업 시작 전에 작성하고 있습니다.
벌써 노트북을 켠지 50분이 지났네요.

이제 Theme 설정을 위한 Data를 Table Export 하는 작업을 하러 갑니다.

좋은 밤들 되세요.
( '_')y-~

2018년 11월 7일 수요일

[20181107] Monster : Ambush Golem

한동안 잠잠했던 <미세먼지> 가 친근하게도 찾아왔네요.
꺼림칙하고 부담스러운 친구라서 가까이 두기 불편했지만 어찌해볼 방법이 없습니다.
사이좋게 지내기로 마음먹고 미뤄왔던 공기 청정기를 주문했습니다.
내돈~!~!
( T_T)y-~



Level 1 구성을 위한 작업을 여전히 진행중입니다.

최근에는 Theme 작업을 진행했지요.
Treasure 와 Trap Theme 의 형식을 간략히 잡았고
( 자세한건 지난 게시물을 참고하세요. 간략히 작성해서 공유하지 않았답니다. )
이어서 Ambush Theme 를 위한 작업을 진행하고 있습니다.

Ambush. 한글로 <기습> 또는 <매복> 정도로 부르면 될것 같은데요.

<기습> 과 <매복> 은 그것을 수행할 주체가 필요합니다.
그리하여 새 Monster 를 추가했습니다.



급하게 작업한 "Monster Concept No.18" 이 기반입니다.

Golem 형으로...
작고 가볍지만 무시하기는 곤란한
그런 느낌적인 느낌을 목표로 했습니다.

< move x 1 >

< move x 4 >

< move x 8 >

이 녀석은 전체 sprite 가 54 frame 으로 지난 작업 보다 7 frame 이 많습니다.

하지만 이번에는 frame 을 쓸때는 쓰고 아낄때는 아끼는 그런 방향으로 작업을 진행했기 때문에 마냥 무리하며 만든건 아닙니다.

위의 Move 는 아끼는 방향으로 만들어졌고 4 frame 으로 구성 됩니다.

< wakeup x 1 >

< wakeup x 4 >

< wakeup x 8 >

<매복> 을 했다면 뛰쳐 나와야겠죠?

frame 을 아낌없이 퍼부어 구성한 wakeup animation 입니다.
15 frame 으로 구성했습니다.

이 녀석을 완성하기 위해서 이전에 시도해보지 않은 풍부한 움직임을 그려야 했습니다.

완성에 대한 확신 없이 "실패하면 Effect 로 때우자" 라고 생각하며 절망적으로 작업을 시작했는데... 신기하게도 완성이 되어버렸네요.

크게 이득 본 기분입니다. ~( ^_^)~



이어서 진행할 작업은 이 녀석을 맵에 불러내줄 <Theme Object 추가> 입니다.
그러면 <Ambush Theme> 도 모양이 잡힐 겁니다.



낮잠을 3시간쯤 잤는데 덕분에 잠들지 못하고 이른 새벽부터 작업을 시작해버렸네요.
가급적 빠르게 작업을 마무리 하고 쉴 생각입니다.

다들 활기찬 하루 되세요.
( '_')y-~

2018년 11월 5일 월요일

[20181105] 진행중 x 2 : Theme : Trap

<Trap Theme> 에 대한 기본 설계가 끝났다.


현재의 모습은 위와 같이 약간은 가혹한 모습인데...

약간의 가벼움을 가미하면서 <주 Theme> 가 아닌, <보조 Theme> 로 사용하는 것이 어떨지 고민중이다.

물론 둘 다 해도 되지만, 그만큼 작업 부담이 늘어나버리기 때문에 선택장애가 오고 있다.
( o_o)y-~

이런면에선 미숙함으로 점철된 지난 게임 작업때의 내가 나은면도 있는 것 같다.
일단은 이대로 두고 넘어간다.

언제나 처럼 말이지...

> 그리고 이제 Theme 설정 자동화를 위해...
> 던전 Building 코드를 다시 또 재차 손보러 가야겠다. ( '_')y-~

2018년 10월 31일 수요일

[20181031] 진행중 : Theme : Treasure

기본 형은 나왔다.
( '_')y-~


코드는 배신 하지 않아.

설계에 고민했던 시간만큼.
딱 그 만큼의 가치를 손실없이 돌려줘.

2018년 10월 30일 화요일

[20181030] 구상 : Theme

각 공간에 Theme 를 적용함으로서 얻고자 하는 최종적인 모습중의 하나는 아래의 이미지와 같다.


이 Theme는 2가지를 필요로 한다.
  1. 특정 Object 가 배치될 장소.
  2. Object를 돋보이게 해줄 Tile.



+ Object 배치 장소의 경우.

Object는 특정 좌표를 점유할 수 있고 이는 곳 길을 막을 가능성이 있다는 것이다.
상자 같은 경우에는 열면 사라지기 때문에 상호작용을 통해서 길을 열 수 있지만, Theme 적용으로 배치될 Object 중에는 제거가 불가능한 녀석들도 포함되어 있다.


그리하여 요구되는 기능이란...
"Static 하게 길을 막을 가능성이 있는 Object" 가 "배치될 수 없는 좌표" 를 추려내는 것
...이다.

현재 공간은...
  1. "방 공간"
  2. "길 공간"
...두가지로 구분된다.

Theme 는 "방 공간" 에만 적용되는데, "방 공간" 은 내부가 직사각형 모양으로 비어있기 때문에 내부에 "길" 을 만들 필요가 없었다.
이제 "방 공간" 에 위에 언급한 "Static 하게 길을 막을 가능성" 이 생겨났기 때문에 길 데이터를 수집하고, 이 것을 Negative List 로서 활용할 것이다.


길을 생성하는 코드는 두가지가 있는데.
  1. 방 내부의 문과 문 사이를 연결한다.
  2. 방과 방 사이의 문을 연결한다.
이 경우에는 1번에 해당하는 기능을 활용할 수 있다.



+ Object 를 돋보이게 해줄 Tile의 경우

현재 Theme System은 각 "공간" 단위로 작동하고 지정된 Theme Tile 을 공간에 덮에 씌우는 형태이다.

위의 이미지에서 보여지는 것처럼 보물상자를 시각적으로 주목하게 하기 위한 기능은 "방 단위" 의 Theme System 에서는 지원할 수 없다.
"특정 좌표의 주변 Tile 을 재조정 하는 기능"
...이 필요하다.

Tile 재조정을 위한 Pivot 의 선택을...
  • Map의 Data 를 생성하는 시점에서 할 것인지.
  • Object를 배치하는 시점에서 할 것인지.
...를 선택할 필요가 있다.

Data 생성 시점에서 한다면 해당 기능을 Theme Tile System 에 통합 할 수도 있다.
Object 배치 시점에 한다면 코드 자체는 비효율적이지만 빠른 작업이 가능하다.



그러하다.
정리 다 했으니까 이제 작업하자.
( '_')y-~

> 관련 코드의 지식이 Reset 된 관계로
> 복기 차원에서 작성

2018년 10월 29일 월요일

[20181029] 잡설

아이고 제기럴.

Tile Build 관련 코드를 다시 보려니 머릿속이 백지가 되어있네. 허 허 허

( ^_^)y-~

> 읽자.
> 한 땀 한 땀.

[20181029] 잡설 : 요점

지난 게임은 구상이나 계획이 부족해서 작업이 막막했던 적은 없었다.

스테이지의...
테마를 정하고.
동선을 구상하고.
동선을 구체화하고.
방 내부의 동선을 구상하고.
타일을 디자인하고.
맵을 찍고. 다시찍고. 고쳐찍고. 그러다 타일도 고치고.
테마에 일반 몬스터가 필요하면 도트를 찍고.
A.I 를 설계 하고. 코딩하고. 테스트 하고 고치고 하고 고치고.
몬스터를 배치하고.
트랩을 배치하고.
아이템과 상점을 배치하고.
보스를 설계하고.
오지게 테스트 하고.
마지막으로 컷씬이 필요하면 만들고.

...하면 한덩어리가 끝났더랬는데 평소 쌓아온 고민과 산책때의 구상으로 어지간하면 해결됐다.

그런데...

이번 게임은 뭘 할때마다 머리를 많~~~이 굴려야만 뭐가 진행된다.

게임에 시뮬레이션 성향이 높아졌기 때문인지.
아니면 컨텐츠의 밀도가 높기 때문인지.
정확히 이유를 가늠할 수는 없다.
모르겠다기 보다는 이유가 너무 많다.

딱 한가지 확실한것이 있다면.

이 장르에서는 내가 오랜시간 쌓아온 "감각" 이라는 것이 전혀 통하지 않는다는 것이다.

지난 게임을 마무리 할 수 있었던 유일한 이유는.
초짜치고는 스테이지를 구성하는 요령을 빠르게 터득했기 때문이다.
심하게 고생했지만 어쨌든 요점이라고 부를만한 것에 도달했고 꾸역 꾸역 만들고 만들고 또 만들어서 마무리 했다.( 덕분에 게임에 눈여겨 볼만한 것이 동선 뿐이 없지만... )

이번엔 그런거 없다.
그래서 자꾸 멘붕이 오는 것 같다.
( @_@)y-~

최전선에서 컨텐츠를 이끌어나갈 요점 또는 기술.

이 녀석을 얼른 잡고 싶다.
게임이 산으로 가버리기 전에.
( '_')y-~

2018년 10월 26일 금요일

[20181026] Monster : Sentinel Golem

날씨에 몸이 그럭 저럭 적응하고 있습니다.
연신 재채기를 해대고는 있지만 이제 몸에 부담은 없네요.
적절한 가을 입니다.
( '_')y-~



Level 1 구성을 위한 작업을 진행중입니다.

유저를 맞이해줄 첫번째 던전을 위한...
  1. 정적 데이터를 동반한 간단한 진입점 구성과
  2. 연출용 Trigger 의 추가가 있었고
  3. 최초로 조우할 Monster 에 대한 작업
...까지 진행되었네요.


이중에서 오늘의 주제는 유일하게 보여주는게 의미 있는 "Monster" 작업입니다.


이전의 Concept 작업에서 만들어진 "Monster Concept No.17" 이 기반 입니다.

Golem 형으로...
기괴하지만 불쾌하지는 않은
그런 느낌적인 느낌을 전달하는 것을 목표로 신나게 작업을 진행했습니다.

< Idle2 x 1 >

< Idle2 x 4 >

< Idle2 x 8 >

하지만 작업을 진행하면 할수록...
  • 정녕 이래야만 하는 것인가.
  • "덤덤곰" 만들때 가볍게 만든다고 하지 않았던가.
  • 난 안되는 놈인가.
...같은 생각이 저를 괴롭혔는데요.

< Move x 1 >

< Move x 4 >

< Move x 8 >

27 개의 sprite 로 마무리 되었던 "덤덤곰" 과는 완전히 대조적으로
이녀석은 47 개의 sprite 가 동원되었기 때문입니다.
( o_o)y-~

< Attack x 1 >

< Attack x 4 >

< Attack x 8 >

손목과 눈, 그리고 머리를 갈아 넣은 결과물 치고는 디테일이 썩 맘에 들지는 않습니다.
그래도 느낌은 의도대로 담아낸 것 같아서 흡족한면도 있네요.

"정말 정말 다시는 여러장의  sprite 로 작업하지 않겠습니다."
...라고 다짐하고 싶지만 전 분명히 이 짓을 되풀이 할 겁니다. @_@

이 녀석 덕분에 오늘자 몸상태는 말이 아닙니다.
손목과 눈은 확실히 휴식이 필요한 상태가 되었고요.
본래 어제 작성했어야 했던 이 글도 오늘 작성하고 있습니다.
그래서 오늘의 남은 시간은 쉴 것 같습니다.



이 녀석을 만드는 과정에 이런 저런 추가 작업도 진행되었는데요.

그 중에는 A.I 관련 작업도 있습니다.

그 작업 덕분에 A.I 가 슬슬 외부 데이터의 힘으로 내부를 갈아 넣는 지경에 진입하게 되었고, 덤으로 전용으로 만들어졌던 A.I Class 를 한개 삭제할 수도 있었습니다.

앞선 작업과정에서 살살 진행해왔던 A.I 가변성을 위한 작업들이 이제 힘이 되어주는 것 같아 상당히 기쁘군요. ^_^

하지만 이 작업이 고도화 되면 될수록 툴의 필요성도 높아져갈겁니다.

데이터셋의 의미와 구조를 기억하는게 거진 불가능 하기 때문인데요.
충분히 많은 데이터셋이 광범위하게 만들어져 있고, 이미 그 녀석들도 제대로 기억하지 못합니다. @_@
그리고 그걸 매번 찾아보면서 세팅하는 것은 고문에 가깝지요. ㅜ_ㅜ

적정선에서 잘 끊어서 적당히 번거롭지만 쓸만한 시스템으로 마무리 할 수 있었으면 좋겠네요.



그럼 저는 평일의 휴식을 즐기러 가봐야겠네요.
모두들 흥겨운 불금 되세요.
( '_')y-~