3D 게임을 개발할 때 일반적으로 사용되는 디자인 패턴은 무엇입니까? 일반적으로 사용되는 높은 수준의 아키텍처 디자인 패턴이 있습니까? 아키텍처 내의 일반적인 소프트웨어 패턴은 어떻습니까?일반적인 3D 게임 패턴은 무엇입니까?
답변
- 모든 업데이트 단계 (예 : 렌더링) (모든 UI 라이브러리에서 실제로 공통)를 수행하는 복합체. (나무/숲/글 머리 기호) UI 라이브러리의 많은에 대한
- 옵저버 화면에 같은 항목 유형의 대부분을 그리기위한
- 플라이급/게임/메뉴 사이의 전환에 대한
- 상태 (다시, 특정 게임이 아니다) 콘솔/일시 정지/etc. states
- mobs/NPC (한 번에 엄청난 양의 AI 문자가있는 게임, 예 : Left 4 Dead)를 만들기위한 일부 비트 업 종류의 게임에서 초록 공장. A *
- 편집과 같은 알고리즘을 찾는 경로 스와핑 추론에 대한
- 전략>은 주문과 이것 저것을 캐스팅하기 위해 클릭 할 수있는 교환 버튼과 액션 바있다 MMO의 같은 게임에 대한 명령.
내가 지금 생각할 수있는 전부입니다.
상태 패턴의 변형은 게임 상태를 모델링하는 데 유용합니다. Enginuity series of articles은 게임 엔진 디자인의 저수준 측면에 대한 개요입니다. 그것은 불완전하지만 좋은 것입니다. Guff 프레임 워크의 디자이너 outlined the use of state hierarchies은 게임 상태를 처리합니다. 계층 개념은 게임 상태에 대한 관점이 제한적이지만 (단지 상태가 아니라 전체 게임 루프를 포함 함) 좋지만. 또한 이 있습니다.
스크립트를 구현할 때입니다 매우 유용하고 협력 멀티 스레딩의 어떤 종류를 지원하는 스크립트 언어를 사용하는 강력한 입니다. Stackless Python이이를 제공합니다. Mono 2.6부터는 can do this in C# using continuations이지만 Mono 플랫폼 (.NET은 아님)에서만 변경이 필요했습니다.
2D 및 3D 그래픽, 애니메이션, 입력 등에 대한 일반적인 솔루션이 있습니다. 그 중 대부분은 DirectX, SDL 또는 유사한 프레임 워크에서 처리됩니다.
특별히 게임 별 소프트웨어 디자인 패턴이 있다고는 생각하지 않습니다. 게임은 다른 언어와 동일한 언어, 라이브러리, 플랫폼을 사용하며 소프트웨어 수준에서 거의 똑같은 문제에 직면합니다.
인기있는 것 같지만 고전적인 디자인 패턴과 같은 방식으로 코드 수준에서 공식화되지 않은 특정 방법이나 접근 방식이 있습니다. 한 예로 구성 요소 기반 액터가 있는데, 종종 동일한 객체에 집계되지 않고 ID 공유를 통해 신호/슬롯 유형 메커니즘을 통해 통신합니다. 다른 하나는 Lua, Python 또는 Javascript와 같은 스크립팅 목적으로 두 번째 언어를 포함시키는 것입니다.
가능한 게임 아키텍처를 자세하게 설명한 this PDF이 발견되었습니다. 그러나 객체 지향 디자인에 대해 생각하는 경향이있는 독자에게는 '불쾌감을 줄 수 있습니다.'
- 1. 웹 프로그래밍의 일반적인 패턴은 무엇입니까?
- 2. 일반적인 서버 대 클라이언트 통신 패턴은 무엇입니까?
- 3. 일반적인 Windows 서비스 디자인 패턴은 무엇입니까?
- 4. Java에서 3d 게임 프로그래밍
- 5. 3d 게임 엔진 제안
- 6. 3D 게임 개발 시작
- 7. Java에서 3D 게임 프로그래밍
- 8. 자바 3D 게임 개발
- 9. 최고의 아이폰 3D 게임 엔진
- 10. 3D 경주 게임 충돌 감지
- 11. 나만의 3D 게임 엔진 작성
- 12. Unity 3D 게임 패치 도구?
- 13. 3D 게임 WYSIWYG for iPhone
- 14. OpenGL을 사용하는 아이폰 3D 게임
- 15. 라이브러리 초기화 및 종료에 대한 일반적인 패턴은 무엇입니까?
- 16. Android OpenGL-ES 3D 게임 최적화
- 17. 루비 또는 파이썬 용 3D 게임 엔진?
- 18. 임의의 네트워크 기반 3D 게임 개발
- 19. Java에서 LWJGL을 사용하는 브라우저 기반 3D 게임
- 20. 거대한 지형을 지원하는 3D 게임 엔진에 대한 제안 사항은 무엇입니까?
- 21. Android 게임 개발자가 사용하는 OpenGL/3D 프레임 워크는 무엇입니까?
- 22. C++에서 3D 게임 네트워킹의 기본 사항은 무엇입니까?
- 23. Unity3D의 일반적인 iPhone 게임 프로젝트 길이
- 24. Android에서 일반적인 게임 엔진을 사용하는 것이 가능합니까?
- 25. iPhone에서 캐릭터 애니메이션의 일반적인 관행은 무엇입니까?
- 26. 2D iPhone 게임에 사용할 디자인 패턴은 무엇입니까?
- 27. 어려운 패턴은 무엇입니까?
- 28. 저장소의 사양 패턴은 무엇입니까?
- 29. Delphi 용 게임 엔진은 무엇입니까?
- 30. D 언어 용 무료 3D 게임 엔진을 찾고 있습니다.
저는 게임의 모든 다른 구성 요소를 높은 수준에서 이해할 수 있고 유지할 수있는 것으로 구성하는 것과 같은 몇 가지 일반적인 아키텍처 패턴을 찾고 있습니다. MVC 유형 아키텍처 또는 계층화 된 아키텍처와 동일한 게임 개발과 같은 것입니다. –
그들은 존재하지 않는다, 나는 두려워한다! 이런 종류의 질문은 GameDev에서 계속 반복됩니다.실제로는 표준 접근법이나 그와 유사한 어떤 것도 없습니다. 모든 것이 입력 업데이트 렌더링/출력 루프를 가지고 있으며 종종 Matt Olenik이 설명한 것과 비슷한 게임 상태 시스템이 있지만 그 이상으로 다양한 소규모 시스템과 패턴을 임시 배치합니다. 조언을 해줄 수는 있지만, 제 의견은 "공통"이라고 주장하면 거짓말을합니다. – Kylotan