Skip to content

VIA-VOID/Swarm-Tools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

101 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Swarm-Tools

프로젝트 개발에 필요한 툴 제작


Protobuf 패킷 자동화

🛠 프로젝트 개요

  • .proto 정의만으로 서버, 클라이언트의 패킷 코드를 자동으로 동기화
  • 수동 패킷 정의는 ID 충돌, 필드, 핸들러 누락 등의 실수 유발
  • Protobuf는 스키마 중심 설계와 직/역직렬화 안정성을 제공해 버전 관리가 용이

입력 규칙

  • 입력 파일: PacketProtobuf/Protobuf/*.proto
    • Protocol.proto, Struct.proto, Enum.proto
  • 메시지 명명 규칙:
    • CS_로 시작하는 메시지는 서버 수신, 클라이언트 -> 서버
    • SC_로 시작하는 메시지는 클라이언트 수신, 서버 -> 클라이언트
  • 도메인 분류 규칙:
    • 메시지 이름 뒤의 토큰을 도메인 키로 사용
    • 예시: CS_CHAT_SEND 의 도메인은 CHAT

자동 생성


PathFinder

🛠 프로젝트 개요

A-Star 알고리즘을 활용한 길찾기 시스템 구현
서버에서 작성한 C++ 기반 알고리즘을 시각적으로 확인하기 위해 Unity 툴 제작
A-Star 경로 탐색 결과를 보정하여 자연스러운 이동 경로 개선

A-Star 길찾기 시각화

기본 A-Star 알고리즘 적용

  • 파란색 노드: 출발지
  • 빨간색 노드: 도착지
  • 노란색 노드: 캐릭터 이동 경로

1. 맵 크기 10 * 10

play

2. 맵 크기 20 * 20
play

3. 맵 크기 30 * 30
play

A-Star 길찾기 보정 (자연스러운 경로 개선)

기존 A-Star 경로의 문제점

  • F(G+H)의 가중치가 가장 낮은 최적 경로를 찾지만, 실제 이동 시 비효율적인 경로로 보일 수 있음
  • 유저 입장에서 "충분히 직선으로 이동할 수 있는 구간" 도 불필요하게 꺾어서 이동하는 문제 발생

개선

  • 브레젠험 직선 알고리즘 적용
  • 최종 도착지에서 출발지로 거꾸로 이동하면서 "한 번에 갈 수 있는 길" 을 직선으로 탐색
  • 장애물이 없는 경우 불필요한 노드 경유를 생략하여 자연스러운 경로로 보정

개선된 길찾기 결과

1. 맵 크기 10 * 10

2. 맵 크기 20 * 20

3. 맵 크기 30 * 30

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors