DevCamp 회고 - 9 (정리)

이준호·2024년 7월 6일
0

📌 DevCamp 회고



📌 Done - 24.04.30 ~ 24.05.03 (Check List)

  • 스테이지 3,4 보스 추가

  • 각성 던전 보스 추가(Entry Ani 포함)

  • 동료장착 퀘스트 자동장착 가이드 표기

  • 소환 광고

  • 버프

  • 버프 UI 퀘스트1 백그라운드 뒤로 (버프 UI Lock 유무?)

  • 펫 최대범위 증가 (2 → 2.5)

  • 장비 강화 이펙트 (버튼이벡트)

  • 스킬 확률도 한번 확인 (장비랑 같이 흔들기 확률 0.1% 업글확률 0.05)

  • 영혼구 소환 1~2회 후에 동료 장착 퀘스트가 있으면 좋을 것.

    → 최초 1회 때는 액세서리를 고를 수도 있으니 2회 이후가 안전할 것.

    → 최초 퀘스트 다음 퀘스트 장착 퀘스트 추가. (최초 소환은 토끼, 아라라, 여우 고정)

  • 자동 보스 도전 1회 플레이: 로직을 바꾸지 않으면 1회 클릭으로 퀘스트 변경. 로직을 바꾼다면 자동 보스 도전 체크박스 형태 반영. 현재는 클릭하면 바로 진입되어서.

  • 메인 화면 우측 상단 재화. 다이아 수치 볼드처리.

  • 퀘스트 74 각성석이 부족. 각성석 20레벨 달성하는 퀘스트에서는 보상을 3000 개씩 줘도 좋을 것.

    → 혹은 각성 던전 입장권이 많으니, 던전 클리어 보상을 조금 더 주는 방향도 말이 될 듯.

    → 이 부분에서 재화 수급이 부족해서 각성 던전을 5회 정도 클리어 해야 함.

  • 연출스킵 버튼을 체크박스로 추가. 여백이 아니라.

  • 보스 몬스터 변경. 3 챕터부터.

  • 영혼구 게이지가 부족해서 소환이 어려울 때 토스트 메시지로 피드백.

    → ex) 영혼구 게이지가 부족합니다. 전투 경험치를 통해 게이지를 쌓을 수 있습니다.

  • 소환 확률은 Lv.1 부터 시작하게끔. 팝업에 Lv.0 부터 시작. → 장비, 방어구, 스킬 확률

  • 레드닷 처리 - 무기/갑옷 전체 합성이 가능한데, 레드닷이 보이지 않음

  • 펫 공격력 BigInteger로 변경.

  • 장비 등급 UI 폰트 크기 넘어감 숫자 (유니크)


  • 가이드 퀘스트 direction 은 계속 유지? 반복 퀘스트 시작할 즈음에 없어지게끔. → 확인 필요
  • 동료나 액세서리를 단조에서 새로 뽑은 경우, 인벤토리에서 New 딱지 붙여주기. → 자동장착 유도
  • 레드닷 처리 - 동료나 액세서리를 단조에서 새로 뽑은 경우, 레드닷 보이게끔. → 자동장착 유도
  • 영혼구 소환 퀘스트의 이전 퀘스트 보상을 영혼구 게이지로 주기. 퀘스트 114에서 막힘. → 던전, 광고 등으로 풀기

    버그

    • 보스 도전: UI 로는 막혀 있지만 클릭시 진입 가능한 상태.

    • 레드닷: 자동 장착을 했는데 없어지지 않고 유지됨.

    • 어빌리티 마지막 칸, 0레벨 0재화 1칸 뺴야함.

    • 스킬 승급버튼 ⇒ (승급 미구현, 추가 예정 기능이라 뜨도록 UI Lock)

    • 마나가 없어서 스킬을 사용하지 못하지만, 쿨타임이 돌아감

    • 던전 입장시 n초동안 보스와 플레이어는 대기중인데, 펫은 먼저 움직여서 공격함.

    • 1명짜리 보스한테 공격을 1회밖에 안함

      기능 개발

    • 장비 강화 기능 추가

    • 오프라인 보상 추가. StageManager.cs -> GetCurrentReward

      가이드 퀘스트

    • Auto Skill 이 처음부터 보임. 가이드 퀘스트에 맞게 노출 시키기.

    • 각성 및 어빌리티: 퀘스트에 맞게 노출

    • 퀘스트 6 단조 소환하기: 텍스트를 영혼구 소환하기로 변경.

    • 반복 퀘스트 공격력 증가 표기 체크

단조

  • 레벨업, 오프라인, 골드 던전 에서 단조 게이지 보상 (골드 던전 보상 (단조 게이지 UI 추가))
    • 레벨업 : ForgeSystem.cs 에서 LevelUpReward 메서드를 만들어 파라미터로 int값 플레이어의 level을 받고, 현재는 해당 레벨만큼 단조 게이지를 올려주는 중.
      • BaseLevelSystem.cs 에서 LevelUp 메서드에 레벨업을 할 때, onLevelChange 를 인자로 level을 넣어서 Invoke 하고있다. 현재 ForgeSystem.cs 에서 Unity Behavior Start 메서드에서 구독중. (구독 취소는 없음)
    • 오프라인 : PushNotificationManager.cs 에서 GiveReward 메서드 부분에 스위치문 으로 reward 타입을 받는데 케이스로 ENormalRewardType.ForgeGauge 를 추가해서 해당 케이스의 경우 BigInteger 를 ToInt32 로 변환하여 AddForgeGauge 해주는 중인데 실제 오프라인 보상으로 들어오는지 확인이 필요하고, reward 타입이 랜덤으로 들어오는건지 정해져있는건지도 확인이 필요함.
    • 골드 던전 : (DungeonPanel, DungeonPopup, DungeonRewardPanel) && 각 던전 (Dungeon, StageData SO) && (DungeonData.cs, UIDungeonElement.cs, UIDungeonElementPopup.cs, Defines(ENormalRewardType, ECurrencyType).cs, CurrencyManager.cs) 등 수정이 필요.











📌 Organize

➔ 2024.04.30 (화)

( 장비 소환 확률 조정 & UI Level, 업그레이드 등 버튼 클릭 이펙트 풀링, 장비 빠른 소환 추가, 장비 전체합성 레드닷 추가, 동료,소환 UI 작업, BigInteger 소숫점 2번쨰 까지만, 스테이지 3~4보스 및 각성석 보스 교체)

  • 소환 확률 로직 변경, 소환 확률 UI 레벨 표기 + 1 (1부터 시작)

  • Equip[SummonGacha.cs 의 확률 로직 변경. 기존 등급 확률, 해당 등급 4개 레벨의 확률이 10000 과 10000의 곱으로 들어갔었는데, 등급을 우선 구하고 그 뒤 레벨을 구하는 로직으로 변경.

  • UISummonPercentage.cs / UISummonList.cs 의 UI에 표시되는 소환 레벨이 0부터 시작하여 +1 하여 1부터 시작하도록 변경. 무기,갑옷의 소환 로직이 바뀌어 소환표의 확률표에 100 곱해주던것 삭제.

Upgrade Effect Pooling

  • 스탯 업그레이드 할 때 버튼에서 나오는 이펙트가 풀링이 되고있지 않아서 풀링작업.

  • UIEffectManager.cs

    • ReleaseUpgradeEffect 메서드 -> 파라미터로 들어온 UIEffect 타입을 EasyPool의 Release해준다. (Enqueue)
  • UIEffect.cs

    • OnParticleSytstemStopped 메서드 -> 파티클이 Stop, 끝나면 타입을 Callback으로 해놔서 사용되는 유니티 내장 이벤트 메서드. 자신을 넣어 엔큐한다.

Equip/Skill Fast Summon Add

  • 장비/스킬 소환에 빠른 소환 추가. (소환 속도 및 흔들기 효과 스킵)

  • UISummonList.cs

    • 빠른 소환 토글 체크에 따라 true/false 가 되는 isFast 변수의 값을 받고 적용하는 IsSkip 프로퍼티로 수정.
    • isFast가 체크되고 해제됨에 따라 스킵의 기능이 작동하도록 사용되는 부분들 수정.

Equipment Composite Reddot

  • 장비 전체합성 레드닷 추가.

  • Defines.cs

    • EUpgradeType 에 Wapon/Armor Synthesis 추가.
  • ReddotTree.cs

    • Check(Armor/Weapon)Composite 메서드 -> 장비의 합성이 가능한지에 따라 TurnOnOffReddot 메서드를 통해 레드닷을 키거나 끈다.
    • CheckAll 메서드 -> Check(Armor/Weapon)Composite 메서드에 장비 총량을 넣어 체크
  • EquipmentManager.cs

    • CompositeReddotInvoke 메서드 -> 파라미터로 장비의 타입을 받아 해당 장비의 총량을 매개변수로 넣어 레드닷 합성 이벤트를 발동한다.
  • SummonManager.cs

    • SummonItems 코루틴 메서드 -> 소환이 끝나고 반복여부를 확인하기 전에 장비 합성 레드닷 이벤트 인보크. (장비가 늘어나면 합성이 가능해질 가능성이 있기에)

Colleague AttackStat text BigInteger & Summon Font

  • 동료 펫 공격력 텍스트 출력 BigInteger 로 나타내기 위해 .ChangeToShort() 붙여서 출력

  • 소환시 장비 등급 유티크가 숫자가 밀려 밑으로 내려가 Horizontal Disable로 변경

BigInteger String Format

  • BigInteger 소숫점 2자리 까지만 나오도록 수정.

Stage 3, 4 Boss Add

  • 스테이지 3 보스 마왕, 스테이지 4 보스 사신 추가.

Awaken Dungeon Boss Change

  • 각성석 던전 보스 AwakenStone x 3(Idle) -> Bertha 로 변경.

  • Bertha 보스 몬스터 애니메이션, 스프라이트 작업 등 몬스터 로직 적용 및 각성던전 보스.

Stage3 Boss Change

  • 스테이지 3 보스 교체. Demon -> BigCultist

  • Awaken Dungeon GridMap 보스 스폰지점 위에 이전 각성석 던전 보스(각성석 스톤) Idle 애니메이션만 loop 돌며 배경 추가.






➔ 2024.05.01 (수)

(펫 던전 입장시 기다리는 시간, 1인 보스 공격 안하던것)

Enter Dungeon Colleague Pet Wait

  • 던전 입장시 보스 스폰시간 만큼 펫도 플레이어와 같이 대기하고,양 옆으로 배치되기.

  • AnimalPetData.cs

    • isEnterDungeon bool값 변수 생성.
  • WaitNode.cs

    • isEnterDungeon 이 true 라면 Running을 반환하여 대기하도록 설정.
  • StageManager.cs

    • AnimalPetEnterDungeonSetting 메서드 -> 현재 장착중인 펫의 정보를 가져와서 파라미터 bool값에 따라 isEnterDungeon을 설정해주고, 펫의 순서에 따라 왼쪽, 오른쪽과 거리정도를 설정하여 위치를 이동시켜준다.
    • EnterDungeon 메서드 -> 스폰 입장 WaitForSeconds 가 돌기전에 AnimalPetEnterDungeonSetting 메서드에 true를 인자로 넣어 기다리도록 하고 위치를 셋팅해주고, 끝난뒤 false를 넣어 다시 이동하도록 설정.

Colleague Pet Boss Attack Once

  • 한명짜리 보스 공격을 1회만 하던것 (Wait Node가 InverterNode 뒤로 꼬여있었음)

  • 신규 보스들 PetHitEffect 위치 조정.






➔ 2024.05.02 (목)

(동료 자동장착 가이드 수정, 어빌리티 던전 맵 교체, 장비(무기, 방어구, 스킬) 소환 광고 추가)

Equipment Summon Advertisement

  • 장비 소환(무기, 방어구, 스킬) 광고 소환 추가.

  • 하루 3번까지, 한번에 30개씩 소환.

  • UISummonPanel.cs

    • AdsRemainingNumber 메서드 -> 광고쪽 딕셔너리의 키값을 인자로 받아 스위치문에서 각 키와 버튼 텍스트를 설정해주고 현재 남은 광고의 수를 최신화 시켜준다. 각각 광고 버튼에 어드리스너로 달아둔다.
  • AdsManager.cs

    • MaxSdkKey, adUnitId 는 타이니 SDK 스프레드 시트 값을 보고 설정.
    • Initialize 메서드 -> 각각 값을 초기화 및 Load,
    • adsShowToday ->각 소환의 이름(weapon, armor, skill) 을 스트링 키값으로 가지고 벨류값으로 횟수를 가지는 딕셔너리
    • lastAdShowDate -> 마지막으로 소환한 시간(날짜)를 기준으로 저장되는 DateTime 형식 변수
    • ShowRewardedAd 메서드 -> 파라미터로 광고의 종류 딕셔너리 키값 스트링을 받고 광고 보상을 실행할 메서드를 액션으로 받는다. 현재 딕셔너리에 해당 키값이 없다면 0으로 초기화하고, 있다면 횟수를 증가시키고 리워드액션을 실행시킨다.
    • GetAdCount 메서드 -> 파라미터로 딕셔너리의 키값 스트링을 받아 해당 광고 남은 재생횟수를 int 형으로 반환한다.
    • UpdateAdTracking 메서드 -> 마지막 소환 기준으로 날짜가 바뀌었다면 lastAdShowDate 를 갱신해주고, adsShownToday를 비워줘 다시 광고횟수를 최신화 할 수 있게 해준다.

Colleague Auto Equip Guide & Ability Dungeon

  • 동료 자동장착 가이드 Transform을 추가하여 해당 위치로 이동하는 방식으로 변경

  • 어빌리티 던전 맵 변경

  • 던전 보스들 SpawnTime 변경.






➔ 2024.05.03 (금)

(버프 광고 시청후 적용 및 세이브 로드)

BuffSystem Script Addition

  • 버프 시스템 스크립트 임포트

  • Buff 모듈화

  • IBuff.cs

    • 버프에 중복되어 들어가는 변수, 메서드들의 정의 및 추상화
  • ILevelable.cs

    • 레벨업 기능에 중복되어 들어가는 변수, 메서드들의 정의 및 추상화
  • BuffSlot.cs
    - 버프를 관리하는 Slot

  • BuffUI.cs

    • Buff의 UI를 관리 및 감독
  • UI_Buff

    • Bufff 생성과 BuffSlot 생성을 관리
  • EventScheduler 모듈화

  • ScheduledEvent.cs

    • 이벤트의 정보를 저장하는 데이터 클래스
  • EventScheduler

    • 지연 후 트리거될 이벤트를 예약하는 싱글톤 클래스
  • 각 타입별 Buff Script

    • AttackBuff.cs

    • EXPBonusBuff.cs

    • GoldBonusBuff.cs

      • 각각 IBuff, ILevelable 를 상속받는다.

Buff Btn & Panel UI Prefab

  • 버프 버튼 및 패널 UI 구성

Buff Apply & Ads & Detail

  • 버프 (공격력, 골드, 경험치) 증가 적용 & 광고 시청 후 적용

  • 버프 UI 백그라운드 뒤로

  • 장비 강화 이펙트 추가

  • 펫 MaxRange 증가

  • 스킬 소환 확률 장비와 동일이 변경.

Buff System Apply & Save-Load Controller

  • 버프 모듈화를 가져와서 프로젝트에 맞춰서 셋팅후 적용.

  • 각각 공격, 골드, 경험치 버프가 있고 런타임중에 동적으로 생성되어 BuffPanel 으로 들어간다. 두 개의 인터페이스를 받아 구현되어 있고 각자 속성에 맞는 스탯을 증가시켜준다. 프로퍼티를 이용하여 레벨을 20으로 제한하고 20에 도달하면 레벨 Max 표시 및 게이지를 풀로 찬 상태로 두고 버튼의 인터랙티블을 false로 둔다.

  • 각 Buff 들의 세이브와 BuffSlot의 세이브를 묶어서 UI_Buff에 하나로 묶은 AllSaveBuffData를 BuffSaveControl 에서 OnApplicationPause 에 사용한다.

  • BuffSaveControl.cs 버프에 들어가는 스크립트 안에서 OnApplicationPause 를 사용하면 버프를 사용할 때가 아니면 오브젝트가 꺼져있는 상태라서 유니티 메서드가 실행되지 않는다.
    그래서 따로 버프 초기화 및 세이브를 시켜주기 위해 BuffSaveControl 을 만들어서 OnApplicationPause 안에 buffs의 AllSaveBuffData를 실행하게 해주고 GameManager에서 StartGame메서드에서 PushNotificationManager.instance.Initialize();
    위에서 초기화해준다.

profile
No Easy Day

0개의 댓글