движков которые я здесь видел, очень стремятся к минималистичному main'у.
Вот только смысл то в этом какой?
Кто-то вообще использует кастомные движки для проектировки поделок? Ибо только они оправдывают такой лютый минимализм..
Ну, можно конечно сказать что это для минимализма readme на гитхабе и "привлекательности" проекта со стороны.
Но чёт оно не кажется правильным подходом к разработке.
Одной фразой - вы серьёзно считаете что длинна примера работы двигла может быть серьёзным аргументом в современном мире?
у меня мейн просто парсит lpCommandLine и передаёт аргументы в другую функцию это считается?
у меня main три строчки (покачто): TestApp app; app.Initialize(); do { app.Update(); } while (!app.ShouldExit());
хз, если твоё двигло претендует на условный - "plug and play" То нет, не считается.
static int grStartup(int argc, gtl::WIDECHAR **wargv) { gna_gDepot.deploy(); gr_gApplication = grApplication::create(); gtl::String userdataDirectory = GTXT("."); gtl::String resourcesDir = grFsPlatform::combinePaths(userdataDirectory, GTXT("enginedata")); for (int i = 1; i < argc; i++) { gtl::WIDECHAR *arg = wargv[i]; if (gtl::StrCmp(GTXT("+enginedata"), arg) == 0) { if (++i >= argc) GR_FATAL(GTXT("no argument for +enginedata")); resourcesDir = wargv[i]; } else if (arg[0] == GTXT('+')) { if (++i >= argc) GR_FATAL(GTXT("no argument for %ls"), arg); } else { GR_FATAL(GTXT("unknown argument %ls"), wargv[i]); } } nxf_setRM(NXF_RCTX_ENGINE, new grFlatFileResourceManager(resourcesDir)); gr_gApplication->preAppStartup(argc, wargv); grInitVideo(); grPostStartup(); gr_gApplication->gameLoop(); return 0; }
TestApp.cpp уже 23 строки Initialize() + 10 Update()
вообще это IO и менеджер ресурсов фактической расшифровки у этого сокращения даже нет :)
Тут специфика что на разных платформах по разному запускается програма и может по своему выполняться запуск(а ля парсинг параметров строки и тд). И по этому логика запуска движка выноситься в отдельную функцию, которая будет идентична для всех платформ
Вопрос то в конечной цели.. Почему вместо предоставления универсального метода создания приложения не предоставлять само универсальное приложение? Ясен хрен что это как раз будет зависеть от цели - библиотеку ты делаешь или уже готовое двигло. Я это всё к тому, что тысячи библиотек существующих на данный момент сильно больше существующего спроса на них. Отсюда и вопрос, зачем делать то, что никому не нужно и уже было сделано тысячи раз другими? Мб уже стоит посмотреть в другую сторону?
Я не буду осуждать человека в переизобретании велосипеда с блекджеком и девочками. Если хотят, то пожалуйста, творите:)
Не-не, я не осуждаю, просто не понимаю. Есть конечно мега-благородная академическая цель.. И не менее благородная - резюме. Тут наши полномочия всё, ок, оправданно. А вот про остальные кейсы хотелось бы послушать.
Ну возможно, распилить деньги на движок:)))
А как то разработчики готовых велосипедов ведь рождаются?
C NIH синдромом нужно бороться. Это только кажется невинным перфекционизмом, но в реальности оно способно отнять годы (а то и десятилетия) жизни. Это прям личный опыт. Хотя он тут наверное чуть более чем всем знаком в разной степени.
Обсуждают сегодня