전체 글 (44) 썸네일형 리스트형 [2D 카메라 액션 패키지 개발] #03 - 계층 구조 기반으로 원사이클 코드 완성 개요 계층 구조를 짜두고 플로우를 보면서 최대한 책임 분리를 생각하면서 클래스 파일을 만들고, 코드를 작성했다. 책임을 분리한다는 것 때문에 특정 객체가 어떤 곳에서 호출되는지 해당 객체에서는 보이지 않았다. 이 때문에 처음 하루동안에는 코드를 작성하는데 버퍼링이 걸렸다. 그러다 방법을 찾았는데, 내가 짠 계층 구조 중 시스템 계층부터 메서드와 주석을 달아보는 것이었다. 시스템 계층은 데이터, 프레젠테이션 등 여러 계층을 한데 묶어서 연결해주는 풀(glue)의 역할을 하는 유일한 계층이었기 때문에 머리에 떠오르는 흐름과 같아 훨씬 더 빠르게 작업이 이루어졌다. 주석으로 작성한 내용을 하나하나 보면서 필요한 객체를 정의하고, 구현하는 것으로 순서를 바꾸니 놀랍게도 이전에 어려웠던 클래스의 구현도 크게.. [2D 카메라 액션 패키지 개발] #02 - 모듈화 기준, 설정 계층 정의 서론 플로우가 잡히고, 실제 개발에 들어가기 전에 거대한 개발 범위를 축소해야 한다. 이전에 내가 개발을 하다가 어려움에 부딪히거나 그 때문에 멈춰 섰던 이유가 무엇일까? 여러 이유가 있었지만 개발 범위를 너무 넓게 잡아서 그랬던 기억이 많다. 그래서 이번에는 개발에 앞서 범위를 작게 시작하여 독립적으로 개발하고 이후에 연결하고자 한다.모듈화 기준 모듈화의 기준은 무엇일까? 내가 참고한 블로그에 따르면 클래스의 기능을 컴퓨터 부품처럼 분리하여 마치 컴퓨터를 조립하듯 기능들을 조합해 객체를 완성시키는 것이라고 한다. 부품을 나누는 데에는 어떠한 의미가 있을까? '전체 플로우에서 각 부품이 어떠한 책임을 지는가'에 의미를 두어야 한다고 생각한다. 참고로 객체 지향 설계의 5원칙인 SOLID 원칙에서 S.. [2D 카메라 액션 패키지 개발] #01 - 기능 정의 및 플로우 차트 작성 서론 유니티 개발자로 일하고 다시 이직 준비를 하면서 항상 게임 완성을 위해서 개발을 임해왔다. 그렇게 많은 성과들이 있었지만 한편으로는 후회가 되는 점이 많이 생겼다. 먼저 완성이라는 거대한 목표를 향해 가는 여정이라고 생각하다 보니 중간중간 결과물을 남기는 것에 소홀했다. 특히 중간에 프로젝트가 멈추게 되면, 정리해 둔 것이 없어 내 노력에 비해 눈에 보이는 성과가 없는 것처럼 보였고, 이것이 생각보다 나에게 더 큰 허무를 주었다. 꼭 정리된 결과물만 문제가 되는 것은 아니었다. 한 게임의 완성을 목표로 개발하게 되면 초기에 아무리 FDD(기능 주도 개발)로 개발을 하겠다고 마음먹었다고 해도 기능의 구분이 모호해지고, 결국 독립적으로 기능을 떼어 만들 수 없었다. 이 때문에 장기적으로는 디버깅이.. 유데미 스타터스 유니티 개발자 취업 부트캠프 1기 - 프로젝트 코스 7주차 학습 일지 벌써 다음주면 스타터스 프로젝트 코스가 끝난다. 마지막 발표 전 구현하고, 버그 수정하고, 배포하고... 할 일은 산더미인데 너무나 시간이 빠르게 지나가는 것 같은 한 주였다. 그래도 어느정도 구실을 갖춰지는 모습을 보면 뭔가 할머니가 다 큰 아들을 보는 기분 같이 대견한 마음이 들기는 하는 것 같다. ㅎㅎ 레벨 에디터 모드 레벨 에디터 모드(별 생성)는 유저가 스스로 맵을 디자인하고 만들어서 플레이할 수 있는 모드이다. 스프린트 3에서 가장 중점으로 만들고 있는 새 기능 중 하나로 여기서 난 포인터를 이용해 블록을 만들어 배치하고, 카드를 부여, 시작 카드를 등록 그리고, 모든 ui창 on off하는 기능들을 만들었다. 어떻게 보면 맵을 저장하고, 테스트 플레이하는 기능 전에 구현할 부분을 모두 만들었.. 유데미 스타터스 유니티 개발자 취업 부트캠프 1기 - 프로젝트 코스 6주차 학습 일지 이번 주는 스프린트 2 발표가 있었다. 스프린트 1 발표와는 다르게 it개발실 팀장님 그리고 협력사에서까지 사람이 왔고 더 무거운 분위기였다. 확실히 압박감이 상당했지만.. 그래도 나름 잘 극복했다고 본다. ㅎㅎ 발표 준비 발표 준비라기 보다는 프로젝트 준비에 가까웠다. 프로젝트를 마치 위에 보고하듯이 우리는 프로젝트가 거의 왼성된 모습임을 보여주는게 최우선 목표였다. 그래서 일주일간 정말 열심히 게임 플레이적인 거의 모든 문제들을 해결하려 애썼다. 결국 메인 화면부터 스테이지 4의 시나리오까지 많은 부분을 완성했고 발표 준비 역시 아슬아슬 했지만 발표 전날까지 완성할 수 있었다. 발표 발표는 나와 형상관리에 힘쓰신 다른 팀원분이 하였다. 원래 발표 준비할 적에 기획 팀장님이 내려오신다 그래서 발표 앞 .. 유데미 스타터스 유니티 개발자 취업 부트캠프 1기 - 프로젝트 코스 5주차 학습 일지 이번주 한 마디 스프린트 2의 들어서고 첫 주. 스프린트 1에서 어느 정도 데모 플레이까지 개발이 되어서 얼마 남지 않았구나 하는 생각이 한순간에 확 사라져 버린 한 주였다. 태스크 쪼개기 스프린트 1에서 가장 많이 느낀 것은 개발 자체 보다도 역할을 나누는 것이었다. 결국 1주 차 마무리 과정에서 강사님과 퍼실님한테 상담을 요청하고 여러 가지 팁을 많이 받게 되었다. 그리고 이번 주는 그 팁을 활용하는 첫 주였다. - 스프린트 시작 전에 목표를 정하고 목표에 필요한 태스크를 모두 스프린트 2 할 일로 남기기 - 스프린트 시작 전에 태스크들을 묶어서 기능 명세서 미리 작성하기 - 바로 테스트가 가능하게 유닛테스트로 기능을 개발해라 - PR 시간을 준수해라 - 각 테스크에 시간을 1시간 정도 정해두어 1시.. 유데미 스타터스 유니티 개발자 취업 부트캠프 1기 - 프로젝트 코스 4주차 학습 일지 이번 주는 스프린트 1주차 발표가 있는 주였다. 무엇보다 1 사이클을 완성해서 베타 버전 데모 플레이를 발표하는 것이 제 1의 목표였고, 우리 팀 팀원 모두 그 목표에 다다를 수 있게 최대한 열심히 프로젝트 작업을 해주었다. 덕분에 스프린트 1 발표를 무사히 마치고, 드디어 베타 버전을 완성하게 되었고, 오랜만에 조금은 행복한 주말이 온 것만 같다. 깃허브와 지라를 더 잘 활용하기 상대를 알고 나를 알면 백전백승! 물론 다른 팀과 경쟁을 하고, 승패를 가리는 것은 아니지만, 확실히 상대팀이 어떤 것을 잘하고 있는지 알고 벤치마킹하는 것은 아주 좋은 것이었다. 우리 팀에서 상대적으로 약한 부분이 있다면, 테스크 관리와 협업 툴 사용이라고 할 수 있는데, 이번 주에 확실히 다른 팀의 모습을 보고 많은 것을 .. 유데미 스타터스 유니티 개발자 취업 부트캠프 1기 - 프로젝트 코스 3주차 학습 일지 스프린트 1주 차인 이번 주는 3차원 배열로 블록을 저장하고 가져와서 블록 간 상호작용을 하는 식의 로직을 개발했다. 유닛테스트 식으로 기능을 쪼개서 팀을 나누어 역할을 정하기 시작한 주이기도 했는데, 좋은 방법이었지만, 아직 부족한 점을 많이 느낀 한 주였다. 역할의 유닛 테스트화 첫번째 스프린트의 우리 팀의 목표는 '스테이지 1'의 플레이 구현이었다. 이 부분에서 저번 주에서 막혔던 것 중 최우선으로 구현해야 하는 것이 '상호작용' 문제였고, 해당 지점에서 강사님께 타일맵 배열을 통해 구현하라는 지침을 받고 이번 주는 그 타일맵 데이터 구현 + 검출 로직에 힘을 썼다. 문제는 시간이었다. 하필 설 연휴 때문에 이번 주는 목, 금밖에 시간이 없었고, 금요일에 지침을 받은 뒤에 그렇다 할 역할 분배도 제.. 이전 1 2 3 4 ··· 6 다음