예. 메인 엔진 외부에 컨텐츠를로드하는 시스템을 구현해야합니다.
간결한 답변의 헤더.
아니요. 너무 많은 시간을 소비하지 않습니다.
나는 그것이 당신의 제한된 시간의 유효한 할당인지에 대한 질문은 무질서하다고 생각합니다. 전체 프로젝트 시간의 작은 부분이 될 것입니다.
완료하는 데 걸리는 게임 프로젝트에 수백 (수천) 시간이 걸립니다. 아마도 Pong 클론은 아니지만 복잡한 우주 게임을 위해서는 반드시 그렇게하십시오. 구성 파일 판독기와 비교하십시오. XML을 주요 생성자에 파이프하고 게임 프로세스를 다시 시작하는 시스템을 구현하는 데 10 ~ 20 시간 이 소요될 수 있습니다. 50 또는 100이 걸리더라도 총 프로젝트 시간의 작은 부분이 될 것입니다.
시간이 절약됩니다
시간 비용이 아닙니다. 시간 투자입니다. 그리고 그것은 갚을 것입니다.
워크 플로가 중요하고 구성 로더가 있으면 워크 플로가 향상됩니다. 구성을 즉석에서 편집 할 수있는 시스템을 만들면 수많은 재 구축을 저장할 수 있습니다. 게임이 실행되는 동안 게임을보고 XML을 조정하고 몇 초 안에 다시 확인할 수 있습니다. 또는 코드를 살펴보고 코드 라인 (수천 개)을 찾거나 값을 매우 신중하게 편집 (결국 메인 엔진에 있음), 재 구축, 실행, 게임을 다시 테스트 상태로 되돌릴 수 있습니다. 변경하기 전의 모습을 기억하고 변경 사항이 의도 한 영향을 미치는지 확인하십시오. 엔진에 고장이 없다고 가정하면 열차는 확실히 중단됩니다.
보다 기본적인 comp-sci 관점에서 소프트웨어 작성에서 가장 많은 시간이 소요되는 부분은 몇 가지 추가 키 입력이나 공백이 없다는 것을 기억하십시오. 버그 사냥입니다. 더 자세한 코드를 작성하여보다 명확하게하기 위해 약간의 시간을 더 투자하면 나중에 더 많은 시간을 절약 할 수 있습니다. 귀하의 경우, 컨텐츠 임포터를 작성하면보다 읽기 쉬운 코드가 작성됩니다. 몇 마일이나 몇 마일의 하드 코딩 된 값 대신 소스에 간단한 파일로드 기능이 있습니다. 마찬가지로 게임 엔진 코드를 넘지 않고 구성 파일을 읽을 수 있습니다. 두 부분 모두 유지 관리가 쉽고 디버깅하기가 더 쉽습니다.
일원 팀이 가장 큰 혜택
해당 컨텐츠 중 일부를 생성하기 위해 아티스트를 고용 한 경우 해당 아티스트가 작업 할 수있는 도구를 만들어야합니다. 그들은 픽셀을 편집하고 그 효과를 빠르게 볼 필요가 있습니다. 모든 변경 사항을 확인하기 위해 코드를 다시 작성하도록 강요하지는 않습니다. 그들의 시간은 비싸며 낭비하고 싶지 않습니다.
이제 아티스트가 매우 숙련되지 않고 느리고 (프로그래머 아티스트), 메인 프로그래머이자 음악가이기 때문에 걱정할 다른 많은 것들이 있다고 상상해보십시오. 그 시간을 낭비하고 싶지 않으면 프로젝트가 끝나지 않을 것입니다. 그리고 그 끔찍한 예술가는 코드에서 자산 문자열의 이름을 바꾸는 데 모든 시간을 소비하기 때문에 더 나은 예술가가되기 위해 교육을 싫어할 것입니다.
그렇게하지 마십시오. 도구를 만들면 더 많은 시간을 할애 할 수 있습니다.