В настоящее время я делаю компьютерную игру в XNA. На самом деле это коллекция мини-игр (в данный момент есть 3 мини-игры), но я планирую делать и добавлять больше в загружаемых «пакетах».
Мой вопрос: каков наилучший способ добиться этого?
В настоящее время мои мысли:
- Создать игровой интерфейс
- Создавайте игры для этого интерфейса, но создавайте их как .dll
- Имейте основной файл .exe, просканируйте каталог и загрузите в .dll во время выполнения.
Я не особо задумывался над этой идеей, но я знаю, что есть приложения, по крайней мере, использующие этот подход к подключаемым модулям (Notepad ++, похоже), но я не уверен ни в каких играх, которые это делают (хотя я уверен, они должны существовать). Однако кажется, что это проблема, которая была решена ранее, поэтому мне интересно, есть ли какая-либо форма признанной передовой практики.
Поскольку вы создаете игру для Windows, вы можете получить доступ к полной структуре, как сказано в @Ranieri. Ваша архитектура звучит солидно; тем не менее, вы можете захотеть проверить MEF , платформу управляемой расширяемости. Это может сделать рабочий процесс более наглядным. Я не использовал это сам, но я прочитал хорошие вещи об этом.
источник