본문 바로가기

분류 전체보기

(45)
내일배움캠프 48일차 TIL - 팀프로젝트 완성 오늘은 테스트플레이를 하며 버그를 잡아내는데 집중하였다. 오늘의 버그 적을 처치했을때 의도한것보다 공격력이 많이 오르는 버그 이는 적의 상태를 체크해주는 장치가 없어서 적이 죽는 그 순간에 타격되는 총알의 갯수만큼 공격력이 올라갔기 때문이다. 이를 해결해주기 위해 적이 죽었는지 체크해주는 bool isDead를 선언하고, 적이 죽을때에 isDead가 false일시 공격력을 올려준뒤 isDead를 true로 바꿔주어 해결했다. 그러자.. 적이 죽어도 공격력이 오르지 않는 버그 가 발생했다. 이는 enemy는 오브젝트 풀을 활용하여 죽은 적들을 재활용해주는 방식을 사용했는데, 적이 죽을때 isDead가 true로 바뀐 상태였기 때문에, isDead가 false일때 발동하는 조건식이 발동하지 않아 공격력이 오..
내일배움캠프 47일차 TIL - 끝없는 버그 버그와의 전쟁, 버그와의 사투 중이다. 오늘의 버그 1. Player의 Bullet 공격력 변화가 제대로 적용되지 않던 것 Player가 몬스터를 잡을때마다 강해지는 수단으로 공격력을 올려주는 방식을 채용했는데, 공격력이 전혀 오르지 않고 있었다. 이에 대한 원인은 Enemy 스크립트 파일에 적들의 체력변화를 담당할 HealthSystem이 담겨있지 않았고, 별도의 Bullet 스크립트 파일로 데미지를 적용하고 있었던 것이었다. 이에 대한 해결방식으로는 HealthSystem을 활용하여 데미지를 입게끔 코드를 싹 갈아엎는 방식과 기존의 방식에서 Bullet 스크립트 파일에 dmg 변수의 값을 올려주는 방식 두가지가 있다. 우리팀은 충분한 논의를 나눈끝에 후자의 방식을 택하기로 했다. 2. Player의 ..
내일배움캠프 46일차 TIL - 팀프로젝트 진행중 팀프로젝트 3일차이다. 오늘까지 해서 내가 맡은 부분에서는 필수구현 사항을 다 구현했고, 합치는 과정중에서 발생하는 버그들을 잡는데에 주력했다. 오늘의 버그 Player의 Bullet이 제각각 나가는 버그 각자의 작업물을 하나로 합치는 과정에서 Player의 Bullet의 갯수를 늘려주는 아이템을 먹었을때 총알이 하나씩 둘씩 제각각 나가고 Bullet들이 자기들끼리 마구잡이로 충돌했다. 이는 Bullet의 트리거를 켜주지 않아서 Bullet 하나 하나에 Collider가 달려있어 그 Collider끼리 부딪혀서 그런것이었다. Bullet의 Collider2D에 Is Trigger를 켜주어 바로 해결했다. 내일 할 일 내가 Player 파트에서 맡은 부분은 다 했기때문에, 내일은 테스트 플레이를 통해 버그..
내일배움캠프 44일차 TIL - 팀프로젝트 시작 오늘부터 팀프로젝트의 시작이다. 쉬엄쉬엄 학습하던 주간이 끝나고 고난의 행군이 다시 시작된다. 이번 프로젝트는 기획부터가 난관이었는데, 기존 프로젝트들은 정해진 주제 내에서 각 조마다 골라서 그에 맞는 게임을 제작했다면 이번에는 아예 주제부터가 자율적으로 게임을 제작하는 것이었다. 필수구현도 선택구현도 모든게 자율인... 그래서 어떤 게임을 만들까 하다가 Arrow a row 라는 게임을 래퍼런스 하여 게임을 만들어보기로 했다. 이번에 나는 Player 파트를 맡았다. 오늘의 작업 Player 이동 먼저 Player를 만들고, Player를 이동시키기 위해 Input System을 Import 한 뒤, wasd binding을 걸어줬는데, 이 게임에서 Player는 좌우이동만 컨트롤 하고 계속해서 앞으로..
내일배움캠프 42일차 TIL - 개인과제 제출 여러가지 일들로 인해 오랜만에 TIL을 써본다. 심화주차가 시작되어 강의를 수강하고 개인과제를 해야하는데 주제는 자율이었다. 자율주제라 무엇을 만들어야할지부터가 굉장히 고민이었는데, 결국 스타유즈맵 중 하나인 모래성전투(또는 데저트스트라이크)를 유니티로 만들어보고자 했다. 모래성 전투의 주요한 특징은 1. 전투를 플레이어가 하는 것이 아닌 컴퓨터가 해준다. 2. 플레이어가 할 것은 건물을 짓는것인데 건물을 지으면 일정시간마다 유닛이 나와 적 진영으로 공격을 나간다. 3. 몬스터 킬등으로 자원을 얻는게 아닌 자동으로 자원이 생산된다. 4. 적도 유닛을 생산하며 적 유닛을 물리치며 적 기지까지 도달하여 파괴하면 승리한다. 가능하면 3번까지 만들어내면 좋겠지만 시간이 촉박하여 3번까지만 만들고 제출하게 되었다..
내일배움캠프 39일차 TIL - 심화주차 시작, 3D는 너무 어려워 오늘부터 새로운 팀원과 함께하는 심화주차가 시작된다. 다시 만난 팀원분도 있고 새롭게 만나는 분도 있고 아무튼 새로운 팀원을 만나는 것은 설렌다. 오늘은 심화주차 강의를 다 듣는게 목표였으나.. 몸상태 이슈도 있고 인터넷 이슈도 있고 심화주차 강의는 또 얼마나 어려운지.. 여러가지 요인으로 인해 학습에 집중이 잘 되질 않았다. 기억에 남는 코드활용방법은.. 저번 숙련주차와 마찬가지로 이번 심화주차도 3D 게임제작을 배우고 있는데, 저번 주차에는 1인칭 게임제작이다보니 캐릭터의 움직임을 구현할때 별도의 애니메이션 없이 비교적 간단하게 이동코드를 짰었다면(심지어 Sprite도 없는 빈 오브젝트에 Collider를 씌웠었다!!), 이번에는 idle, walk, run 심지어 땅에 있을때와 공중에 있을때의 상태..
내일배움캠프 37,38일차 TIL - 팀프로젝트 마무리와 끝 오늘은 내배캠 38일차이다. 37,38일차로 쓰는 이유는 사실상 퇴근을 못하고 팀프로젝트를 만들고 제출하고 발표하고 했기 때문이다... 팀프로젝트를 시작하고 야근을 안한 적이 한번도 없는거 같긴 한데 아예 퇴근을 못한건 처음이었다. 나는 담당한 부분이 GameManager와 맵생성 등이었기에, 타워나 적을 담당해주시는 팀원분이 작업을 마치신 뒤에 병합하거나 GameManager의 손에 쥐여주어야했으므로 맵이나 사운드, 타워스프라이트 등을 찾거나 만듦으로 게임의 완성도를 높이는데에 집중했다. 우리 게임의 장르는 미소녀 타워 디펜스 이기 때문에 타워도 미소녀인게 중요하다. 하지만 우리가 찾은 에셋의 SD버전이 따로 존재하지 않기에 도트를 직접 찍어보았다. 도트를 찍다보니 (놀라울 정도의 낮은 퀄리티이지만) ..
내일배움캠프 35일차 TIL - 팀과제ing 긴 연휴동안 제대로 못쉬고.. 다시 팀과제의 날이 찾아왔다. 나만 제대로 못쉰건가 했는데 팀원들 다 힘들어하더라ㅋㅋ 역시 너무 오래 쉬면 몸이 말을 안듣는다. 오늘 나는 내가 맡은 부분인 GameManager와 TowerPoints를 만들었다. TowerPoints를 만들게 된 계기는 현재 맵의 일부분이 이런 형식이다. 저 큰 4칸이 하나의 유닛 타일이다. 이런식으로 한 유닛 타일에 유닛 하나가 들어가게끔 하는게 본래 목표인데, 타일맵을 만들때 UnitTile을 나눠서 만든게 아니라 한 오브젝트 내에 다 만들었다보니 마우스 클릭을 잘못하면 의도와 다르게 2개의 타워에 걸쳐서 타워를 설치할 수 있기 때문. 이것을 고치려면 정확하게 TowerPoint를 지정해주는 Sprite를 하나 더 만들거나, 아님 Un..