inflearn logo
강의

Course

Instructor

[MMORPG Game Development Series with C++ and Unreal] Part 5: UE5 & IOCP Server Integration

게임 서버 몬스터 ai에 관해 궁금한게 있습니다.

382

whoami1234

9 asked

0

게임 서버에서 몬스터 ai(state machine)를 돌린다고 했을 때 제가 생각한 방식은 서버에서 일정 주기마다 랜덤으로 상태변화가 일어나게 구현하는 것인데, 더 좋은 방식이 있을까요?

c++ unreal-engine windows-server

Answer 1

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다.
ssay8888님의 게임 서버에서 몬스터 AI(State Machine)와 관련된 질문에 답변드리겠습니다.

서버에서 몬스터 AI를 구현할 때 일정 주기마다 랜덤으로 상태 변화를 주는 방법은 간단하고 실제로도 많이 사용됩니다. 하지만, 더 향상된 방식을 고려하실 수도 있습니다. 각 몬스터의 행동 패턴이나 상황에 따라 상태 변화를 주는 것이 가능합니다. 예를 들어:

  1. 이벤트 기반 변화: 플레이어가 일정 범위 안에 들어오거나, 특정 아이템을 사용하는 등의 이벤트가 발생했을 때 상태를 변화시키는 방법입니다.
  2. 시간 기반 + 조건부 로직: 몬스터가 일정 시간 동안 공격받지 않았거나, 특정 지역에 도달했을 때 상태를 변경하는 등 조건부 로직을 추가하는 방법입니다.
  3. 유틸리티 기반 AI: 각 상태가 가지는 “유틸리티 점수”를 계산하여, 가장 높은 점수를 가진 상태로 전환하는 방식입니다. 예를 들어, 몬스터가 공격 상태보다 도망 상태를 선택하는 것이 생존에 더 유리할 수 있습니다.

이러한 방식들은 게임 내 몬스터 AI의 다양성과 복잡성을 증가시켜주며, 플레이어에게 예측하기 어렵고 도전적인 경험을 제공할 수 있습니다.

몬스터 AI 개발에 있어서는 이러한 다양한 접근 방식을 고려해보시고, 게임의 특성에 맞는 최적의 솔루션을 찾는 것이 중요합니다. 게임의 세계관, 몬스터의 특성, 플레이어와의 상호작용 방식 등을 고려하여 선택하시면 좋을 것 같습니다.

개발 과정에서 더 구체적인 기술적인 도움이나 참고 자료가 필요하시면, 관련 커뮤니티나 문서, 강의를 참조하는 것도 도움이 될 수 있습니다. 기술적인 면에서 특정 부분에 대한 깊이 있는 이해가 필요할 때는 인프런의 게임 프로그래밍 관련 강좌들을 살펴보시는 것도 추천드립니다.

이외에 추가적으로 궁금한 점이 있으시면 언제든 질문 남겨주세요.

패킷 보내는 두가지 방법 질문

0

88

0

recv 할게 없어도 무한 while문을 도는데 괜찮은건가요?

0

69

2

MySQL 연동

0

62

2

잡큐단위 내부에서 잡큐호출

0

61

2

포트폴리오 작성 후 확장 방향에 대해 질문이 있어서 글을 남깁니다

0

100

2

에러코드

0

70

1

언리얼 버전

0

80

2

ProtoBuf UE 연동 문제

0

201

3

Snapshot base vs packet oriented

0

119

1

Is there official app or something that allow you watch lectures offline?

0

82

1

What is more capable of m2 c# server or cpp from episode 4?

0

102

2

워커스레드가 1개일 때 가장 빠를 수 있을까요?

1

198

2

이동동기화 관련 질문 드립니다. 추측항법 외.

0

279

1

이 시리즈 25년에 계획 있으실까요?

1

401

3

SubSystem이 궁금합니다.

0

522

2

웹서버

0

296

2

언리얼 에디터 Stop버튼

0

250

2

질문 있습니다...

0

208

2

클라이언트 강제 종료 시 플레이어 삭제 기능

0

224

1

라이브 강의 질문

0

177

1

52분에 나온 얘기..

0

243

1

파트4의 서버 파일이랑 다른건가요??

0

437

1

3D 이동 동기화

0

477

1

외부 네트워크에서 접속에 대한 질문이 있습니다 !

0

344

1