inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part9: MMO 컨텐츠 구현 (DB연동 + 대형 구조 + 라이브 준비)

A* 개선

A* 관련 질문

218

BBAKK

작성한 질문수 35

0

neighbor 경로 비용 계산 부분에서 gCost는 왜 사용되지 않는 이유가 있는건가요?

hCost를 제곱을 하는 이유가 뭔가요?

               int gCost = 0; 

               int hCost = 10 * ((dest.Y - neighbor.Y) * (dest.Y - neighbor.Y) + (dest.X - neighbor.X) * (dest.X - neighbor.X));

아래 부분을

int value = 0;

if (openList.TryGetValue(neighbor, out value) == false)

                  value = Int32.MaxValue;

이렇게 바꿔도 상관 없나요?

int value = Int32.MaxValue;

openList.TryGetValue(neighbor, out value);

MMORPG

답변 1

1

Rookiss

1.
A*에서 평가식은 본인 마음대로 정의하면 됩니다.
보통 휴리스틱 h는 이동 목적지까지의 거리를,
g 쪽에서는 원래 위치에서 현 경로 오기까지의 cost를 넣지만
이동 경로를 보고 적당히 조절하면 됩니다.
제곱하는 이유는 거리 계산식에서 거리 제곱을 사용하는데
distance^2 = deltaX^2 + deltaY^2 이기 때문입니다.

2.
네 상관 없습니다.

마우스 이벤트 처리방법(오브젝트간 인터렉션)

0

623

1

RecvArgs_Completed에서 lock을 안하는 이유

0

517

1

Entity framework 질문드립니다.

0

576

2

json 직렬화

1

289

1

mmo 와 pvp

0

535

2

github로 프로젝트를 push, pull할 때 질문

1

530

1

Iocp 서버 관련 질문드립니다.

0

329

1

서버 관련 질문

0

397

1

DB 처리관련 질문이 있습니다

0

302

1

안녕하세요. 질문드립니다.

1

1509

2

이해한 것이 맞나 궁금합니다.

0

287

1

마이그레이션 파일이 이상합니다.

0

283

1

강의 마지막으로 질문 드립니다.

0

679

2

ItemDbId,구조 설계

0

265

1

MMO 서버 관리 질문 드립니다!

0

323

1

디비 정보 나누기

0

241

1

AccountDb 업데이트

0

308

1

콘솔창이 아니라 브라우저에서 실행

0

282

2

메모리 누수문제.

0

497

1

유니티에서 클라이언트 빌드후 실행하면 맵 로드가 안됩니다.

0

364

1

외부 네트워크에서도 접속해서 게임하기

1

339

1

유니티클라에서 패킷을 계속 보내지 않고 lockstep이나 추측항법으로 동기화를 할 수 있을까요?

0

597

1

서버 메모리와 DB 저장 관련 질문

0

370

1

JsonUtility.FromJson 관해서 질문있습니다.

0

278

1