성공을 향한 일기장

2023년 6월 18일 일기

푸른매실 2023. 6. 18. 20:03

2023 06 18

오늘은 아침에 일어나서 가족끼리 산에 갔다왔다. 이전에 한번 갔던 코스였는데, 다시 한번 가게 되는 눈에 익었다. 그리고 무엇보다도 아침에 등산해서 그런지 기분이 좋았다. 특히 쿨토시의 효과를 이번에 확실히 깨달았는데, 체온이 올라가거나 날씨가 더울때 효과가 만점이다. 그래서 단순히 맨팔로 있는 것보다 쿨토시 하나를 위에 입으면 훨씬 시원한 효과가 있다. 그래서 이것을 응용해보면 집에서도 한여름에 시원하게 보낼 수 있지 않을까 생각해본다. 그리고 이전에 등산했었을 때에는 무의식의 힘이 상당히 강했었는데, 이번에는 나의 의식으로 충분히 통제할 수 있을 정도로 지배력이 강해졌다. 아무래도 3개월간의 훈련이 헛되지는 않았나 보다. 점점 나의 무의식도 그것을 받아들이고 있고, 나 또한 더욱 지금의 경지를 초월하기 위해 노력하고 있다. 그리고 멘토링인지 어디서 들었는지는 기억이 안나지만, 매우 큰 성장하기 위해서는 한계점을 많이 돌파해야 한다는 내용이 기억난다. 물론 자신의 한계 안에서 꾸준히 연습하여 한계범위가 천천히 넓어지는 것도 하나의 방법이다. 하지만 우리가 흔히 보는 성장형 주인공의 경우(만화, 영화, 애니, 드라마 등 매체물) 항상 한계에 맞선다. 그리고 그 한계를 넘어서게 되면 더욱 강력해진다. 보통은 한계를 넘어서기는 어렵다. 인간의 본능상 즉각적인 보상이 들어오지 않기에, 본능적으로 한계에 도전하는 것을 거부하는 것이다. 그렇기에 이 부분은 깊이 생각해 볼 필요가 있다. 특히나 나의 경우라면 이제 곧 일하게 될 게임개발 부분에 있어서 한계를 많이 맞닿들이고 그것을 이겨내는 연습을 많이 해야한다. 물론 성공으로 가기 위한 많은 방법중 , 아주 작은 한걸음에 지나지 않지만, 적어도 내가 선택했고, 지금 하고 있는 것에 최선을 다해야 된다고 생각한다. 오늘은 아침 일찍 갔었기에 루틴을 실행할 시간을 뒤로 미루었다. 그리고 어제와 같이 꾸준히 루틴대로 행동했고, 남는 시간은 독서와 자기계발 매체를 보거나, 취미역량 강화에 힘썼다. 물론 날이 덥기에 의욕이 조금 떨어지는 부분도 있었으나, 이부분도 극복할 방법을 고려하고 있다. 여름이라면 31번째 맞이하는 만큼 충분한 노하우가 생길 수 있을 거라고 생각한다. 그리고 오늘 본 사이코패스 Sinner of System 의 시리즈에서는 역시 생각할 만한 거리가 많았다. 모순과 정의, 그리고 개인과 단체, 그 속에서의 우리의 선택, 그리고 확실한 것이 없다는 포스트 모더니즘 개념이다. 현재 현대철학중 하나인 포스트 모더니즘에서 다음 단계가 어떤 것인지는 상상이 잘 가지는 않지만, 적어도 현재를 만족할 수 있는 범위의 개념이지 않을 까 싶다. 그리고 이력서를 써야되기에, 하루에 조금씩 전체 내용을 바꾸면서 의욕을 불어일으 킬 수 있도록 일부러 하루에 천천히 진행하고 있다. 왜냐하면 이력서 같은 경우 하루만에 작성하기에는 무리가 있고, 그 이력서의 내용이나 진행하는 프로젝트에 대한 깊은 이해, 그리고 무엇보다도 이력서의 핵심인 보는 사람에 대한 영향력이 커야되기에, 그런 표현 부분을 많이 고려해야 된다. 그래서 하루에 이력서에 투자하는 시간은 그렇게 크지 않고, 오히려 이력서에 포함되는 포트폴리오나 개발지식, 개발자로써의 태도, 신념 등을 더욱 발전시키려고 노력하고 있다. 그리고 남은 10분정도는 아래의 질문에 답해야겠다. 

*본인의 코드를 설명하고, 어떤 문제를 해결하기 위해 사용했는지 설명해주세요.

저는 오브젝트 풀링을 통해서 게임을 최적화 할 수 있었고, 그 안의 대표적인 메소드를 언급한다면, 코루틴, 이니시에이트, 클래스의 상속관계들을 이용하여  다양한 기술로 원하는 로직을 구현할 수 있었습니다. 원래는 이니시에이트를 통해 오브젝트를 자유롭게 소환할 수 있었지만, 유니티의 경우 게임을 진행하면서 가비지 컬렉터가 나중에 이부분을 수행할 때 이니시에이트의 진행과정이 많을 수록, 게임도중에 잔렉이나 멈춤현상 등이 있을 수 있기에, 이런 부분을 방지하기 위한 오브젝트 풀링을 작성했습니다. 즉 제한된 용량을 미리 설정해두고 그 안에서 필요한 만큼의 오브젝트를 만들고 지우기에, 따로 가비지 콜렉터가 추가적인 일을 할 필요없이, 렉없이 게임을 할 수 있다는 것입니다. 그리고 코루틴을 통해 비동기 처리부분을 구현할 수 있다는 점에서 흥미가 있었습니다. 보통은 자바스크립트에서 많이 나온 개념이라 이부분을 처음에는 이해하기 어려웠으나 많이 사용해보면서 코루틴 부분에 대해서 많이 깨달아 볼 수 있었습니다 .그리고 클래스의 상속관계를 통해 부모 클래스로부터 메소드와 변수등을 상속받아 따로 공간을 확보하거나 중복 로직을 쓰지 않아도, 편리하게 그대로 사용할 수 있다는 장점을 깨달았습니다. 그리고 유니티의 라이프 사이클에 대해서 좀 더 이해도 높게 코드를 작성할 수 있었습니다. 이전에는 단순히 눈으로 보고 넘긴 라이프 사이클이 실제로 코드가 작동할 때, 어떤식으로 처음과 끝이 이루어지는지 알 수 있게 되었습니다. 특히나 오브젝트가 사라지고 다시 나타날때 그때도 유니티의 라이프사이클이 적용된다는 것을 다시끔 깨달고, 이 기법을 이용하여 처음 코드부분에 응용하는 것을 많이 적용할 수 있게 되었습니다.

*게임 클라이언트 개발에서 자주 사용하는 디자인 패턴은 무엇인가요?

디자인 패턴을 자주 사용하는 것은 없지만, 지금까지 많이 경험해 본것은 페럴레이드 기법과 애니메이션 효과, 잔상효과, 타격효과 정도 될 것 같습니다.

*게임 성능 최적화에 대해 어떤 경험이 있나요?

성능 최적화는 오브젝트 풀링을 통해 미리 사전에 제한된 용량을 두고 이용하여, 가비지 컬렉터로 인한  잔렉이 생기지 않도록 로직을 구성했고, 만약 이렇게 하지 않는 다면 이니시에이트를 자주 작성하여 그 때마다 계속 공간이 높아지고 가비지 컬렉터가 작동하여, 잔렉이 발생할 수 잇습니다. 또한 타격효과나 자주 사용하는 메소드의 경우 따로 커스텀화 혹은 타입으로 설정해높거나, 태그, 레이어 등으로 묶어서 처리하거나 기존에 중복 혹은 무겁게 이용했던 방법을 보다 가볍게 이용하는 방식으로 최적화에 힘썼습니다.

 

'성공을 향한 일기장' 카테고리의 다른 글

2023년 6월 20일 일기  (0) 2023.06.20
2023년 6월 19일 일기  (0) 2023.06.19
2023년 6월 17일 일기  (0) 2023.06.17
2023년 6월 16일 일기  (2) 2023.06.16
2023년 6월 15일 일기  (0) 2023.06.15