Skip to content

CookieAndJuice/BG3

Repository files navigation

BG3 - Baldur's Gate 3 ν„΄μ œ RPG

Unreal Engine 5.6으둜 κ΅¬ν˜„λœ ν„΄μ œ μ „μˆ  RPGμž…λ‹ˆλ‹€. Baldur's Gate 3의 μ „νˆ¬ μ‹œμŠ€ν…œκ³Ό D&D 5판의 행동λ ₯ μ‹œμŠ€ν…œ(Action/Bonus Action/Reaction/Movement)을 C++ 기반으둜 μž¬ν˜„ν•©λ‹ˆλ‹€.

μ‹œμ—° μ˜μƒ

BG3 κ²Œμž„ν”Œλ ˆμ΄ μ˜μƒ

πŸ“Ή μ‹œμ—° μ˜μƒ 보기

λͺ©μ°¨

μ£Όμš” νŠΉμ§•

μ „νˆ¬ μ‹œμŠ€ν…œ

  • ν„΄μ œ μ „νˆ¬ 루프: D&D 5판 Initiative μ‹œμŠ€ν…œ 기반 ν„΄ μˆœμ„œ 관리
  • 행동λ ₯ μ‹œμŠ€ν…œ: Action, Bonus Action, Reaction, Movement 4κ°€μ§€ 행동 μ˜ˆμ‚° 관리
  • μŠ€ν‚¬ μ‹€ν–‰ νŒŒμ΄ν”„λΌμΈ: μ˜ˆμ•½(Reserve) β†’ νƒ€κ²ŒνŒ…(Targeting) β†’ ν™•μ •(Commit) β†’ μ‹€ν–‰(Execute) 4단계 μ›Œν¬ν”Œλ‘œμš°
  • νƒ€κ²ŒνŒ… μ‹œμŠ€ν…œ: 단일/닀쀑/μ˜μ—­/μžκ°€ νƒ€κ²ŒνŒ… 지원, 사거리 및 μ΅œλŒ€ λŒ€μƒ 수 검증
  • 데미지 계산: D&D μ£Όμ‚¬μœ„ μ‹œμŠ€ν…œ (NdM) 기반 데미지 λ‘€

UI μ‹œμŠ€ν…œ

  • μ „νˆ¬ HUD:
    • 행동 슬둯 κ·Έλ¦¬λ“œ (μŠ€ν‚¬ μ•„μ΄μ½˜, μΏ¨λ‹€μš΄, μ‚¬μš© κ°€λŠ₯ μ—¬λΆ€)
    • ν„΄ μˆœμ„œ ν‘œμ‹œ (캐릭터 μ΄ˆμƒν™” + HP λ°”)
    • μ‹€μ‹œκ°„ 행동λ ₯ 및 이동 거리 ν‘œμ‹œ
  • μ „νˆ¬ μ—°μΆœ: 승리/패배 Fade-out μ• λ‹ˆλ©”μ΄μ…˜, 포트레이트 μ „ν™˜
  • μœ„μ ― 컨트둀러 νŒ¨ν„΄: UI 둜직과 데이터 뢄리

AI μ‹œμŠ€ν…œ

  • 적 AI FSM: Idle β†’ Plan β†’ Execute μƒνƒœ λ¨Έμ‹ 
  • μžλ™ 행동: λŒ€μƒ 선택 (μ΅œκ·Όμ ‘/μ΅œμ €μ²΄λ ₯), μŠ€ν‚¬ 선택, 이동 및 곡격
  • ν„΄ μžλ™ μ’…λ£Œ: AI 행동 μ™„λ£Œ μ‹œ μžλ™μœΌλ‘œ λ‹€μŒ ν„΄ μ§„ν–‰

μ—°μΆœ 및 μ‚¬μš΄λ“œ

  • λ°°κ²½μŒμ•… 및 효과음 (μ „νˆ¬, 메뉴, μŠ€ν‚¬)
  • μ• λ‹ˆλ©”μ΄μ…˜ + Niagara μ΄νŽ™νŠΈ 톡합
  • AnimNotify 기반 타이밍 동기화

기술 μŠ€νƒ

μ—”μ§„ 및 μ–Έμ–΄

  • Unreal Engine 5.6
  • C++ λͺ¨λ“ˆ: BG3 (Runtime)
  • λΈ”λ£¨ν”„λ¦°νŠΈ: UI μœ„μ ―, 에셋 μ„€μ •

Unreal μ‹œμŠ€ν…œ

μ‹œμŠ€ν…œ μ‚¬μš©μ²˜
UMG (Unreal Motion Graphics) μ „νˆ¬ UI, 메인 메뉴
Enhanced Input System 마우슀 클릭, ν™•μ •/μ·¨μ†Œ μž…λ ₯
Navigation System (NavMesh) AI 및 ν”Œλ ˆμ΄μ–΄ 이동 경둜 계산
AIModule 적 AI FSM
Niagara μŠ€ν‚¬ μ΄νŽ™νŠΈ (Fireball λ“±)
AnimNotify μ• λ‹ˆλ©”μ΄μ…˜ 히트 타이밍
Gameplay Tags 데미지 νƒ€μž… λΆ„λ₯˜ (Damage.Physical)
Data Assets μŠ€ν‚¬ μ •μ˜, 캐릭터 초기 정보
Subsystems (WorldSubsystem) μ „μ—­ κ²Œμž„ μƒνƒœ 관리

ν”„λ‘œμ νŠΈ ꡬ쑰

E:\UnrealProject\BG3/
β”œβ”€β”€ Source/BG3/                    # C++ μ†ŒμŠ€ μ½”λ“œ
β”‚   β”œβ”€β”€ Public/                    # 헀더 파일 (54개)
β”‚   β”‚   β”œβ”€β”€ Character/             # 캐릭터 (Base, Player, Enemy)
β”‚   β”‚   β”œβ”€β”€ Component/             # κ²Œμž„ μ»΄ν¬λ„ŒνŠΈ (SkillBook, Stats, AI)
β”‚   β”‚   β”œβ”€β”€ Game/                  # κ²Œμž„ λ§€λ‹ˆμ € 및 Subsystems
β”‚   β”‚   β”‚   └── Skill/             # μŠ€ν‚¬ μ‹€ν–‰ (Tasks, Projectile)
β”‚   β”‚   β”œβ”€β”€ Data/                  # 데이터 에셋 (Skill, Stats)
β”‚   β”‚   β”œβ”€β”€ UI/                    # UI μœ„μ ― 및 컨트둀러
β”‚   β”‚   β”œβ”€β”€ Controller/            # ν”Œλ ˆμ΄μ–΄ 컨트둀러
β”‚   β”‚   β”œβ”€β”€ Manager/               # 카메라, μ£Όμ‚¬μœ„ λ§€λ‹ˆμ €
β”‚   β”‚   └── Interface/             # μΈν„°νŽ˜μ΄μŠ€ (ActionBudgetProvider)
β”‚   └── Private/                   # κ΅¬ν˜„ 파일 (56개 .cpp)
β”œβ”€β”€ Config/                        # ν”„λ‘œμ νŠΈ μ„€μ •
β”‚   β”œβ”€β”€ DefaultEngine.ini
β”‚   β”œβ”€β”€ DefaultGame.ini
β”‚   β”œβ”€β”€ DefaultGameplayTags.ini
β”‚   └── DefaultInput.ini
β”œβ”€β”€ Content/                       # κ²Œμž„ 에셋 (λΈ”λ£¨ν”„λ¦°νŠΈ, λ©”μ‹œ, μ• λ‹ˆλ©”μ΄μ…˜)
β”œβ”€β”€ BG3.uproject                   # ν”„λ‘œμ νŠΈ 파일
└── BG3.sln                        # Visual Studio μ†”λ£¨μ…˜

핡심 μ‹œμŠ€ν…œ

1. μŠ€ν‚¬ μ‹œμŠ€ν…œ

μŠ€ν‚¬ μ‹€ν–‰ νŒŒμ΄ν”„λΌμΈ

ν”Œλ ˆμ΄μ–΄ μŠ€ν‚¬ λ²„νŠΌ 클릭
    ↓
1. Reserve (μ˜ˆμ•½)
   - SkillBookComponent::ReserveUse()
   - 행동λ ₯ μ†ŒλΉ„ 검증 (IActionBudgetProvider)
   - μ˜ˆμ•½ μƒνƒœ μ„€μ •
    ↓
2. Targeting (νƒ€κ²ŒνŒ…)
   - USkillExecutionSubsystem::RequestCast()
   - λŒ€μƒ 선택 (마우슀 클릭)
   - 사거리, μ΅œλŒ€ λŒ€μƒ 수 검증
    ↓
3. Confirm (ν™•μ •)
   - USkillExecutionSubsystem::ConfirmAndExecute()
   - Task λ°°μ—΄ 생성 (USkillCastExecutor)
    ↓
4. Execute (μ‹€ν–‰)
   - Task 순차 μ‹€ν–‰ (FaceTarget β†’ MoveTo β†’ PlayMontage β†’ Damage)
   - 데미지 적용 (μ£Όμ‚¬μœ„ λ‘€)
    ↓
5. Finalize (μ™„λ£Œ)
   - μΏ¨λ‹€μš΄ 적용
   - μƒνƒœ μ΄ˆκΈ°ν™”

Skill Task μ‹œμŠ€ν…œ

μŠ€ν‚¬ 싀행을 μž‘μ€ 비동기 λ‹¨κ³„λ‘œ λΆ„ν• ν•˜μ—¬ 순차 μ˜€μΌ€μŠ€νŠΈλ ˆμ΄μ…˜:

Task μ—­ν• 
SkillTaskFaceTarget λŒ€μƒ λ°©ν–₯으둜 캐릭터 νšŒμ „
SkillTaskMoveTo NavMesh 경둜 이동 (사거리 μ§„μž…)
SkillTaskPlayMontage 곡격 μ• λ‹ˆλ©”μ΄μ…˜ μž¬μƒ (AnimNotify λŒ€κΈ°)
SkillTaskSpawnProjectile λ°œμ‚¬μ²΄ 생성 및 λ°œμ‚¬
SkillTaskSpawnSystem Niagara μ΄νŽ™νŠΈ 생성
SkillTaskEndTurn ν„΄ μ’…λ£Œ 처리

μ˜ˆμ‹œ - κ·Όμ ‘ 곡격 μ‹€ν–‰ 흐름:

Task 1: FaceTarget      β†’ λŒ€μƒ λ°©ν–₯
Task 2: MoveTo          β†’ 사거리 μ§„μž…
Task 3: PlayMontage     β†’ 곡격 μ• λ‹ˆλ©”μ΄μ…˜
        [AnimNotify "Hit" λ°œμƒ]
        ↓
        데미지 적용 (μ£Όμ‚¬μœ„ λ‘€)
Task 4: EndTurn         β†’ ν„΄ μ’…λ£Œ

2. 행동λ ₯ μ‹œμŠ€ν…œ (D&D 5판)

행동 μœ ν˜• ν„΄λ‹Ή 개수 λΉ„μš© μ˜ˆμ‹œ
Action 1 1 곡격, μ£Όλ¬Έ, νšŒν”Ό
Bonus Action 1 1 보쑰 μ£Όλ¬Έ, 특수 λŠ₯λ ₯
Reaction 1 1 기회 곡격, λ°˜μ‘ λ§ˆλ²•
Movement ~10μΉΈ 750 μœ λ‹› 이동 거리

κ΅¬ν˜„ μΈν„°νŽ˜μ΄μŠ€:

class IActionBudgetProvider
{
    virtual bool CanSpendActionSlot(EActionCost Cost) = 0;
    virtual void SpendActionSlot(EActionCost Cost) = 0;
    virtual void RefundActionSlot(EActionCost Cost) = 0;
    virtual void BeginTurnReset() = 0;  // ν„΄ μ‹œμž‘ μ‹œ μ΄ˆκΈ°ν™”
};

μ£Όμš” 클래슀:

  • ABaseCharacter: λͺ¨λ“  μΊλ¦­ν„°μ˜ κΈ°λ³Έ 클래슀, 행동λ ₯ 및 μŠ€ν‚¬λΆ 관리
  • USkillBookComponent: μŠ€ν‚¬ λͺ©λ‘ 및 λŸ°νƒ€μž„ μƒνƒœ (μΏ¨λ‹€μš΄, μ˜ˆμ•½)
  • UCharacterStatsComponent: HP, Mana, 이동 거리

3. ν„΄ μ‹œμŠ€ν…œ

μ „νˆ¬ μ΄ˆκΈ°ν™” 및 ν„΄ μˆœν™˜

UBG3GameManageSubsystem::InitializeGame()
    ↓
1. 캐릭터 생성
   - SpawnPlayers() β†’ ν”Œλ ˆμ΄μ–΄ νŒŒν‹°
   - SpawnEnemies() β†’ 적 κ·Έλ£Ή
    ↓
2. Initiative 계산
   - CalcInitiative() = 1d20 + DEX μˆ˜μ •μž
   - CombatPawns[] μ •λ ¬ (λ‚΄λ¦Όμ°¨μˆœ)
    ↓
3. ν„΄ 루프
   BeginNextTurn()
   β”œβ”€ CurrentCharacter.BeginTurnReset()
   β”‚   └─ 행동λ ₯ μ΄ˆκΈ°ν™”, μΏ¨λ‹€μš΄ -1
   β”œβ”€ ν”Œλ ˆμ΄μ–΄ ν„΄: μž…λ ₯ λŒ€κΈ°
   β”‚   └─ μŠ€ν‚¬ 선택 β†’ νƒ€κ²ŒνŒ… β†’ μ‹€ν–‰ β†’ ν„΄ μ’…λ£Œ λ²„νŠΌ
   β”œβ”€ 적 ν„΄: AI μžλ™ μ‹€ν–‰
   β”‚   └─ Plan (λŒ€μƒ 선택) β†’ Execute (μŠ€ν‚¬ μ‹€ν–‰) β†’ μžλ™ ν„΄ μ’…λ£Œ
   └─ DecideWhoWin() β†’ μ „νˆ¬ μ’…λ£Œ νŒμ •

승패 νŒμ •:

  • λͺ¨λ“  적이 사망 β†’ ν”Œλ ˆμ΄μ–΄ 승리
  • λͺ¨λ“  ν”Œλ ˆμ΄μ–΄κ°€ 사망 β†’ 적 승리
  • UI Fade-out μ• λ‹ˆλ©”μ΄μ…˜ μž¬μƒ

4. AI μ‹œμŠ€ν…œ (USimpleEnemyFSMComponent)

μƒνƒœ λ¨Έμ‹ :

enum class ECharacterState : uint8
{
    None,     // μ΄ˆκΈ°ν™”
    Idle,     // ν„΄ λŒ€κΈ°
    Plan,     // 행동 κ³„νš (λŒ€μƒ/μŠ€ν‚¬ 선택)
    Execute   // 행동 μ‹€ν–‰ (Task 순차 μ‹€ν–‰)
};

AI 둜직:

  1. StartMyTurn(): Idle β†’ Plan
  2. Plan 단계:
    • FindNearestTarget(): μ΅œκ·Όμ ‘ λŒ€μƒ 선택
    • FindLowestHPTarget(): μ΅œμ €μ²΄λ ₯ λŒ€μƒ 선택
    • μŠ€ν‚¬ 선택 (μŠ€ν‚¬ ID: 1, 20, 85, 86, 888)
  3. Execute 단계:
    • DoAction(skillID): μŠ€ν‚¬ μ‹€ν–‰ μš”μ²­
    • Task 순차 μ‹€ν–‰ (이동 β†’ νšŒμ „ β†’ 곡격)
  4. EndMyTurn(): ν„΄ μ’…λ£Œ μ‹ ν˜Έ

5. UI μ‹œμŠ€ν…œ

μœ„μ ― λͺ©λ‘

Widget μ—­ν• 
OverlayWidget 메인 μ „νˆ¬ HUD (행동 슬둯 + ν„΄ 정보)
CombatActionPanel 행동 슬둯 κ·Έλ¦¬λ“œ (μŠ€ν‚¬ λ²„νŠΌ)
ActionSlotEntry κ°œλ³„ μŠ€ν‚¬ λ²„νŠΌ (μ•„μ΄μ½˜, μΏ¨λ‹€μš΄, μ‚¬μš© κ°€λŠ₯ μ—¬λΆ€)
PlayerHpFrameWidget ν”Œλ ˆμ΄μ–΄ HP λ°”
CharacterTurnHpWidget ν„΄ μˆœμ„œ ν‘œμ‹œ (μ΄ˆμƒν™” + HP)
TurnOrderFrameWidget ν„΄ μˆœμ„œ λͺ©λ‘
TurnEndWidget ν„΄ μ’…λ£Œ λ²„νŠΌ
PlayerPortraitWidget 캐릭터 μ΄ˆμƒν™”
PressEnterKeyWidget μ „νˆ¬ κ²°κ³Ό ν™”λ©΄ (Enter λŒ€κΈ°)
MainMenuWidget 메인 메뉴

μœ„μ ― 컨트둀러 νŒ¨ν„΄

UOverlayWidgetController
    β”œβ”€ Initialize(Character, PlayerController)
    β”œβ”€ RefreshSlots()  // 행동 슬둯 κ°±μ‹ 
    └─ BuildAndBroadcast()  // UI 데이터 λΈŒλ‘œλ“œμΊμŠ€νŠΈ

// 이벀트 델리게이트
FOnActionSlotsUpdated OnActionSlotsUpdated;
FOnStatChangedUI OnHealthChanged;
FOnMoveDistanceChangedUI OnMoveDistanceChanged;
FOnFadeOutAnimationStart OnFadeOutAnimationStart;

μ‹€ν–‰ 방법

1. μ—λ””ν„°μ—μ„œ μ‹€ν–‰

  1. BG3.uprojectλ₯Ό Unreal Engine 5.6 μ—λ””ν„°μ—μ„œ μ—½λ‹ˆλ‹€.
  2. Content/Maps/Dream_Island λ ˆλ²¨μ„ μ—½λ‹ˆλ‹€.
  3. Play λ²„νŠΌμ„ 눌러 μ „νˆ¬λ₯Ό μ‹œμž‘ν•©λ‹ˆλ‹€.

2. C++ μ½”λ“œ μˆ˜μ •

  1. Visual Studioμ—μ„œ BG3.sln을 μ—½λ‹ˆλ‹€.
  2. μ½”λ“œ μˆ˜μ • ν›„ λΉŒλ“œ (Ctrl+Shift+B).
  3. μ—λ””ν„°μ—μ„œ ν•« λ¦¬λ‘œλ“œ λ˜λŠ” 에디터 μž¬μ‹œμž‘.

3. 메인 λ©”λ‰΄μ—μ„œ μ‹œμž‘

  1. Content/Maps/MainMenuMap 레벨 μ‹€ν–‰.
  2. 메인 λ©”λ‰΄μ—μ„œ Start Game 클릭.
  3. μ „νˆ¬ 레벨 (Dream_Island)둜 μ „ν™˜.

개발 ν™˜κ²½

ν•„μˆ˜ μš”κ΅¬μ‚¬ν•­

  • Unreal Engine: 5.6 이상
  • IDE: Visual Studio 2022 (ꢌμž₯)
  • 운영체제: Windows 10/11
  • .NET Framework: 4.6.2 이상

ν”„λ‘œμ νŠΈ μ„€μ •

  • κ²Œμž„ κΈ°λ³Έ λ§΅: MainMenuMap
  • 에디터 μ‹œμž‘ λ§΅: Dream_Island
  • 해상도: 1920x1080 (DesignScreenSize)
  • UI μŠ€μΌ€μΌ κ·œμΉ™: ShortestSide
  • νƒ€κ²Ÿ ν•˜λ“œμ›¨μ–΄: Desktop, Maximum Graphics

κ²Œμž„ν”Œλ ˆμ΄

μ‘°μž‘ 방법

  • 마우슀 쒌클릭: 이동 λ˜λŠ” λŒ€μƒ 선택
  • 마우슀 우클릭: μŠ€ν‚¬ μ‹€ν–‰ ν™•μ • (Confirm)
  • ESC: μŠ€ν‚¬ μ·¨μ†Œ (Cancel)
  • μŠ€ν‚¬ λ²„νŠΌ 클릭: μŠ€ν‚¬ μ˜ˆμ•½ 및 νƒ€κ²ŒνŒ… μ‹œμž‘
  • Turn End λ²„νŠΌ: ν˜„μž¬ ν„΄ μ’…λ£Œ

ν”Œλ ˆμ΄ 흐름

  1. κ²Œμž„ μ‹œμž‘: Initiative λ‘€ β†’ ν„΄ μˆœμ„œ κ²°μ •
  2. ν”Œλ ˆμ΄μ–΄ ν„΄:
    • 이동: 마우슀 클릭 (NavMesh 경둜 ν‘œμ‹œ)
    • μŠ€ν‚¬ μ‚¬μš©:
      1. μŠ€ν‚¬ λ²„νŠΌ 클릭 (행동λ ₯ μ†ŒλΉ„)
      2. λŒ€μƒ 선택 (마우슀 클릭)
      3. 우클릭으둜 ν™•μ • β†’ Task μ‹€ν–‰
    • ν„΄ μ’…λ£Œ: Turn End λ²„νŠΌ 클릭
  3. 적 ν„΄: AI μžλ™ μ‹€ν–‰ (λŒ€μƒ 선택 β†’ 이동 β†’ 곡격)
  4. μ „νˆ¬ μ’…λ£Œ: 승리/패배 ν™”λ©΄ β†’ Enter둜 메인 메뉴

μŠ€ν‚¬ λͺ©λ‘ (μ˜ˆμ‹œ)

μŠ€ν‚¬ ID 이름 νƒ€μž… 사거리 데미지
1 Melee Attack κ·Όμ ‘ 3m 1d8 + STR
20 Ranged Attack 원거리 18m 1d10 + DEX
85 Fireball λ§ˆλ²• (μ˜μ—­) 30m 8d6 (Fire)
86 Magic Missile λ§ˆλ²• (λ°œμ‚¬μ²΄) 36m 1d4+1 (Force)
888 Dash λΉ„μ „νˆ¬ - 이동 거리 2λ°°

ν˜„μž¬ μƒνƒœ

μ™„μ„±λœ κΈ°λŠ₯

  • βœ… μ „νˆ¬ μ‹œμŠ€ν…œ: ν„΄μ œ μ „νˆ¬ 루프, 행동λ ₯ 관리
  • βœ… μŠ€ν‚¬ μ‹€ν–‰: μ˜ˆμ•½β†’νƒ€κ²ŒνŒ…β†’μ»€λ°‹β†’Task μ‹€ν–‰
  • βœ… UI μ‹œμŠ€ν…œ: 행동 슬둯, ν„΄ μˆœμ„œ, HP λ°”, μ „νˆ¬ κ²°κ³Ό
  • βœ… 이동 μ‹œμŠ€ν…œ: NavMesh 기반, 거리 μ œν•œ, μ‹€μ‹œκ°„ ν‘œμ‹œ
  • βœ… 적 AI: κ°„λ‹¨ν•œ FSM (Plan β†’ Execute)
  • βœ… μ—°μΆœ: Fade-out μ• λ‹ˆλ©”μ΄μ…˜, 포트레이트 μ „ν™˜
  • βœ… μ‚¬μš΄λ“œ: λ°°κ²½μŒμ•…, 효과음 (μ „νˆ¬, μŠ€ν‚¬)

ν–₯ν›„ κ°œμ„  과제

  • ⬜ 데이터 에셋 μˆ˜μΉ˜ν™”: λͺ¨λ“  μŠ€ν‚¬ νŒŒλΌλ―Έν„°λ₯Ό μ—λ””ν„°μ—μ„œ νŽΈμ§‘ κ°€λŠ₯ν•˜κ²Œ
  • ⬜ λΈ”λ£¨ν”„λ¦°νŠΈ μžλ™ν™”: μŠ€ν‚¬ μ •μ˜ ν”„λ‘œμ„ΈμŠ€ κ°„μ†Œν™”
  • ⬜ UI 바인딩 정리: Widget-Controller κ°„ λŠμŠ¨ν•œ κ²°ν•© κ°•ν™”
  • ⬜ 더 λ³΅μž‘ν•œ AI: 거리 계산, λŒ€ν˜• λͺΉ, 쑰건뢀 행동
  • ⬜ μΆ”κ°€ μŠ€ν‚¬: 버프/디버프, 치유, μ˜μ—­ 지속 효과
  • ⬜ λ„€νŠΈμ›Œν¬ 동기화: λ©€ν‹°ν”Œλ ˆμ΄μ–΄ 지원 (선택)

μ°Έκ³  λ¬Έμ„œ

  • 섀계 λ¬Έμ„œ: Docs/Design_SkillExecutionSubsystem.md
  • 컀밋 μš”μ•½: Lauren_commit_summary_2025-09-16_19.txt

λΌμ΄μ„ μŠ€

이 ν”„λ‘œμ νŠΈλŠ” ν•™μŠ΅ λͺ©μ μœΌλ‘œ μ œμž‘λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

문의

ν”„λ‘œμ νŠΈ κ΄€λ ¨ λ¬Έμ˜λŠ” GitHub Issuesλ₯Ό 톡해 μ œμΆœν•΄μ£Όμ„Έμš”.


ν”„λ‘œμ νŠΈ λͺ©ν‘œ: C++ 기반의 λΉ λ₯Έ μ „νˆ¬ 루프 검증, μŠ€ν‚¬ μ˜ˆμ•½β†’νƒ€κ²ŒνŒ…β†’μ»€λ°‹ νŒŒμ΄ν”„λΌμΈ, ν„΄μ œ UI 톡합, AI 적 ν„΄ μžλ™ν™”, μ „νˆ¬ μ—°μΆœ 및 μ‚¬μš΄λ“œ 완성도 확보

About

Unreal Engine 3 Baldur's Gate 3 Project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages