실시간 전세계에서 몰리는 경기 순위
순위 오즈
1 네덜란드 1.25
2 이집트 1.44
3 웨일즈 1.02
4 세네갈 1.40
5 알제리 1.50
종목별 팀순위
1 첼씨 8 6 1 1 19
1 첼씨 8 6 1 1 19
1 첼씨 8 6 1 1 19
1 첼씨 8 6 1 1 19

[토끼마을 이야기] 도로를 만들었어! - 1

작성자 정보

  • 커뮤맨 작성
  • 작성일

컨텐츠 정보

본문



드디어 토끼마을에 도로가 생겼어!

먼저 오늘은 도로의 생성 방법에 대해 알아보고, 패스파인딩에 대한 내용은 2편에서 작성해볼게.



도로는 기본적으로 그리드 하나에 대응하는 일종의 '건물'로서 만들어져.

그래서 실제 게임에서도 도로를 건설할 때 한칸한칸씩 직접 도로를 건설할 수 있게 될거야.


하지만 지금 상태로는 도로가 옆 도로와 연결되지 않아서 좀 아쉬워 보여.

아무래도 도로가 도로다운 모습을 갖추기 위해서는 옆 도로들과 잘 연결되는 것이 필요하겠지?




가장 간단한 구현 방식은 가능한 도로의 모든 갯수를 전부 미리 만들어놓는 방식인데, 그러면 시간이 너무 많이 걸리기 때문에 절차적 생성 방식을 이용해서 도로를 만들기로 했어.

이를 위해 도로를 총 9개의 구획과 12개의 구분선으로 나누었고, 주변에 도로의 존재 유무에 따라서 도로의 모양을 자유자재로 바꾸는 스크립트를 작성해서 도로가 스스로 모양을 결정할 수 있도록 했어.




도로의 구분선은 우선 도로의 구획이 결정된 후에 구현되는데, 각 구분선은 자신의 양쪽의 구획이 다른 속성이면 자신을 표시하고, 그렇지 않으면 자신을 숨기는 방식으로 표현돼.

거기에 더해서, 자신이 활성화되어있으면 랜덤으로 자갈이나 풀 등을 배치하여 도로의 퀄리티를 한층 높여주는 역할도 수행해.


다음에는 더 재밌는 길찾기에 대해서 써볼게.

참고로 그동안 귀찮다고 개발일지를 안썼더니 새로운 내용이 너무 많이 생겨서 개발일지를 좀 남겨둘걸 하고 후회가 조금 된다 ㅋㅋ

앞으로 일지도 열심히 쓸게..!


[토끼마을 이야기] 도로를 만들었어! - 2



 

[토끼마을 이야기] 도로를 만들었어! - 1 - 인디 게임 개발 마이너 갤러리

드디어 토끼마을에 도로가 생겼어!먼저오늘은 도로의 생성 방법에 대해 알아보고, 패스파인딩에 대한 내용은 2편에서작성해볼게.도로는 기본적으로 그리드 하나에 대응하는 일종의 '건물'로서 만들어져.그래서 실제 게임에서도

gall.dcinside.com


오늘은 저번시간에 이어 토끼의 패스파인딩에 대해 써볼게.




이건 기존에 있던, 토끼마을 이야기의 프로토타입쯤 되는 게임이야.

이 게임은도로도 없고 건물들의 크기도 동일하기 때문에 복잡한패스파인딩기술 없어도 길찾기가어렵지 않았고, 이 때문에간단하고 가벼운 - '목적지와 가장 가까운 점들을 맹목적으로 탐색'하는 패스파인더를 개발해서 사용했어.

이 패스파인더는 위의환경에서는 문제가 없지만, 도로도 있고 건물들의 크기도 제각각인 현재의 토끼마을 이야기에 적용된다면 몇 가지 문제가 생겨.



이건 복잡한 환경에서 기존 패스파인더를 테스트한 결과야.

위에서 볼 수 있듯이, 이 친구는 맹목적으로 목적지와 가까운 길만 찾기 때문에 최단 거리와 가능한 경로의 방향이 다르면 길을 돌아가기도 하고, 중간에 막다른 길이 있으면 그 길을 끝까지 간 후 돌아오는 경로를 선택하기도 해서 게임에 적용하면 토끼들이 이해할 수 없는(?), 아주 비효율적인 움직임을 보여줄 수도 있어.


이 문제를 해결하기 위해, 나는 현 위치를 중심으로 목적지와 가장 가까울 점들을 선택하고 이들끼리 비교하여 경로를 찾는, 이른바 A* 알고리즘을 응용한 패스파인더를 만들었어.




이 패스파인더는맹목적으로 최단 거리를 찾는 기존 패스파인더와는 다르게 내 주변으로부터 납득 가능한 경로들을 전부 저장하고 탐색함으로써, 탐색에 시간은 좀 더 걸리더라도 훨씬 효율적인 길을 찾아줄 수 있어.


이제 그럼 이 패스파인더를 게임에 적용해볼까?



예상대로 패스파인더가 장애물(건물)을 피해서 밭까지 가는 길을 잘 찾아준 걸 볼 수 있어.

이제 중간에 건물들이 있더라도 토끼가 최적의 경로를 잘 찾아 목적지에 도달할 거야.


그런데 잠깐, 지금은 토끼가 경로 도중 도로가 있는데도 불구하고 도로를 이용하지 않고 있어.

물론 도로를 이용하지 않는 것이 더 빠른 경로일 수도 있지만, 나는 게임의 재미를 위해 가능하다면 토끼가 도로를 이용해줬으면 좋겠어.

이를 구현하기 위해, 나는 길의 패스파인딩 가격을 다른 경로의 가격보다 약 10배정도 낮게 설정한 후 패스파인딩을 하도록 했어.



그 결과, 패스파인더가 도로를 우선하여 패스파인딩을 진행하면서 원하는 모습으로 토끼의 움직임을 구현할 수 있었어.




이 패스파인더의 장점은, 도로를 '무조건적으로 선택'하는 게 아니라 '선호도를 증가'해서 찾는다는 데 있어.

덕분에 위와 같이 도로를 통해 가는 경로가 너무 길어질 경우, 토끼는 적절한 곳에서 도로를 빠져나오는 선택을 할 수도 있어


오늘은 이렇게 토끼의 패스파인딩에 대해 알아봤어.

다음에는 이 패스파인딩 기술을 이용해서 토끼들이 열심히 마을을 돌아다니는 풍경을 보여주러 올게.

그럼 그때 봐!



AI로 만든 UI들


ㄱhttps://gall.dcinside.com/mgallery/board/view?id=game_dev&no=150280

 

GPT는 신이야 - 인디 게임 개발 마이너 갤러리

원래 게임 UI는 이랬음.원래는 인스타 느낌의 깨끗하고 모던한 느낌을 원했는데, 막상 만들고 나니 파워포인트로 대충 만든 느낌이 남.좀더 게임다운 UI를 만들기 위해서, GPT한테 저 사진이랑 원하는 느낌 설명하고 만

gall.dcinside.com


이 일이 있고 난 다음에 만든 UI들




홈 UI 기획




인게임 UI 기획




메뉴 UI 기획


거의 챗GPT 일일 사용량 한계까지 써가면서 만들었는데 개인적으로는 엄청 만족스러웠음

이정도면 UI로 GOTY 가능?

관련자료

댓글 0
등록된 댓글이 없습니다.
전체 33,053 / 1 페이지
번호
제목
이름
    • 1
      다아라
      267,792 P
    • 2
      GodGhs
      213,524 P
    • 3
      돈뱅석
      186,762 P
    • 4
      jym0405
      146,387 P
    • 5
      곽두철이다
      143,223 P
    • 6
      사탕
      131,900 P
    • 7
      성민
      120,950 P
    • 8
      오늘만사는사람
      120,893 P
    • 9
      이재림
      115,653 P
    • 10
      엄지
      105,000 P
    • 1
      이재림
      LV. 44
    • 2
      GodGhs
      LV. 41
    • 3
      돈뱅석
      LV. 41
    • 4
      다아라
      LV. 32
    • 5
      역삼동
      LV. 32
    • 6
      robin
      LV. 32
    • 7
      럭키비키데이
      LV. 32
    • 8
      minmin
      LV. 31
    • 9
      눈보라
      LV. 31
    • 10
      소년소녀백성
      LV. 31
알림 0