프로젝트 개발에 필요한 툴 제작
.proto정의만으로 서버, 클라이언트의 패킷 코드를 자동으로 동기화- 수동 패킷 정의는 ID 충돌, 필드, 핸들러 누락 등의 실수 유발
- Protobuf는 스키마 중심 설계와 직/역직렬화 안정성을 제공해 버전 관리가 용이
- 입력 파일:
PacketProtobuf/Protobuf/*.protoProtocol.proto,Struct.proto,Enum.proto
- 메시지 명명 규칙:
CS_로 시작하는 메시지는 서버 수신, 클라이언트 -> 서버SC_로 시작하는 메시지는 클라이언트 수신, 서버 -> 클라이언트
- 도메인 분류 규칙:
- 메시지 이름 뒤의 토큰을 도메인 키로 사용
- 예시:
CS_CHAT_SEND의 도메인은CHAT
*.proto에 정의된 메시지를 바탕으로Protobuf/Template기반으로 생성- 자동생성 스크립트
A-Star 알고리즘을 활용한 길찾기 시스템 구현
서버에서 작성한 C++ 기반 알고리즘을 시각적으로 확인하기 위해 Unity 툴 제작
A-Star 경로 탐색 결과를 보정하여 자연스러운 이동 경로 개선
기본 A-Star 알고리즘 적용
- 파란색 노드: 출발지
- 빨간색 노드: 도착지
- 노란색 노드: 캐릭터 이동 경로
1. 맵 크기 10 * 10
기존 A-Star 경로의 문제점
- F(G+H)의 가중치가 가장 낮은 최적 경로를 찾지만, 실제 이동 시 비효율적인 경로로 보일 수 있음
- 유저 입장에서 "충분히 직선으로 이동할 수 있는 구간" 도 불필요하게 꺾어서 이동하는 문제 발생
개선
- 브레젠험 직선 알고리즘 적용
- 최종 도착지에서 출발지로 거꾸로 이동하면서 "한 번에 갈 수 있는 길" 을 직선으로 탐색
- 장애물이 없는 경우 불필요한 노드 경유를 생략하여 자연스러운 경로로 보정
1. 맵 크기 10 * 10
2. 맵 크기 20 * 20
3. 맵 크기 30 * 30








