오늘 학습 키워드

최종 팀 프로젝트, 모의 면접

오늘 학습 한 내용을 나만의 언어로 정리하기

HandleInput 리팩토링 이어서

  • 맨 하단에 있는걸 상단의 SubState에서 처리하도록 변경

SkillBase 리팩토링

  • 공통 로직을 SkillBase로 옮김
// SkillBase.cs
public abstract class SkillBase  
{  
    #region 공통  
    public int skillId;  
    public float cooldown;  
    public int needStamina;  
    public float lastUsedTime = float.MinValue;  
    protected bool useSuccessed = false; // 사용 여부  
  
    protected PlayerController controller;  
      
    // 시간 쪼개기   
protected float startStateTime;  
    protected float startAttackTime = 0.01f;  
    protected float animRunningTime = 0f;  
    protected float animationLength;  
    #endregion  
    #region 딜링기  
    public int[] damages;  
    #endregion  
    #region 버프  
  
    public int buffValue;  
    public float duration;  
    #endregion  
  
    public void Init(int skillId, int[] damages, int buffValue, int needStamina, float cooldown, float duration)  
    {  
        this.skillId = skillId;  
        this.damages = damages;  
        this.buffValue = buffValue;  
        this.needStamina = needStamina;  
        this.cooldown = cooldown;  
        this.duration = duration;  
    }  
  
    public void SettingController(PlayerController controller)  
    {  
        this.controller = controller;  
        animationLength =   
            controller.Animator.animator.runtimeAnimatorController  
                .animationClips.First(c => c.name == $"{GetType().Name}").length;  
    }  
      
    public abstract void Enter();  
    public abstract void LogicUpdate();  
  
    public virtual void Exit()  
    {  
        Debug.Log($"[플레이어] 스킬 종료");  
        controller.PlayerInputEnable();  
        controller.Move.rb.gravityScale = 1f;  
        if(useSuccessed) lastUsedTime = Time.time;  
        controller.Condition.isCharge = false;  
    }  
}

스팀 출시 전략 강의

  • 최강의 포트폴리오는 성과가 있는 출시작임.
    • 출시작 장점 : 무슨 프로젝트라고 소개하기 좋음. 성과가 있어도 좋음. 성과가 없어도 오답노트를 가지고 있음. 신입의 주 작업인 SDK연동, 분석 툴 작업 등 실무작업 경험 어필 가능
    • 수익 창출을 노렸던 프로젝트가 가치있음.
    • 무료 출시만 해놓고 방치하면 서비스 경험이 없다고 판단함.
    • 출시 의미 : 고객 서비스(CS)와 버그/업데이트 등의 프로세스 경험 파악이 목적
    • 최종 프로젝트는 끝이 아님. 출시해서 돈을 벌겠다는 마음가짐으로 꾸준히 업데이트 하셈!
  • 스팀은 생각보다 돈이 안됨.
  • IP 유지는 스팀이 우세, 수익 자체는 모바일이 압도적으로 우세.
  • 스팀 개발자 등록 방법
    • 사업자 등록증이 없으면 개인 수수료 60% 떼감 + 스팀에서 15% 떼감
    • 사업자 등록증이 있으면 W-8BEN, SS-4 문서 필요. 기업 수수료 20% 떼감 + 스팀 15% 떼감
    • 보증금 100달러를 내면 새 어플리케이션 생성이 가능. 수익이 1000달러가 넘을 시 보증금을 돌려줌
    • 체크리스트를 하나씩 해가면 됨
    • 게임 설명 영어는 꼭 포함해야됨
    • 게임 설명 꽉꽉 포함해야됨
    • 이미지 포함!!
    • SDK 연동 잘되어있으면 잘 뜸
    • 출시는 최~대한 미루고, itch.io에 체험판부터 올리셈. 최소한 찜이 1000개 이상 되어야함.
    • 스토리 게임은 얼엑 절대 금지.
    • 크라우드 펀딩 준비는 최소 펀딩 2달 전에 시작. 개발은 80% 이상 완료 되었을 때 진행하고, 100% 완료 한 후에 진행해도 무방.
    • 자금의 확보보다는 홍보의 목적이 강함.
    • 텀블벅 : AI 절대 안됨. 실물 굿즈를 선호함
    • 킥스타터 : 높은 퀄리티를 요구함. 영어로 인한 진입장벽

학습하며 겪었던 문제점 & 에러

문제 1

  • 문제&에러에 대한 정의 dodge가 특정 상황 (더블점프, 낙하) 에서 키 입력하면서 하면 안됐음
  • 내가 한 시도 그래서 그냥 계속 velocity를 지정해줌. 왜 안됐는지 모르겠음…

문제 2

  • 문제&에러에 대한 정의

  • 내가 한 시도

  • 해결 방법

  • 새롭게 알게 된 점

  • 이 문제&에러를 다시 만나게 되었다면?

내일 학습 할 것은 무엇인지