현재 게임 엔진을위한 메모리 할당 시스템을 코딩하고 있으며 할당 자 구조가 유용한 지에 대한 조언을 제공하는 숙련 된 개발자가 있는지 궁금합니다.게임 엔진 용 할당 자
나는 그것이 어떤 사람들에게는 조금 걱정스러운 것 같은데, 그래서 나는 내 입장을 조금 정당화 할 필요가 있다고 생각한다. 나는 대답 here 및 here (및 또한 here, here 및 here를 가리키는 블로그)를 읽었습니다. 하지만, "게임을 처음부터 끝까지 반복 해 보았습니다. 그런 다음 재사용하는 코드는 여러분의 '엔진'일입니다. 실제로는 제대로 작동하지 않았습니다. 나는 실제로 내가 반복적으로하고있는 것들 (아마도 내 코드를 잘 재사용하지 못했을 것입니다)에서 실제로 수렁에 빠졌고 어떤 게임에서도 그렇게까지 멀지 않았다는 것을 알았습니다.
그래서 나는 내가 다시 한번 반복해서 사용하고있는 것들을 코드화하기로 결정했습니다. 한번 해보고 따로 설정하십시오.
나는 정말로 내 리그에서 나 자신을 발견 했으므로 몇 권의 책을 샀다. Jason Gregory (GEA)의 게임 엔진 아키텍처는 정말 훌륭하지만, 저는 게임 코딩 완성 (McShaffry)과 프로그래밍 게임 AI by 예 (Buckland)도 있습니다. GEA는 고성능 할당 자에 대한 정말 좋은 아이디어를 가지고 있으며, 정말 관심이 많아서, 나는 그것을 줄 것이라고 생각했습니다.
나는 스택 기반 할당자를 코딩했으며 거의 풀 기반 할당자를 마쳤다. 둘 다 메모리 정렬 능력이 있으며 서로 다른 메모리 예산 (즉, 임의의 할당자가 "소매"메모리 또는 "개발"메모리 등을 사용할 수 있음)로 작업하도록 지정할 수 있습니다. 필자는 프로그래밍 기술/관심 수준 측면에서 이러한 구성 요소를 만드는 것이 보람있는 것으로 나타났습니다.
게임 개발에 유용하거나 정기적으로 올라 오는 다른 할당 자 구조를 기꺼이 권장 할 개발자가 있는지 궁금합니다. ? 또는 전체 경력에서 다른 것을 사용한 적이없는 개발자가 있습니까?
다시 한 번 내 질문을 정당화합니다. ("내 자신의 게임을 만들고 필요한 구조를 확인하십시오."하지만 ...) 게임 엔진 아키텍처는 저에게 큰 리소스였습니다. 저자는 "이봐 요, 업계가 주로하는 일 이죠"라고 기꺼이 비난하고 있습니다. 그리고 누군가가 '경험 재사용'을 할 수 있고 '이 구조에 대해 생각해'라고 말할 수 있다면, 많은 시간을 들여 게임 전체를 작성하고 유용한 것을 알아낼 수 있습니다.
이 파티에 조금 늦었지만 "필요할 때"사용자 지정 할당자를 개발하는 것은 게임 엔진에 대해 매우 비싼 제안 일 수 있습니다. 성능 향상을 위해 개발주기가 끝날 때까지는 일반적으로 "필요"하지 않습니다. 그때까지 엔진의 상당 부분을 리팩터링하여 엔진을 가장 효율적으로 사용해야합니다 . 또한 대용량의 실시간 게임을 개발하고 데스크탑 PC 플랫폼 이외의 다른 제품을 목표로 삼고 있다면 장기적으로 필요할 것입니다. 내가 할 수 있다면 – Gerald