서로를 필요로하는 2 개의 수업을 갖는 것이 나쁜 디자인입니까? 나는 GameEngine몇 가지 GameState물건 을 가진 수업이 있는 작은 게임을 작성하고 있습니다. 여러 렌더링 방법에 액세스하려면 이러한 GameState객체도 GameEngine클래스 를 알아야합니다 . 따라서 순환 종속성입니다. 이 나쁜 디자인이라고 부를까요? 나는 확실히 확신하지 못하기 때문에 묻는데, 현재도 여전히 이러한 것들을 리팩토링 할 …
모험 게임을 계획 중이며 스토리 진행 상태에 따라 레벨의 동작을 구현하는 올바른 방법을 알 수 없습니다. 내 싱글 플레이어 게임은 플레이어가 게임의 다양한 지점에서 마을 사람들과 상호 작용해야하는 거대한 세상을 특징으로합니다. 그러나 스토리 진행에 따라 플레이어에게 다른 것들이 제공 될 것입니다. 예를 들어 길드 리더는 도시 광장에서 도시 주변의 다양한 …
닫은. 이 질문은 주제에 맞지 않습니다 . 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 게임 개발 스택 교환에 대한 주제가 되도록 질문을 업데이트하십시오 . 작년에 문을 닫았 습니다 . 나는 좋은 읽거나 사물에 관해서 책은 RTS 게임을 개발할 때 생각에 사람이 어떤 링크가 있다면, 내가 좋아하는 것들을 읽고 것 궁금 …
이 주제에 설명 된대로 수행하고 싶습니다. http://www.allegro.cc/forums/print-thread/283220 여기에 언급 된 다양한 방법을 시도했습니다. 먼저 Carrus85에서 설명한 방법을 사용하려고했습니다. 두 삼각형 빗변의 비율을 취하십시오 (다른 삼각법에 관계없이 상관없이 계산하는 거리로 포인트 1과 포인트 2를 제안합니다). 그러면 더 큰 삼각형에서 모서리에있는 삼각형의 종횡비 비율이 표시됩니다. 그런 다음 간단하게 deltax에 해당 값을 곱하여 …
나는 작은 튀는 공 게임에서 또 다른 문제에 직면했습니다. 마지막 공이 멈출 때를 제외하고는 공이 잘 튀어 오르고 있습니다. 공의 움직임은 주요 부분에서는 부드럽지만 끝 부분을 향하여 공이 화면 하단에 고정되면서 잠시 동안 je 소리가납니다. 왜 이런 일이 일어나고 있는지 이해할 수 있지만 부드럽게 할 수는 없습니다. 제공 할 수있는 …
우주에 게임이 있는데 길 찾기가 필요한 이동 명령을 내고 싶습니다. 이제 A * 등이 대부분 나무에 적용되며 경로 찾기 노드가없는 빈 공간이 아니라는 것을 이해합니다. 현재 고정 AABB로 표시되는 장애물이 있습니다. 즉, 무한한 "지형"장애물이 없습니다. 또한, 나는 대부분의 장애물이 큐브 나 구체로 합리적이라고 생각합니다. 그래서 훨씬 간단한 경로 찾기 알고리즘을 …
내 게임의 주요 리소스는 mass 이며 시간에 따라 변하는 부동 소수점 숫자로 저장됩니다. 자원 노드는 질량을 증가시키고 공장은이를 비 웁니다. 예를 들어, 초당 5 질량의 자원 노드가있는 경우 5 * deltaT각 게임 단계에서 질량을 얻게 됩니다. 질량은 가장 가까운 정수로 반올림되어 표시되며 게인 / 손실 표시는 10 분의 1로 표시됩니다. …
문맥 내가 작업하고있는 게임 (일종의 포인트 앤 클릭 그래픽 어드벤처)에서 게임 세계에서 발생하는 거의 모든 작업은 다음과 같은 구조의 액션 매니저에 의해 제어됩니다. 예를 들어 객체를 검사 한 결과 캐릭터가 hello라고 말하고 조금 걸어 다니고 앉으면 다음 코드를 스폰합니다. var actionGroup = actionManager.CreateGroup(); actionGroup.Add(new TalkAction("Guybrush", "Hello there!"); actionGroup.Add(new WalkAction("Guybrush", new …
SAT (Separating Axis Theorem)를 사용하면 최소 변환 벡터, 즉 두 개의 충돌하는 객체를 분리 할 수있는 가장 짧은 벡터를 쉽게 결정할 수 있습니다. 그러나 필요한 것은 관통하는 물체가 움직이는 벡터를 따라 물체를 분리하는 벡터입니다 (예 : 접점). 나는 명확히하기 위해 그림을 그렸다. 이전 위치에서 이후 위치로 이동하는 하나의 상자가 있습니다. …
나는 이것을하는 방법을 고글하고 이것을 http://www.helixsoft.nl/articles/circle/sincos.htm 발견 했다. 존재하지 않았기 때문입니다. 나는 cos와 sin 함수를 보았지만 사용법과 벡터를 사용하여 자동차 운동이 올바르게 작동하는 방법을 이해하지 못합니다. 무엇을해야할지 잘 모르겠 기 때문에 코드가 없습니다. 도움을 주시면 감사하겠습니다. 편집하다: 게임에 TL 엔진을 사용해야한다는 제한이 있습니다. 물리 엔진을 추가 할 수 없습니다. C …
이것은 등각 투영 뷰가있는 플래시 게임용입니다. 그림을 그릴 때 z 버퍼 검사가 필요하지 않도록 객체를 정렬하는 방법을 알아야합니다. 이것은 쉬워 보이지만 또 다른 제한이 있습니다. 장면에는 10,000 개 이상의 객체가있을 수 있으므로 알고리즘을 O (n ^ 2) 미만으로 실행해야합니다. 모든 오브젝트는 직사각형 상자이며 장면에서 3-4 개의 오브젝트가 이동합니다. 가장 좋은 …
최근 저는 보통 메르 센 트위스터 (Mersenne Twister) 인 주식 우량 랜덤 생성기를 포함한 현대 언어에 익숙해졌습니다. 이제 C ++로 돌아 왔으므로 사용할 것을 결정해야합니다. Mersenne Twister 구현을 검색했으며 너무 많은 것이 있음을 발견했습니다. 더 많이 사용되고 널리 사용되는 것이 있습니까? 아니면 모두 똑같이 좋다고 가정합니까?
한동안 OpenGL을 사용하고 있으며 많은 자습서를 읽었습니다. 많은 사람들이 여전히 고정 파이프 라인을 사용한다는 사실 외에도 일반적으로 모든 초기화, 상태 변경 및 드로잉을 하나의 소스 파일에 넣습니다. 튜토리얼의 제한된 범위에는 문제가 없지만 전체 게임으로 확장하는 방법을 연구하는 데 어려움을 겪고 있습니다. OpenGL 사용법을 파일간에 어떻게 분할합니까? 개념적으로, 순수한 화면에 물건을 …
소리를 재생하기 위해 OpenAL을 사용하고 있습니다. 버퍼 ID를 가져 와서 이전에 할당 한 풀의 소스에 할당하고 재생하는 fire-and-getget 재생 기능을 구현하려고합니다. 그러나 개체 수명에 문제가 있습니다. OpenGL에서 delete 함수는 사물을 자동으로 바인드 해제 (예 : 텍스처)하거나 바인딩이 해제 될 때 사물을 자동으로 삭제하므로 (예 : 쉐이더) 일반적으로 삭제를 관리하기 쉽습니다. …