19.03.2012, 19:43 | #1 | ||
Новичок
Регистрация: 19.03.2012
Адрес: Неизведанные пещеры
Сообщений: 70
Репутация: 7
|
Игровой движок общими усилиями
Предполагаемая структура движка *.exe - собственно то, что объединит все написанное в одну кучу. *.core.dll - библиотека для *.exe файла, которая будет являться каркасом приложения (графический интерфейс, элементы управления, ссылки на файлы конфигурации и ссылки на необходимые составляющие элементы игрового движка). objects - папка с моделями и текстурами (с форматом моделей пока не определился, склоняюсь к написанию собственного). scripts - папка со скриптами в формате (*ini, *.lua или аналогичном) sounds - звуки Это первоначальная задача. На данном этапе можно попробовать реализовать хотя бы это - сделать *.dll библиотеку с основными классами и прикрепить к ней простенький *.exeшник (на подобие dxmut). |
||
|
20.03.2012, 13:55 | #5 | ||
Новичок
Регистрация: 19.03.2012
Адрес: Неизведанные пещеры
Сообщений: 70
Репутация: 7
|
Не люблю копаться в чужом белье. Проще написать что-то свое, чем изучать чужое. Тем более каждый "писатель" пишет код "под себя" своим методом и со своей "архитектурой"...
Все же предлагаю взяться за написание *.dll библиотеки с базовыми классами и параллельно писать к ней *.exe. |
||
|
20.03.2012, 16:43 | #6 | ||
Юзер
Регистрация: 26.12.2008
Адрес: Россия
Сообщений: 365
Репутация: 67
|
Я предпочитаю время тратить на создание игры используя готовые решения. К тому же кустарный двиг будет хуже тех, что есть сейчас на рынке, начиная с того же Юньки. Движки писать это на любителя, а игры всё же делать интереснее...
|
||
|
20.03.2012, 16:49 | #7 | ||
Новичок
Регистрация: 19.03.2012
Адрес: Неизведанные пещеры
Сообщений: 70
Репутация: 7
|
Если писать двиг с нуля, то такой подход к девелопингу позволит создать новый продукт, который будет являться уникальным в своем роде и не иметь аналогов. Если же использовать готовые решения в области построения игр, то такие проекты не увенчаются успехом...
|
||
|
20.03.2012, 17:10 | #8 | ||
Юзер
Регистрация: 26.12.2008
Адрес: Россия
Сообщений: 365
Репутация: 67
|
Достаточно много успешных игр делается на UDK, CryEngine, Unity3D и других топовых движках. Так что ты не прав в этом изречении. Например http://www.youtube.com/watch?v=f-2DyMTdDC4 делалась на Юньке. И сколько потребуется времени и сил на самопальный движок, чтобы он начал выдавать такую картинку http://www.youtube.com/watch?v=RMk5xf8DpCE ?
|
||
|
20.03.2012, 17:36 | #9 | ||
Новичок
Регистрация: 19.03.2012
Адрес: Неизведанные пещеры
Сообщений: 70
Репутация: 7
|
Реализовать (выпустить) такие продукты будет весьма сложно. Я не думаю, что лицензия на CryEngine дешево стоит... Если делать проекты, используя готовые решения, то только для себя (не в коммерческих целях)...
|
||
|
20.03.2012, 17:43 | #10 | ||
Юзер
Регистрация: 26.12.2008
Адрес: Россия
Сообщений: 365
Репутация: 67
|
Лицензия на Unity3D стоит $1500. Но даже на бесплатной его версии с урезанными функциями можно делать и продавать игры. UDK более хапужный но и он последнее время к инди разработчикам повернулся на половину лицом. Однако до политики Юнитеха, UDK ещё долго поворачиваться. Так что уже с движками не всё так плохо. А Юнити уже по моему мнению картинку может выдавать не хуже чем тот же UDK. Только Юнитех больше прогеры, чем дизайнеры и у них таких красивых демок как на UDK пока нету (ну вон тот футуристичный мостик сделан на Юньке профессиональным дизайнером для своего портфолио).
|
||
|
20.03.2012, 17:52 | #11 | ||
Новичок
Регистрация: 19.03.2012
Адрес: Неизведанные пещеры
Сообщений: 70
Репутация: 7
|
Разработка игры на готовом движке:
1. Кротчайшие сроки сборки 2. Простота в использовании 3. Совместимость со многими форматами Разработка игры на своем движке: 1. Универсальность 2. Безграничные возможности 3. Полный контроль над авторскими правами |
||
|
20.03.2012, 18:03 | #12 | ||
Юзер
Регистрация: 26.12.2008
Адрес: Россия
Сообщений: 365
Репутация: 67
|
Что значит безграничные возможности? И что даёт полный контроль над авторскими правами к любительскому движку, который никогда не дотянет да топовых (среди которых и Юнити)?
Да, универсальность так же у Юньки присутствует. |
||
|
21.03.2012, 15:38 | #13 | ||
Юзер
Регистрация: 24.06.2008
Адрес: Я тут
Сообщений: 472
Репутация: 172
|
Это не структура. Это просто набор файлов и папок. Структура - это совершенно другое.
Да и вообще. Не имея опыта создания движков что-то серьёзное не напишешь. Далее, на этом форуме не так много высококлассных программистов готовых реализовать такой сложный проект просто ради себя. За этим нужно идти на специализированные форумы. Ну и наконец, писать что-то своё глупо. Есть масса уже готовых решений на любой вкус. Бери, да пользуйся!
__________________
"Хуже вопроса не в той теме, может быть только вопрос, о вопросе не в той теме." © *@ndrey* Контактик Щебет Лицокнижка Спроси меня Гплюс |
||
|
21.03.2012, 16:29 | #14 | ||
Новичок
Регистрация: 19.03.2012
Адрес: Неизведанные пещеры
Сообщений: 70
Репутация: 7
|
|||
|
30.03.2012, 14:08 | #16 | ||
Новичок
Регистрация: 22.05.2010
Адрес: Г.Саранск
Сообщений: 35
Репутация: 4
|
Нам-то это зачем,все приведенное выше не имеет смысла без самого движка.
__________________
Надежда это первый шаг на пути к разочарованию.... |
||
|
30.03.2012, 15:39 | #17 | ||
Новичок
Регистрация: 08.09.2011
Сообщений: 5
Репутация: 22
|
Вот свой движок кстати должен давать наивысшую производительность (при условии что программист знает что делает). Далее правда встанет вопрос о его универсальности, то есть - можно ли будет на нём же сделать игру достаточно отличного жанра от самого первого. Но просто "на раз" - лучше делать самому.
Да и что понимать под этим словом? Графику - думаю ей можно заняться в последнюю очередь. Организовать просто для визуализации хоть какой-то кубики-шарики-пирамидки, а не нормально спроектированные машины и т.д. Если сильно не мудрить - замена далее пройдёт быстро. Физика - важно. Хотя зависит от жанра, опять же. ИИ - а вот тут надо работать очень осторожно. В одной из своих любимых стратегий уже видел как боты с "новой" тактикой создавали страшнейшие лаги, в то время как официальный ИИ вполне прилично работал. Сам игровой процесс (отношение объектов в ООП, если выберешь этот стиль, что скорее всего - да) - начинать стоит именно с этого. Приведённая структура папок, действительно, к созданию движка имеет самое последнее отношение. Сам сейчас занят над чем-то подобным. Начал с важнейшего - алгоритм поиска пути. Взял стандартный волновой алгоритм, и улучшаю его по мелочам пока. Понимаю - дальше будет ещё сложнее. Но у меня много интересных идей |
||
|
30.03.2012, 16:02 | #18 | ||
Новичок
Регистрация: 19.03.2012
Адрес: Неизведанные пещеры
Сообщений: 70
Репутация: 7
|
Nirnaeth, Для начала необходимо создать базовые классы, которые будут составлять некий каркас приложения. Затем, по мере написания кода, постепенно добавлять такие элементы, как графический пользовательский интерфейс, элементы управления, затем уже можно немного поэксперементировать в области построения рендеринга и попробовать организовать базу, которая позже составит модель скриптов...
P.S. Как программист я не очень. В свое время упустил это. Я художник, моделлер, имеющий богатый опыт работы в 3D Max`е. Если я немного затупляю, или же просто пишу всякую хрень, не имеющую смысла, так и скажи.
__________________
Я не знаю кокой будет третья мировая война... Я уверен в одном: четвертая станет первой... |
||
|
30.03.2012, 16:30 | #19 | ||
Новичок
Регистрация: 08.09.2011
Сообщений: 5
Репутация: 22
|
Да, примерно так. Только экспериментировать не надо особо - можно из-за неопытности очень много мин раскидать которые под конец работы встретишь. Надо заранее определить приоритетные задачи в соответствии с тем что будет за игра, и работать только по ним.
Если например делаешь авиа\автосимулятор - то тут само собой на первом месте будет стоять физическая модель. И только потом графика и т.д. Начав с того что полностью опишешь модели самолётов и наложишь текстуры - это само по себе работу не продвинет. Хотя и это может быть важным, если например хочешь сделать красивые модели разрушений. Надо же будет хоть с чем-то работать для этого? Или другой пример - Geometry wars. ИИ врагов примитивен, движения по карте описываются фундаментальными формулами. Зато масса работы с графикой - потому что там в ней вся красота. |
||
|
30.03.2012, 18:22 | #20 | ||
Новичок
Регистрация: 19.03.2012
Адрес: Неизведанные пещеры
Сообщений: 70
Репутация: 7
|
1) Написание *.dll библиотеки, которая будет отвечать за каркас приложения (форма, элементы управления, внутренняя структура). Написание к этой *.dll файла *.exe, который собственно и будет игрой (в будущем).
2)Написание *.dll библиотеки, которая будет отвечать за рендер (работа с устройством, методы рендеринга, прочее). Эта библиотека будет являться неким графическим движком. К ней из вне будут прицеплены прочие элементы этой группы. 3) Написание *.dll библиотеки, отвечаюшей за скрипты. Здесь немного сложнее. Придется делать примитивную структуру этих скриптов. Скрипты в открытом формате (*.ini, *.txt). 4) Проработка геймплея и создание базовых элементов управления этим творением. 5) Графика, текстуры, прочее. 6) Звуки, музыка, прочее. Ну и хрень собачью я написал. Нда, неверное, не стоит этим заниматься. Особенно на VS2005 под Net.Framework и DirectX.
__________________
Я не знаю кокой будет третья мировая война... Я уверен в одном: четвертая станет первой... |
||
|
|