디펜스 게임은 기본적으로 적이 점점 강해지므로, 플레이어도 그에 맞춰 강화할 수 있는 시스템이 필요하다.
기본 스탯 업그레이드부터 구성했다.
- 공격력 증가
- 공격속도 증가
- 사거리 증가
세 가지 중 어떤 걸 먼저 올릴지는 플레이어가 선택할 수 있도록 하고, 밸런스를 맞추는 것이 중요하다.
UI 구성과 비용 로직
버튼 3개를 만들고, 각각의 스탯을 강화할 수 있게 연결했다.
강화에는 골드가 필요하고, 업그레이드할수록 비용이 점점 늘어나도록 한다.
ChatGPT에게 “업그레이드마다 비용이 증가하는 로직”을 요청하여 간단히 작성했다.
비용이 늘어나는 방식은 baseCost에 일정 계수를 곱하는 방식을 제안 받았으나
난 조금 더 직관적으로, +10씩 증가하는 방식을 채택했다.
public void UpgradeDamage()
{
int cost = GetEffectiveCost(damageUpgradeCost);
if (gold >= cost)
{
gold -= cost;
attackDamage += 1;
damageUpgradeCost += 10;
UpdateUI();
}
}
비용은 GetEffectiveCost()로 계산되는데,
향후 게임 컨셉인 스킬트리를 고려하여 스킬 효과에 따라 할인율이 적용되도록 만들었다.
(여기서 만들었다는건 GPT에게 향후 이런 스킬도 적용할 수 있도록 만들어 놓으라고 하는 것이다..ㅎㅎ)
타워 스탯을 볼 수 있도록 화면 아래에 현스탯을 표시하고, 업그레이드를 하면 스탯 숫자가 UI에 즉시 반영되도록 한다.
공격력은 “기본 + 보너스” 형태로 표시했는데, 보너스는 향후 만들 스킬트리를 고려한 것이다.
사거리는 범위 원으로 표시되는데, 업그레이드 시 바로 갱신되도록 했다.
ChatGPT와 작업하면서 “설계는 직접하고, GPT를 코딩 어시스턴트로 쓰는 방식”에 대한 감각이 생기기 시작했던 것 같다.
'DOT Defense' 카테고리의 다른 글
| 적 스폰 시스템 만들기 (0) | 2025.05.22 |
|---|---|
| 인앱결제 시 구글 수수료 15% 적용하기 (0) | 2025.05.10 |
| 플레이 스토어 국가별 앱정보 수정 (0) | 2025.05.05 |
| 게임출시 닷디펜스 DOT Defense! (0) | 2025.05.05 |
| 타워 만들기 – ChatGPT로 기본 공격을 구현 (0) | 2025.04.28 |