LINUX.ORG.RU
ФорумGames

Разработка движка для почти любых винарных игр стартует здесь!

 ,


1

2

Одержимость навязчивой идеей переписать все игры переродилась в определённую концепцию.
Есть игры построенные на общих принципах. Например: rimworld, FTL и jagged alliance 2. У всех одна и та же суть с точки зрения реализации. Есть карта, состоящая из тайлов, есть юниты, шмотки и летающие туда-сюда снаряды. Есть процедуры обработки всего этого, схожие по принципам функционирования. Есть графический интерфейс для отрисовки и получения управления.
Есть и различия, так строительство есть только в rimworld, а в ja2 присутствует пошаговый режим. При этом следует отметить, что с точки зрения реализации эти различия не столь существенны. Для движок который обрабатывает юнитов один за другим можно просто переделать последовательность выполнения команд юнитами и он станет уже пошаговым. Всю игровую механику вне карты, объявление и обработку событий интерфейса можно вывести во внешние скрипты и это даже не сильно ударит по производительности.
Если брать любую почти любую стратегию, то она строится на вышеизложенных принципах практически полностью.
Главная идея - сделать этакий unix-way MVC движок для такого рода игр. Есть приложение, которое занимается расчётами законов некого мира, есть приложение, которое вносит определённую логику в этот мир и есть приложение, которое взаимодействует с игроком.
Итак. Чтобы наделать кучу годноты ничего сложного не надо.
1.Нужен высокопроизводительный движок, который будет играть роль сервера с возможностью быстрой обработки всех игровых объектов и выполнением всех громоздких расчётов связанных с этим. Движок должен иметь интерфейс с каким-нибудь скриптовым языком для поддержки остальной логики, которая не часто используется, но часто меняется.
2.Нужен клиент для этого движка, который получает от него необходимые данные по сети или через какое-нибудь fifo (если играем одни), отсылает на сервер команды и принимает на себя значительную часть нагрузки, связанную с управлением юнитами и отрисовкой. Также, например поиск путей или планирование действий сервер нагружать нет смысла.
3.Все моды (они же - полноценные игры), являются кучей скриптов, которые дёргают возможности движка и клиента. Клиентская часть скрипта создаёт интерфейс, обрабатывает все действия пользователя и формирует команды для сервера. Серверная часть перехватывает серверные события и обслуживает прочую логику.
Всё.
Хочешь свой MAX? Всё уже готово. Нужно просто прописать не хитрую логику, настроить параметры движка на пошаговый режим.
Охота поиграть по сети? Достаточно подключиться к серверу и назначить юнитам управляющих.
Хочешь переписать jagged alliance? Пишешь на скриптах логику работы вне поля боя, добавляешь нужные обработчики для боя и переделываешь визуализацию на изометрию, если сильно хочется.
В процессе использования движка появляется куча наработок, графики, вариантов визуализации, так что новые игрушки клепать будет легче.
Написание своих rimworld'ом, FTL, с&c, дот и варкрафтов - это вообще рутина состоящая в основном только из клепания спрайтов/моделек.
Наличие хотя бы двух общих компонентов (например системы интерфейса пользователя и движка) даёт большой пинок игроделам, позволяя сосредоточиться только на том, что им реально интересно, а не переписывать одно и тоже по 100 раз.

Итак ЛОР, хочешь ли ты дать разгон игровой opensource индустрии?
Если этому тут не место, подскажите, где этому место.
А может такие движки уже есть?
Love и stratagus не то. Первый - для кодинга чего угодно на lua, второй чисто для RTS плюс там упоротый код. Речь же идёт о универсальном движке для rts,rpg,roguelike и тактики класса вид с верху, 1 активный уровень (для начала).

По разработке.
Движок с клиентом пишется на чём-нибудь более-менее производительном. Бета языки не нужны. Я умею на с++ и java.
С внешними скриптами была мысль встроить lua или js или всё вместе или придумать что-нибудь совсем универсальное, например гонять JSON через fifo, или как-то еще.
Кому это интересно, есть идеи, желание помочь, пишите сюда или мне на почту. Даже простое внимание к проекту очень сильно поможет мне написать хоть что-то. Когда окончательно соберусь с мыслями сделаю репозиторий на гитхабе.

Поздравляю тебя, очередной лясипедостроитель!
Вперед и с песней!
P.S. Кому только это надо?

Michail_Ul ★★
()

Итак ЛОР, хочешь ли ты дать разгон игровой opensource индустрии?

Движков и так хоть жопой жуй. Для игор контент нужен прежде всего, а движок-то найти не проблема.

morse ★★★★★
()
Ответ на: комментарий от Michail_Ul

лясипедостроитель!

Это не просто велосипед, а универсальный велосипед двумя или тремя колёсами, возможностью менять их размер, менять размер и конфигурацию рамы, а также переставлять педали, менять скорости, тормоза и всё это прямо на ходу не слезая с седла! (которое тоже можно менять)

Кому только это надо?

Сейчас узнаем.

crutch_master ★★★★★
() автор топика
Последнее исправление: crutch_master (всего исправлений: 1)
Ответ на: комментарий от morse

Для игор контент нужен прежде всего, а движок-то найти не проблема.

Кстати. Унифицированный формат игрового контента для игр подобного класса - тоже неплохая идея.

crutch_master ★★★★★
() автор топика
Ответ на: комментарий от crutch_master

Казалось бы, куда уж выше. Да, некуда. Или ты изобрёл rpgmaker для платформеров? Мне кажется достаточно будет нарисовать паки ресурсов.

anonymous
()
Ответ на: комментарий от morse

Да хоть для крузиса

Не opensource, под винду, слишком жирный, избыточен для такой задачи, нет заготовок под задачу.

crutch_master ★★★★★
() автор топика
Ответ на: комментарий от anonymous

Казалось бы, куда уж выше. Да, некуда.

Если Unity3d всё это умеет, то есть проблемы - он коммерческий, жрет как не в себя и избыточен для данного типа задач. Ближайшей известный мне по требованиям движок - stratagus, но он чисто под rts типа второго варкрафта.

Или ты изобрёл rpgmaker для платформеров

Почти. Только собираюсь.

crutch_master ★★★★★
() автор топика
Последнее исправление: crutch_master (всего исправлений: 1)
Ответ на: комментарий от border-radius

Грабить корованы можно будет?

Естественно. А когда надоест можно будет небольшим скриптом добавить эльфов, охрану дворца и грабить их.

crutch_master ★★★★★
() автор топика

Зачем с нуля-то писать? Адаптируйте для своих задач движок Quake 4, его Кармак выложил под свободной лицензией.

Vsevolod-linuxoid ★★★★★
()

Обьедени все опенсурс движки в один огромный велосипед!

Reedych ★☆
()

все игры уже давно есть
придумай чего-нибудь другое

amorpher ★★★★★
()

дааа... вот бывают же моменты, когда чувствуешь себя старым

аффтар, забей. Лучше вспомни комикс xkcd про конфликтующие стандарты.

demidrol ★★★★★
()

вай-вай-вай

Какая квака, какой CryEngine, вы чего, граждане? ТС же писал:

для rts,rpg,roguelike и тактики класса вид с верху

al_exquemelin ★★★
()
Ответ на: вай-вай-вай от al_exquemelin

Для этого нужен анриал энжин 4 как минимум. У край энжина вроде документация плоховата, сложно разобраться.

anonymous
()

А чо ты пришел спрашивать сюда вообще?

Я вот не спрашиваю. Я пишу (не движок). Мне хочется. А потом покажу когда закончу.

Иди пиши коли хочется.

deep-purple ★★★★★
()

Все начинающие девелоперы начинают свой первый мега проект, который через несколько месяцев (в лучшем случае) рутины архивируются до лучших времен и более никогда не распаковываются.

То что ты предлагаешь уже есть, все опенсурсные игровые движки создаются с таким же заделом, сделаем универсальный движок, карту, логику, многие встраивают LUA, а потом комьюнити начнет клепать контент и у нас будут свои варкрафты, старкрафты, кризисы, шмизисы.

А теперь маленькая проблемма: ни к одному из этих движков так и нету нормальный ресурсов.

Лучше стань дизайнером, выучи гимп, блендер и попробуй наполнить один из существующих движков.

Код написать - это 5% от задачи и не самой тяжелой при этом, причем он уже написан много раз. Для стратегий бери spring, очень мощный движок, 3д, эффекты, куча юнитов, все дела. Даже выглядит не совсем как говно. Для фоллаутлайк есть свои fife, falloutergeist или как их там, а вот ресурсов - нема. Подогнать все текстурки, сделать карты - это монументальный труд геймдизайнеров (это не те, кто дизайнят, это те - кто придумывают) и художников. Вот тут все наше сообщество в нулях.

Ты можешь сколько угодно спорить сейчас, но если пройдешься по ЛОРУ, юниксфоруму и прочим, найдешь 150 таких тем. И великую опенсурс РПГ создавали и чего только не было.

BaBL ★★★★★
()

Не слушай скептиков, пили. Только будь готов, что у тебя уйдёт на это не год, и не два, и даже не пять, а много больше. Если запал на такое время есть, клепай.

unC0Rr ★★★★★
()

3.Все моды (они же - полноценные игры), являются кучей скриптов, которые дёргают возможности движка и клиента.

*fail*, тащем-та. хотя, если мы посмотрим внутрь 10500 современного движка на С++ там именно так и есть, и скриптота та — на Lua.

*фейл*, потому что по идее, это должны быть не точки расширения скрипта, а что-то более гибкое, чем скриптота. например, метаобъектный протокол. то есть, точка расширения — в любом месте.

тоже думалось на подобную тему, только unix way из трёх движков: «сервер отрисовки» (современный 3d движок), сервер поведения (что-то AI-шное типа CLIPS, Inform7, MDL (IF lisp от Infocom), SHRLDU или агентский движок на PonyLangs либо linear logic) + сервер состояния --- типа V, C, M в MVC.

здесь фишка в том, что грубо говоря все три движка изначально коннектятся на локальный irc-канал, как боты в чятике. (ну или nanomsg/0mq/любая_шина_сообщений).

и чатятся когда приспичит — сразу в канал либо /msg друг другу напрямую.

сервер отрисовки тупо отрисовывает что скомандуют, не сочиняет. и чятится в модель сервера состояния. сервер поведения догонит мастера настройки и вломит ему чятится в состояние или в отрисовку по своей хитрой, внутренней логике — когда ему в голову взбредёт.

смысл в том, что это отдельные процессы — и микросервисы поверх, в общем Plan9 style во все поля.

я правда, не для стратегий это замыслил, а для 3D interactive fiction или какой-то там RPG.

А может такие движки уже есть?

в стиме посмотри RTS creator, какая-то поделка с ассетами. ещё других поделок в стиме: GameGuru, AGF Pro kit, S2 HD Engine, CopperCube, AppGameKit, Leadwerks, наконец (не говоря уже о CryEngine или там Unreal Engine).

там тащем-та почти во всех встроенный редактор сцены + скриптота на Lua или чём-то ещё более страшном + готовые ассеты из коробки.

anonymous
()
Ответ на: комментарий от crutch_master

Кстати. Унифицированный формат игрового контента для игр подобного класса - тоже неплохая идея.

а для контента нужен какой-то пайплайн поверх CMS-ки, в первом приближении.

в следующем по унифицируемости — CALS, PDM/PLM и STEP EXPRESS (метамодели и модели описываются одинаково).

в следующем по упоротости: S-выражения и куча сорцов на лиспе.

anonymous
()
Ответ на: комментарий от anonymous

Мало движком. В одной игре участвует по-меньшей мере с десяток весьма разрозненных: графика, звук, физика, логика и так далее.

anonymous
()
Ответ на: комментарий от anonymous

Ну вот майнтест — это майнкрафт без контента. И что? Нужен он сильно кому?

morse ★★★★★
()
Ответ на: комментарий от anonymous

В майнкрафте ЕСТЬ контент. А уж сколько этого самого контента в модах к нему...

Контент != графон

Pinkbyte ★★★★★
()

Ты собираешься сделать фреймворк-инструмент для разраба игр. Однако всегда лучше инвестировать силы прямо в дело (какое-то), чем в обслугу дела. (+1 ненужка)

abvgdee
()
Ответ на: комментарий от deep-purple

А чо ты пришел спрашивать сюда вообще?

Послушать что скажут по делу. Сказал один анон.

crutch_master ★★★★★
() автор топика

Контент

Нужно создавать простые инструменты создания контента. «Майнкрафт» это хороший пример где игроки сами себе создают мир. Должно быть просто. Без необходимости изучения языков программирования, долгого изучения горячих клавиш, без перезагрузок. И ещё чтобы его в браузере можно было создавать без необходимости скачивать игру.

stalkerhouse
()
Ответ на: комментарий от aplay

OpenXcom

Заточенный под XCom1/2 и ничего более.

stracciatella

Ты его код видел? Там положение юнита (стоит/бежит/сидит/...) определяется по кадру анимации.

crutch_master ★★★★★
() автор топика

Речь же идёт о универсальном движке для rts,rpg,roguelike и тактики класса вид с верху, 1 активный уровень (для начала).

http://www.godotengine.org/

Свободный, может и в 2D, и в 3D, логика игры на питон-подобном скриптовом языке описывается, умеет все основные платформы, разрабатывать можно на любой популярной десктопной ОС, включая линукс, в комплекте инструментарий для работы со сценами, анимациями и т.д.

xxblx ★★★
()
Последнее исправление: xxblx (всего исправлений: 1)
Ответ на: комментарий от xxblx

Можно приделать к одной игре сразу несколько процессов для вывода того, что в ней происходит? Зачем это надо? Затем же, зачем и DFу therapist.

crutch_master ★★★★★
() автор топика

libgdx хватит всем

umren ★★★★★
()
Ответ на: комментарий от dk-

Бывает и так. Можешь профинансировать, разработка всяко пойдёт быстрее. Даже план работ могу составить.

crutch_master ★★★★★
() автор топика
Последнее исправление: crutch_master (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.