У меня есть игра (похожая на roguelike) на C #, которую я нахожусь в процессе очистки с открытым исходным кодом. Один шаг, который я хотел бы сделать, это разделить его на три части:
- Простой пакет служебных классов , таких как двумерные массивы, векторы и т. Д.
- Терминальный пакет пользовательского интерфейса, который отображает проклятие. Это зависит от 1.
- Фактическая игра, в которой используются 1 и 2.
Прямо сейчас, это все отдельные проекты в одном решении, но я бы хотел сделать их полностью отдельными проектами (в смысле «проект с открытым исходным кодом», а не в термине «проект визуальной студии»). ) со своими именами и репо. Я думаю, что, по крайней мере, № 1, как правило, полезен, даже если вы не создаете игру, и я не хочу, чтобы кто-то создавал целую игру только для того, чтобы получить некоторые полезные функции.
В чем я не уверен, так это в том, как обрабатывать зависимости, если я разделю решение. Если кто-то решит, что он хочет синхронизировать игру, как я должен убедиться, что он также получает 1 и 2?
- Включить встроенные зависимые .dll в репозиторий игр?
- Просто документируйте: «Вам нужны эти другие проекты, и они должны быть на пути относительно игры, подобной этой».
- Просто оставьте все это одним гигантским решением и одним репо.
- Что-то, о чем я не думаю?