TIL

2024/1/16 TIL

jhwoo1221 2024. 1. 16. 20:46

'오늘의 일에서 나는 어떤 것을 배웠는지' - 학습

팀 과제를 마무리하는 작업을 하면서 자잘한 버그들을 고치는 과정에서 C# 문법의 경험치를 얻었다.

깃헙의 ReadMe 작성을 직접 경험하고 작성법을 학습했다.



'오늘의 나는 무엇을 잘했는지' - 성취

팀과제 - TextRPG에서 직업 3종과 직업당 스킬 2개씩 6종의 스킬을 기획하고 구현했다.

그 과정에서 직업 각각의 개성과 재미 요소, 밸런스에 대해 고찰하는 경험을 했다.

RPG 게임에서 유기적으로 연결되어 복합적인 작용을 하는 수치들 - (체력, 마나, 방어력, 공격력, 회피치, 골드, 경험치, 치확, 치피, 적의 공격력, 적의 체력, 적의 스킬, 적이 드랍하는 골드와 경험치, 적의 회피치, 장비의 능력치와 장비의 가격 등등) 을 조정하는 경험을 했다.

 

아래는 직업 3종의 소개 및 기획 트리비아이다.

직업은 광전사, 용기사, 마법사가 있다.


광전사 - 하이 리스크 하이 리턴.

스킬 2: 갈망은 자신의 최대 체력의 일부를 지불하고 3턴 동안 자신의 공격력을 증폭시킨다.
스킬 1: 피의 광란은 자신의 최대 체력의 절반을 지불하고 단일의 적에게 죽창딜을 꽂으며 그 적이 처치되었다면 체력을 10% 회복하고 다른 무작위 적에게 재시전한다.

피의 광란은 적을 한번에 처치하면 체력 회복 및 재시전 기회를 갖고, 그걸 반복하면 적 전체를 쓸어버릴 수도 있는 잠재력을 갖고 있지만 처치하지 못한다면 너덜너덜한 체력 상태로 적의 공격에 노출되기 때문에 원콤 여부가 무엇보다 중요하다.

갈망을 통해 자가 공증  버프를 얻고 피의 광란 데미지를 높일 수 있지만 체력을 더 지불해야한다.

따라서 높은 공격력과 신중한 체력관리, 스킬 사용 판단이 중요한 직업이라고 할 수 있다.

카운터는 체력이 높고 꾸준히 회복해서 스킬1의 연쇄를 방해하는 적, 즉 고블린 사제와 트롤이며, 서로에게 카운터는 광전사가 원콤낼 수도 있지만 역으로 강한 죽창딜로 낮은 체력의 광전사를 순식간에 보내버릴 수도 있는 오크와 리자드맨이다. 

광전사는 기본적으로 원콤만 낼 수 있다면 모든 몬스터들을 학살할 수 있지만 원콤낼 수 없다면 한없이 무력해진다.

 

용기사 - 로우리스크 미들 리턴
스킬 2: 용혈의 계약은 마나를 조금 소모해 자신의 최대 체력의 일부를 회복하고 3턴 동안 자신의 방어력을 증가시킨다.
스킬 1: 드래곤 스트라이크는 마나를 적당히 소모해 적 전체에 낮은 딜링의 광역 피해를 주고 무작위 한명의 적에게 비교적 강한 죽창딜을 꽂는다.
방어력이 가장 높고 저비용의 자힐기를 갖고 있으며 마나 리젠 또한 적당하고 스킬 2는 광역 딜과 단일 딜에 모두 대응할 수 있기 때문에, 어느 상황에서도 가장 무난한 직업이라고 할 수 있다. 하지만 딜링 능력이 다소 낮은게 단점으로 회복 능력을 가진 적을 처치하는데 어려움이 있다. 카운터는 특별히 없지만 고블린 사제, 트롤, 흡혈 박쥐는 오래 생존할 수록 체력 회복 / 부활 / 최대 체력 증가로 전황을 불리하게 만들기 때문에 까다롭다. 리자드맨과 오크의 죽창딜은 용기사에게 간지러울 뿐더러 리자드맨은 체력이 비교적 낮고 오크는 자해기믹으로 스스로 피를 깎기 때문에 용기사의 낮은 딜링으로도 수월하게 처치할 수 있다.

  
마법사 - [특수] 하이 리스크 하이 리턴
스킬 2: 마법 영창은 마나를 소모하고 3턴 동안 치확, 치피를 대폭 올리며, 스킬 1의 마나소모량을 250 낮춘다.
스킬 1: 대마법: 메테오는 마나 비용이 500이며, 적 전체에 즉사기급의 데미지를 가한다. 사실상 전체 즉사기. 
내구력이 가장 낮고 기본 공격력도 가장 약하며 통상 치명타율은 0이고 회피율도 가장 낮은 캐릭터지만 세 직업중 고점이 가장 높다.

마법사의 기초 최대 마나는 300이기 때문에 통상으로는 대마법:메테오를 시전할 수 없다. 
하지만 마법 영창은 마나 50을 소비하고 3턴 동안 스킬 1의 마나 비용을 250 깎기 때문에, 1스택일 시 스킬 1의 마나 비용이 250이 된다.

1턴 째에 몬스터들에게 집단 구타를 맞는 것을 감수하면서 마법 영창을 사용하고 살아남는다면 2턴째에 적들을 전부 쓸어버릴 수 있다.
하지만 2턴 째에 메테오를 시전한다면 3턴에는 마나도 부족하고 어떤 스킬도 시전할 수 없는 상황이 되기 때문에,

1라운드의 적들을 처치하고 2번째의 라운드가 시작된다면 그대로 아무것도 하지 못하고 마나 리젠만 기다리다가 죽을 수도 있다.

그러나 1턴과 2턴을 몬스터들에게 집단 구타를 당하는 것을 감내하면서 마법 영창 스택을 2중첩으로 쌓는다면, 스킬 1의 마나 비용이 0이 되어 4턴 동안 메테오를 노코스트로 시전할 수 있다.
그러므로 마법사는 이번 턴에 마법 영창을 하고 장기적으로 더 큰 이득을 얻을 것인지 당장 눈앞의 위협을 처리하고 현자타임을 감내할 것인지 현명한 판단이 요구된다.
장기전으로 간다면 마법 영창의 중첩 스택을 현명하게 유지하는 플레이가 요구된다.

카운터는 내구가 낮은 마법사에게 강력하고 치명적인 죽창딜을 넣어 순식간에 패배창으로 보내버리는 리자드맨, 오크이며, 회복류 스킬로 턴을 넘기는 경우가있는 고블린 사제, 트롤은 마법 영창의 턴을 안전하게 벌 수 있기 때문에 가장 만만한 적들이다.


'오늘의 나는 어떤 문제를 겪었는지, 앞으로 어떻게 해결할 것인지' - 개선

기능을 제대로 구현하는 것만으로도 많은 시간을 잡아먹고 그래서 어떻게든 기능이 동작하게만 하는데 급급하다 보니 효율적이고 체계적인 코딩을 하지 못하게 되고,

거기다 다른 팀원분들과의 협업으로 코드가 섞이게 되어서 그래서 나중에는 버그 또는 의도하지 않은 결과가 빈번히 속출해서 바로잡기까지 어려움이 있었다.

어떻게하면 처음부터 탄탄하고 효율적인 구조의 코드를 짤 수 있을지 방법론 학습의 필요성을 느꼈다.

그러므로, 매일매일 알고리즘 1문제 풀기를 빠지지 않고 꾸준히 해야겠다.