Який звичайний метод зберігання 3D-моделей, текстур, звуків та сценаріїв (наприклад, файлів Lua) під час розробки та у випуску? Я розвиваю гру з друзями в основному на C ++; на етапі прототипування у нас була лише одна текстура, яка була збережена у вигляді заголовка C за допомогою GIMP, але, звичайно, такий підхід недостатньо масштабується та значно збільшує час компіляції.
У Windows звичайна практика полягає у тому, щоб просто скинути їх у %PROGRAMFILES%
підкаталог, у якому знаходиться виконавчий файл гри, можливо, розташувавши їх у відповідній структурі дерева. Однак на Linux картинка здається набагато складнішою. Виконаний файл зазвичай знаходиться у ньому /usr/bin
, тоді як програми зберігають інші файли /usr/share
, і я вважаю, що ставити невиконані файли вкрай погано /usr/bin
. Однак структура каталогів під час розробки абсолютно інша.
Я міг би запропонувати два різних можливих рішення:
- Дозвольте виконуваному файлу знайти файли активів відносно себе та встановити гру
/opt
. Потім розмістіть посилання на/usr/bin
. Під час розробки відносний шлях активів до бінарних файлів такий же, як і під час розгортання. - Доступ до файлів з абсолютним шляхом, який визначається як символ препроцесора. Нехай процес збирання (у нашому випадку сировини
Makefile
) береться за визначення його як підходить.
Обидва підходи мені здаються дещо неелегантними в тому чи іншому аспекті. Чи існує загальна практика в галузі розвитку ігор щодо цього?
Єдині відповідні питання, які я міг знайти, - це визначення місця встановлених / на дискових ігрових активах та довідників доріжок для ресурсів та активів , але вони не вирішили проблему запуску "з дерева джерел".