나는 Beat'em Up 게임 (Castle Crashers는 내가 Beat'em Up 또는 Brawler 게임이라고 부르는 게임)을 위해 2D 엔진을 만드는 과정에 있습니다.게임 공간 관리를이기 죠?
2D 스프라이트와 2D 입자 이미 터를 지원합니다. 이것은 모두 엔진에서 지금 완료됩니다.
alt text http://img337.imageshack.us/img337/9162/spacingprototype1.png
내 생각을 :하지만 내가 조언을 부탁드립니다 문제에 온 것은이 그림과 같이
그것은 "공간"관리에 관하여, 내가 생각하는 뭔가를했습니다 파티클 이미 터/2D 스프라이트가 살 수있는지면의 그리드 (Spatial Hash 또는 Grid)를 만드는 것입니다. 내 그림에서,이 슬롯을 1에서 N으로 열거했습니다 (35 일 필요는 없으며 단지 보여주기위한 것입니다). 내 생각은 "GameElements"(스프라이트/이미 터)를 0부터 N까지 순서대로 그립니다 (버킷 0에서 버켓 N으로 이동). 그러면 화면에 올바르게 겹쳐서 표시되도록합니다 (앞으로 앞으로).
각 요소의 아래쪽 Y 축을 비교하고 "퀵 소트"를 수행하여 수행 할 수 있음을 알고 있지만 그리드를 사용하면 더 나은 방식으로 충돌 감지를 수행 할 수 있습니다. 어떤 종류의 인공 지능을 구현하기 위해 * 나도 도움이 될 수 있습니다. 당신은 당신이 서로에 대해 테스트 할 필요가 개체의 수에 대한 최적화의 일종을 가지고 싶다면
게임의 오브젝트가 그리드에 스냅됩니까? 아니면 어디에서나 자유롭게 움직일 수 있습니까? – Jack
무엇이 문제입니까? –
@Jackk : 안녕하세요, 아니요, 어디든 자유롭게 이동할 수 있습니다. @Wcoenen : 문제는이 방법이 충분히 좋은지 또는 내가 볼 수없는 내 문제를 더 스마트하고/훨씬 쉽게 해결할 수있는 방법이 있는지입니다. 미안 내가 그 명확하게하지 않았다면 :) – Goles