디시인사이드 갤러리

마이너 갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

[창작,일지] 겜 개발 근황

ㅇㅇ갤로그로 이동합니다. 2024.05.24 15:54:38
조회 1149 추천 17 댓글 15
														

녹픽던 + 타르코프 같은 겜 만드는 중


원래 계획 대로면 당당하게 내 놓을 만한 데모 버전이 저번달에 나왔어야 했는데, UI 씨름하느라 벌써 계획이 엄청 밀림





45


영혼이 깎여나간다


고도로 전환한 시기가 10월, 지금 8개월 박았는데 암담하긴 함


마음의 여유가 없어서 플엑도 가려다 포기했는데, 좀 쉴 겸 올림




1. 기초적인 필요 툴 완성


요즘이야 괜찮은 플러그인들이 많이 생겨나고 있는데, 딱 내가 시작할 때 까지만 해도 뭐가 정말 없었다


그런 플러그인들이 좀만 빨리 나왔으면 시간 좀 아꼈을텐데





24b0d121e09c28a8699fe8b115ef04699531f1bb


처음에 만든건 스프라이트 아틀라스 에디터


고도 시작한 초기에 만든 툴인데, 아마 내 글 봤던 사람도 있을거임.


만든 이유는 설명하면 좀 긴데 요약하자면 pivot 수정을 용이하게 하기 위해서, 또 관리하기 편하게 하려고 만들었음






24b0d121e09c28a8699fe8b115ef046f5f4b9198


동시에 만들었던 게 유니티식 imgui, 디버깅 툴도 쉽게 만들 겸 해서 구현함


그 당시에도 찐 IMGUI를 지원하는 플러그인이 있긴 있었는데, 에디터에서 문제가 발생 시 그냥 크래시가 나버리고 뭔가 문제가 많았음






24b0d121e09c28a8699fe8b115ef046f5945989a


그리고 타일 텍스쳐 생성기. isometric은 딱 원하는 생성기를 찾지 못해서, 그냥 찾을 시간에 만들자 해서 만들었음
생성에 오류가 있긴 한데 나중에 고치자 하고 걍 쓰는 중



a15714ab041eb360be3335625683746f0053452ad6a4e289d73d60f59d1dcd6ed4b74a9101d6ad369438def16ff2


그리고 예전에도 올린 적 있는데, 맵 에디터도 만들었다.


다만 타 툴은 에디터에서 바로 만질 수 있는데, 맵 에디터의 경우는 똑같이 하려면 좀 여러 귀찮은 점이 있더라
무조건 에디터에서 돌려야 한다, 이런 규칙이 있는 것도 아니라 게임 실행 후 돌리는 것으로 만듬


이 외에도 xml 에디터 등 몇 개 더 있다


뇌절3


생산성 면에서 안 만들 수 없던 것이라 만든 걸 후회는 안 하는데, 몇 개는 플러그인 괜찮은 거 나중에 나와서 속 좀 쓰림







2. 인게임 그래픽 렌더링



아마 이게 시간 제일 많이 잡아먹었을 거임

유니티에서 고도로 넘어간 겸, 요상하게 아이소메트릭 뷰에 꽂힘. 지금 생각해보면 굳이 고집할 필요가 있을 까 싶었지만, 그땐 그랬다.




근데 이게 쉽지 않더라.


먼저, 고도는 z축을 지원하지 않음. z index의 경우 가용 범위가 너무 좁음(-4096~4096)


그래서 그나마 무난한 방식이 Y정렬을 이용한 방법이었음.



24b0d121e09c28a8699fe8b115ef046c65f728


요약하자면 해당 객체의 게임 내 위치에 따라, y 위치랑 오프셋을 요리조리 조절하는 형식이었음


그래서 긴 오브젝트는 저렇게 썰어서 표현함




그런데 이 방법을 택함에 따라, 타일맵에서 문제가 발생함


타일맵의 경우 Y정렬의 성능이 심각하게 떨어졌고(4.2 기준 해결됨)

c#에서 타일을 동적으로 수정하면 성능 상 문제가 발생했음




그래서 타일맵 타일셋 자체를 아예 새로 짰다.



24b0d121e09c28a8699fe8b115ef046c63f5214e95


예를 들어서 이렇게 렌더링을 했다 할 경우,



24b0d121e09c28a8699fe8b115ef046b656f9836

이렇게 y 위치가 같은 걸 묶어서 한 Canvasitem에서 그리게 함


기존 타일맵이라면, 100*100만 표시해도 10000개를 매 프레임마다 y정렬을 하는데,


저러면 100개만 정렬해도 되어서 y정렬 문제가 거의 없어짐



물론 C#에서 하나하나 renderingserver로 그릴 영역을 업데이트 해야 해서 성능 상의 문제가 예상되기는 하는데,
일단 프레임 드랍 하나 없이 큰 문제 없이 돌아가서 최적화는 나중에 하기로 함



16


사실 구현 자체는 하루도 안 걸렸는데, 여러 문제점을 해결 하느라 시간을 많이 잡아 먹었음. 앞으로도 계속 만져야 할 듯


그리고 이거 때문에 다음 작품은 덱빌딩 아닌 이상 3d로 하기로 맘 먹음








3. 로그라이크 턴제 시스템 구현



유니티로 만들다 유기한 전작의 경우, 지금 생각해보면 내 능력에서 벗어난 시스템이었음.


그 당시 계획이 어땠었냐면,


1. 심리스 오픈월드


2. 게임 쓰레드와 메인 쓰레드 분리. 전자는 내부 게임 로직을 막힘없이 돌리고, 후자는 게임 로직의 시그널을 받아서 ui나 게임 화면에 렌더링 할 것들을 순차적으로 해결




그래서 어떻게 되었느냐? 구현은 했지만 내 입장에서 유지 보수가 힘들 정도로 시스템이 복잡해짐


대표적으로 시야 시스템과, 몇몇 행동의 경우 여러 캐릭터들이 동시에 행동하게 보여야 한 다는 점, ui 동기화 등이 발목을 잡았음




그래서 고도로 넘어갈 때, 욕심을 그냥 다 버림.


1. 뭔 오픈월드냐, 걍 한정된 던전을 돌아다니는 식으로 하자.


2. 일단 걍 한 쓰레드에서 다 해결하자. 문제 생기면 그때 고민해보자.




동시에 행동해도 상관 없는 특정 행동,

예를 들어서 이동 같은 것이 거의 동시에 보여지는 것이 중요했음.


안 그러면 플레이어가 AI 행동들을 기다려야 하는 시간이 너무 길어지니까



그러면서 시야 시스템이 잘 작동하고, 시야 밖 요소들은 무시하거나 시간 잡아 먹지 않고, 여러 조건이 많았는데



7fed8272a8826deb3ceb87e15b857470463b75b46f7729e845712e732784baada6bc93a604758b417fe77b793a7ce238f322cde8cf2c32abd531d1759553c1f5c893404424


거의 싹 다 해결함



욕심을 버리니 훨씬 쉬워지더라.


맵도 그냥 한정된 구역만 구현하면 되고, 플레이어에게 멀어진 ai 뭐 이런거 처리 고민 안 해도 무방함.


뭐하러 첨부터 멀티쓰레드를 도입하려 했는지. 걍 순차적으로 돌려도 문제 없었음. 작업량도 크게 줄음




그 외 시간, 시야와 pahtfinding 시스템, 기초적인 AI 등 구현함


원래 빛과 소음 시스템도 계획에 있긴 한데 언제 넣을 진 모르겠다





4. UI 구현


진짜 너무 고통스러움. 다른 게 문제가 아니라 생각보다 개발이 너무 느리고 생각보다 완성품도 만족스럽지 못함


본디 목표는 작년에 푹 빠졌었던 발더스게이트 3의 반절 정도라도 구현 하자, 이런 방향성이었음


문제는 여러가지 신경 써야 할 부분이 너무 많다는 거임





그래도 진전이 보이긴 함



너무 진행이 안되고 있다 보니 성능 포기(문제 될 만한 부분은 더티플래그로 다 때우기)


테트리스 인벤토리 시스템 포기(아이콘 그리기 고역임)


쳐내고 쳐내고 하다 보니 큰 윤곽은 잡힘.





24b0d121e09c28a8699fe8b115ef046f5e45999a


당연히 있는 하단 게임 바



24b0d121e09c28a8699fe8b115ef046c62f52d4d


아이템 드래그 드롭, 장착


이왕 테트리스 인벤토리 시스템 버린 김에 추가한 검색, 아이템 정렬, 아이템 필터 시스템




24b0d121e09c28a8699fe8b115ef046c61f52846


지금 돌려보니 어디 잘못 건드렸는지 오류 뿜으면서 작동 안되는 Perk 찍는 창



설정 메뉴, 대화 시스템, 툴팁 등




여전히 갈 길은 멀지만 끝은 보인다, 이 정도 같음 지금



75


근데 하 진짜 뭔가 나랑 안 맞는 작업인지 돌아버리겠음 진척이 뭐 이렇게 느린지 모르겠다


턴제 시스템과 동화되어야 하는 부분에서 문제가 자꾸 생기고


그 부분에 별 문제 없어도 그냥 디자인 하는 것 자체가 고역임





5. 그 외 푸념



하면 할 수록 1인 개발로 겜을 완성한 사람이 대단해보임



내 작업 상태가 이 꼬라지임.


43 기어가는 UI, 도트 그리기

45 그나마 진행되는 시스템, 툴 구현

회피 무난하게 채워지는 게임 컨텐츠(아이템, 스킬, 맵)





혼자서 모든 것을 해야 하는데, 각 작업마다 효율 차이가 크더라.


근데 하나에 완전 집중해서 해결하려고 하면, 정신력이 나가다 보니 병행하게 됨




그러니 문제가 게임 테스트가 잘 안됨



지금 시스템 상에는 퀘스트 시스템, 물물교환 시스템 등 막 여러가지 구현되어 있고


던전 절차적 생성 코드들 여러가지 쌓여 있는데



UI가 구현 안되었거나, 도트를 아직 덜 그렸거나, 작업들이 동기화가 안되어 있으니 속이 그냥 답답 하고 터질거 같음


게임 화면을 재깍 재깍 보고 테스트하고 싶은데 그게 너무 더뎌지는 느낌





그래도 필요한 시스템 하나 둘 채워지니 저 끝에 빛은 보인다


아직 해야 할 작업이 너무나도 많지만 ㅋㅋ






갓


여기까지 혹시나 읽어줬다면 고맙다


다 같이 고도로 겜 완성하고 출시하고 성공하자


26



추천 비추천

17

고정닉 6

0

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 말머리 제목 글쓴이 작성일 조회 추천
2879 설문 가족과 완벽하게 손절해야 할 것 같은 스타는? 운영자 24/06/24 - -
1 공지 고도엔진 마이너갤러리입니다 Monung갤로그로 이동합니다. 20.04.23 1885 15
116 공지 내가 본 것중 젤 도움된 튜토리얼 [11] ㅇㅇ(121.161) 20.09.15 7863 21
4511 일반 질문 ㅇㅇ(222.113) 03:43 15 0
4510 창작, 야스 1일차 [2] ㅇㅇ(222.122) 06.23 41 1
4509 질문 플레이어 못찾는 오류 또 나야~ [10] gogok(49.175) 06.23 109 0
4507 질문 .csproj 확장자는 뭐하는거야? [6] 바라랑-잡초미갤로그로 이동합니다. 06.23 84 0
4505 일반 전장의 안개는 어떻게 만드는거지? [4] ㅇㅇ(122.36) 06.23 112 0
4504 질문 형들 플레이어 위치를 못찾는대. 오류좀 도와줘! [16] gogok(49.175) 06.23 106 0
4501 일반 누가 인형사라고 총들고 협박함? [4] ㅇㅇ(118.235) 06.22 143 1
4500 창작, 오늘한것 - 테트리스인벤 도전 (#20) [1] ㅇㅇ갤로그로 이동합니다. 06.22 71 0
4498 창작, 간단한 채팅 프로그램 [2] 백인선(14.58) 06.22 115 2
4497 창작, 고도를 이용한 나만의 수박게임 만들기 [1] !CyberApex갤로그로 이동합니다. 06.22 98 3
4496 일반 고도 피규어 만들어서 팔면 불법? [4] o o (121.169) 06.22 98 1
4495 엔진 사상최초의 고도 굿즈 출시 [7] ㅇㅇ(58.233) 06.22 177 2
4494 일반 고수들한테 질문 (gltf/glb 임포트) [6] ㅇㅇ(222.122) 06.22 90 0
4493 일반 [꿀팁] 유용한 기본 ide 기능 [2] octalog갤로그로 이동합니다. 06.21 86 1
4492 일반 골드 기부자 닉에 비속어 있으면 익명처리하나 보네 [2] ㅇㅇ(125.137) 06.21 73 1
4491 질문 고도 Anti Aliasing 되는거 맞나요 [5] ㅇㅇ(211.192) 06.21 136 0
4490 일반 격자 만들기 내가 이겼다....! [2] 바라랑-잡초미갤로그로 이동합니다. 06.21 133 2
4488 질문 강화학습이 가능한 게임을 만들고자합니다. [11] ㅇㅇ(121.168) 06.21 141 0
4487 일반 의외로 고도로 만든 것 [3] ㅇㅇ(14.50) 06.20 177 2
4486 일반 베타2 공지 ㅋㅋ [4] ㅇㅇ(125.137) 06.20 127 3
4485 일반 다니던 회사를 때려칠 수 없었다. [3] ㅇㅇ(125.137) 06.20 144 2
4484 일반 다니던 회사 때려쳤다 [5] ㅇㅇ(39.7) 06.20 175 1
4483 일반 요즘 ChatGPT 진짜 좋네 [5] ㅇㅇ(117.111) 06.20 226 3
4482 일반 화면에 화살표 슉~ 그려지고, 동그라미 슉 그려지고 그런 거 하고 싶은데 [6] ㅇㅇ(175.192) 06.20 127 0
4481 일반 세이더 효과 안겹치게 하려면 어떤식으로 해야함? [6] ㅇㅇ (180.71) 06.19 118 0
4480 일반 고도콘 티켓 다 팔렸었네 ㅅㅂ [4] ㅇㅇ(125.137) 06.19 118 0
4479 자료 프로젝트에 admob 테스트용 광고 노출 시키기 [13] ㅇㅇ(122.37) 06.19 243 11
4478 일반 좀 어이없는 질문 일 수 있지만 도움 요청드립니다. [4] 왕초보개발자(211.234) 06.19 112 0
4477 창작, 냥카스 [6] ㅇㅇ(125.137) 06.19 130 1
4476 일반 고도 모바일에서 애드몹, 인앱 결제 확인해봤는데 [2] ㅇㅇ(117.111) 06.19 86 1
4475 일반 AI 쓰면서 1인개발 하는 사람 있음? [4] ㅇㅇ(210.101) 06.19 153 0
4474 일반 (긴 글 주의)현재 모바일 수익화 기능의 어려움과 내가 알아낸 것 [9] ㅇㅇ(122.37) 06.19 278 5
4472 일반 고도 엔진으로 첫 게임 완성! [27] YouHeretic!(59.1) 06.18 415 12
4471 일반 있지,io에 피지컬 게임에 재밌는거 많다 [2] ㅇㅇ (180.71) 06.17 159 0
4470 일반 고수님들, 도와주세요..터치로 낙하위치로 이동 [3] 롤롤갤로그로 이동합니다. 06.17 120 0
4469 일반 고도 튜토리얼들 보다 보니 뭔가 이해가 안되는 게 있음 [8] longZam갤로그로 이동합니다. 06.17 185 0
4467 일반 하... c# 버리고 고도엔진으로 손대는데 존나 이상하네 [11] 123번뇌왕2갤로그로 이동합니다. 06.17 225 0
4466 일반 국내 개발사도 고도엔진 스폰하네 [4] ㅇㅇ(125.137) 06.17 261 4
4465 일반 드디여 격자 구현인가!!!! [4] 바라랑-잡초미갤로그로 이동합니다. 06.17 218 3
4464 일반 전에 농담으로 lgbt 로고 어쩌고 올렸다가 글 썰렸는데 ㅇㅇ(39.7) 06.17 137 2
4463 질문 씬에 있는 원래 노드를 다른 노드의 자식으로는 못 만듦? [5] ㅇㅇ(210.104) 06.17 106 1
4462 질문 고도로 림월드 비슷한 겜 만들고 싶은데 틱이 괜찮을까 모르겠음.. [4] 000갤로그로 이동합니다. 06.16 159 0
4461 일반 약간 고도 걱정되는게 [5] 바라랑-잡초미갤로그로 이동합니다. 06.16 235 1
4460 일반 오늘 구현한거 [3] 꿰뚫어보는자갤로그로 이동합니다. 06.16 131 0
4459 일반 지피티 40나오니까 좀 숨통이 트이네 ㅇㅇ (180.71) 06.16 117 0
4458 일반 갑자기 sprite에 이미지 넣어도 저장이 안돼네.. ㅇㅇ (180.71) 06.16 99 4
4457 일반 혹시 4.3 베타쓰는사람 하나만 확인점 [2] boost갤로그로 이동합니다. 06.16 172 0
4456 일반 내일 고도엔진 4.3 나옴? [4] ㅇㅇ(1.239) 06.15 203 0
4455 일반 밑에 게이야 그 게이잼은 게임잼이 아니다. [1] ㅇㅇ(125.137) 06.15 140 0
4453 질문 Nil 오류 다시 사진첨부 고수님들 ~ [9] godok(1.237) 06.15 134 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2