게임 프로그래밍 패턴
-
게임 프로그래밍 패턴 Part 2 디자인 패턴 다시보기 - 상태보관함 2020. 3. 23. 19:40
게임 프로그래밍 패턴로버트 나이스트롬 (Robert Nystrom) 상세보기 이 시리즈는 [게임 프로그래밍 패턴]에 등장하는 팁을 정리하고 패턴을 직접 구현하거나 구현되어 있는 패턴을 확인하는 것으로 해당 패턴에 대해 이해하는 것을 목표로 한다. 이번 포스팅에서는 Part 2의 여섯 번째 패턴인 상태 패턴을 살펴보고 상태 패턴을 이용해 간단한 플랫포머 게임을 만들어 보는 것을 목표로 한다. 상태 패턴이란?) [GoF디자인 패턴]에서는 상태 패턴을 다음과 같이 소개했다. 객체의 내부 상태에 따라 스스로 행동을 변경할 수 있게 허가하는 패턴으로, 이렇게 하면 객체는 마치 자신의 클래스를 바꾸는 것처럼 보입니다. 내가 이해한 내용으로 설명하면 상태패턴은 FSM에 OOP를 적용한 것이라고 할 수 있겠다. 즉, ..
-
게임 프로그래밍 패턴 Part 2 디자인 패턴 다시 보기 - 싱글턴보관함 2020. 3. 1. 14:51
게임 프로그래밍 패턴로버트 나이스트롬 (Robert Nystrom) 상세보기 이 시리즈는 [게임 프로그래밍 패턴]에 등장하는 팁을 정리하고 패턴을 직접 구현하거나 구현되어 있는 패턴을 확인하는 것으로 해당 패턴에 대해 이해하는 것을 목표로 한다. 이번 포스팅에서는 Part 2의 다섯 번째 패턴인 싱글턴을 살펴보고 저자가 주장하는 싱글턴 사용을 피해야 하는 이유에 대해서 자세히 살펴보는 것을 목표로 한다. 싱글턴 패턴이란?) [GoF디자인 패턴]에서는 싱글턴 패턴을 다음과 같이 소개했다. 오직 한 개의 클래스 인스턴스만을 갖도록 보장하고, 이에 대한 전역적인 접근점을 제공합니다. 코드로 살펴보면 다음과 같이 인스턴스 생성이 하나만 되도록 제한하고 전역 변수로 접근하도록 만드는 것이다. class TestC..
-
게임 프로그래밍 패턴 Part 2 디자인 패턴 다시 보기 - 프로토타입보관함 2020. 2. 8. 19:08
게임 프로그래밍 패턴로버트 나이스트롬 (Robert Nystrom) 상세보기 이 시리즈는 [게임 프로그래밍 패턴]에 등장하는 팁을 정리하고 패턴을 직접 구현하거나 구현되어 있는 패턴을 확인하는 것으로 해당 패턴에 대해 이해하는 것을 목표로 한다. 이번 포스팅에서는 Part 2의 네 번째 패턴인 프로토타입 패턴을 살펴보고 유니티에 적용된 프로토타입 패턴인 프리팹에 대해 이해하는 것을 목표로 한다. 프로토타입 패턴이란?) [GoF디자인 패턴]에서는 프로토타입 패턴을 다음과 같이 소개했다. 원형이 되는 인스턴스를 사용하여 생성할 객체의 종류를 명시하고, 이렇게 만든 견본을 복사해서 새로운 객체를 생성합니다. 이 프로토타입 패턴의 핵심을 저자는 다음과 같이 설명했다. 핵심은 어떤 객체가 자기와 비슷한 객체를 스..
-
게임 프로그래밍 패턴 Part 2 디자인 패턴 다시 보기 - 관찰자보관함 2020. 2. 1. 15:37
게임 프로그래밍 패턴로버트 나이스트롬 (Robert Nystrom) 상세보기 이 시리즈는 [게임 프로그래밍 패턴]에 등장하는 팁을 정리하고 패턴을 직접 구현하거나 구현되어 있는 패턴을 확인하는 것으로 해당 패턴에 대해 이해하는 것을 목표로 한다. 이번 포스팅에서는 Part 2의 세 번째 패턴인 관찰자 패턴을 살펴보고 유니티로 관찰자 패턴을 이용한 업적 시스템을 만드는 것을 목표로 한다. 관찰자 패턴이란?) [GoF디자인 패턴]에서는 관찰자 패턴을 다음과 같이 소개했다. 객체 사이에 일 대 다의 의존 관계를 정의해두어, 어떤 객체의 상태가 변할 때 그 객체에 의존성을 가진 다른 객체들이 그 변화를 통지받고 자동으로 업데이트될 수 있게 만듭니다. 이것을 다시 말하면 어떤 기능을 담당하는 시스템을 객체가 구독..
-
게임 프로그래밍 패턴 Part 2 디자인 패턴 다시 보기 - 경량보관함 2020. 1. 27. 12:39
게임 프로그래밍 패턴로버트 나이스트롬 (Robert Nystrom) 상세보기 이 시리즈는 [게임 프로그래밍 패턴]에 등장하는 팁을 정리하고 패턴을 직접 구현하거나 구현되어 있는 패턴을 확인하는 것으로 해당 패턴에 대해 이해하는 것을 목표로 한다. 이번 포스팅에서는 Part 2의 두 번째 패턴인 경량 패턴을 살펴보고 유니티에서 어떻게 사용되었는지 파악하는 것을 목표로 한다. 경량 패턴이란?) [GoF디자인 패턴]에서는 경량 패턴을 다음과 같이 소개했다. 공유(shring)를 통해 많은 수의 소립(fine_grained) 객체들을 효과적으로 지원합니다. 저자는 경량 패턴을 게임에서 숲을 그리는(렌더링하는) 것으로 설명했다. 가령 숲에 많은 수의 나무가 존재하는데 멀리에서 볼 때는 나무가 비슷해 보이므로 객체..
-
게임 프로그래밍 패턴 Part 2 디자인 패턴 다시 보기 - 명령보관함 2020. 1. 18. 19:43
게임 프로그래밍 패턴로버트 나이스트롬 (Robert Nystrom) 상세보기 이 시리즈는 [게임 프로그래밍 패턴]에 등장하는 팁을 정리하고 패턴을 직접 구현하거나 구현되어 있는 패턴을 확인하는 것으로 해당 패턴에 대해 이해하는 것을 목표로 한다. 이번 포스팅에서는 Part 2의 첫 번째 패턴인 명령 패턴을 살펴보고 유니티로 구현해 보는 것을 목표로 한다. 명령 패턴이란?) [GoF디자인 패턴]에서는 명령 패턴을 다음과 같이 소개했다. 요청 자체를 캡슐화하는 것입니다. 이를 통해 요청이 서로 다른 사용자(Client)를 매개변수로 만들고, 요청을 대기시키거나 로깅하며, 되돌릴 수 있는 연산을 지원합니다. 또, 명령 패턴에 대해 책의 저자는 다음과 같이 요약했다. 명령 패턴은 메서드 호출을 실체화(Reify..
-
게임 프로그래밍 패턴 Part 2 디자인 패턴 다시 보기보관함 2020. 1. 12. 17:24
게임 프로그래밍 패턴로버트 나이스트롬 (Robert Nystrom) 상세보기 이 시리즈는 [게임 프로그래밍 패턴]에 등장하는 팁을 정리하고 패턴을 직접 구현하거나 구현되어 있는 패턴을 확인하는 것으로 해당 패턴에 대해 이해하는 것을 목표로 한다. 이번 포스팅에서는 저자가 '대자인 패턴 다시 보기'라는 파트를 다루는 이유와 이 파트에서 다루는 패턴에 대해 간단하게 정리한다. 저자가 이번 파트를 다루는 이유) 이 책의 2부에서는 [GoF의 디자인 패턴]에 나온 여러 디자인 패턴을 게임 개발에 어떻게 적용할 수 있을지를 다룬다. 저자는 기본적으로 프로그래밍 패턴을 게임에 어떻게 적용할 수 있을지 이해를 돕기 위해 이 책을 작성했으며 그 일환으로 디자인 패턴 중 유용하거나 재미있는 것을 Part 2에서 다룬다...
-
게임 프로그래밍 패턴 Part 1 도입 - 구조, 성능, 게임보관함 2020. 1. 11. 18:40
게임 프로그래밍 패턴로버트 나이스트롬 (Robert Nystrom) 상세보기 이 시리즈는 [게임 프로그래밍 패턴]에 등장하는 팁을 정리하고 패턴을 직접 구현하거나 구현되어 있는 패턴을 확인하는 것으로 해당 패턴에 대해 이해하는 것을 목표로 한다. 이번 포스팅에서는 책의 도입부 내용에 등장하는 저자의 생각과 내가 생각하는 중요한 내용을 정리한다. Part1 도입의 전문은 [게임 프로그래밍 패턴-맛보기 by 한빛미디어]에서 볼 수 있다. 소프트웨어 구조란?) 작업에 들어가기 전에 알아야 할 지식의 양을 줄이는 것. 이것이 내가 생각하는 소프트웨어 구조의 핵심 목표다. 저자는 코드의 개선이 필요한 경우 혹은 기능이 추가되어야 할 때 기존 코드를 이해하고 문제 해결에 필요한 코드를 작성하고 테스트한 뒤 코드를 ..