Skip to content

[✔Complete] 졸업 프로젝트 : Unity로 구현한 턴제인공지능게임

Notifications You must be signed in to change notification settings

wonAdam/Graduation-Project

 
 

Repository files navigation

Turn Based Strategy AI Game

이 리포지토리는 홍익대학교 컴퓨터공학과 4학년 원동현박솔휘의 졸업 프로젝트 저장소입니다.

에디터상에서 보고 싶은 경우 에셋들을 임포트해야합니다. 아래 에셋들을 임포트하여 "Assets/_AssetStore" 경로에 넣어주세요.

개발 일지: Youtube

기본 설명

게임을 시작하면 자원의 양이 주어집니다.

자원으로 이번 게임에서 사용할 유닛을 고용합니다.

그리고 게임을 시작하면 유닛을 일정 공간안에 자유롭게 배치할 수 있습니다.

배치가 완료되면 게임시작을 눌러 게임을 시작합니다.

게임 흐름 다이어그램

게임이 시작되면 아군유닛 적군유닛 모든유닛들이 민첩성 스탯에 따라 턴의 순서가 정해집니다. 각 턴마다 해당 유닛의 주인 플레이어가 유닛의 액션을 취하게 할 수 있습니다.

각 액션은 행동력을 소모합니다. 각 유닛의 행동력은 행동력 스탯에 따라 각턴마다 리셋됩니다.

Features

Path Finding Algorithm

캐릭터에게 특정한 블락으로 이동시키는 명령을 할 시, BFS를 사용하여 유닛이 있는 모든 블락들의 경로를 갱신합니다.

Breadth First Search or BFS for a Graph - GeeksforGeeks

AI

저희가 사용할 AI 테크닉은 GOAP을 변형한 모델입니다.

가용가능한 Action들로 Planner는 모든 경우의 수를 트리 자료구조로 Plan합니다.

Tree의 Leaf 노드들은 최종 Score를 갖고 최대 Score의 Leaf Node에서부터 Root 노드까지를 최적의 Plan으로 정합니다.

해당 Plan을 캐릭터에게 리턴하고 캐릭터는 해당 Plan에 따라 행동합니다.

GOAP

게임 시스템

게임 시스템으로는 턴제, 타일맵, 클릭매니저, UI시스템 등등이 있을 것으로 예상됩니다.

해당 매니저 클래스들끼리의 유기적이고 커플링이 적은 시스템을 구현하기위해 다양하고 적절한 디자인 패턴들을 녹여낼 예정입니다.

About

[✔Complete] 졸업 프로젝트 : Unity로 구현한 턴제인공지능게임

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 83.5%
  • ShaderLab 11.3%
  • JavaScript 3.9%
  • HLSL 1.3%