Проекты
GameDev.ru / Проекты / Форум / Judy

Judy

Страницы: 1 2 3 4 5 6 Следующая »
AlprogМодераторwww25 июля 20145:25#0
Это девблог моего игрового движка Judy.

Judy | Judy

Концепция и технические характеристики

  • Код движка пишется на С++, игровой код на Lua + hlsl
  • Движок состоит из двух основных приложений: IDE и Player.
    IDE — это графический редактор сцен с dockable-интерфейсом на Qt со встроенным редактором Lua (Scintilla) и дебагером.
    Player — приложение, способное запускать созданную в IDE игру. Не зависит от Qt. Дебажится по TCP-IP.
  • 2D и 3D
  • Кроссплатформенность: Win, Linux, OS X (как для игры, так и для разработки). Мобильники пока вообще не рассматриваются.
  • Мультирендерность: DirectX12, Vulkan и OpenGL (возможно заменится на Metal). Причём буду пытаться реализовать фичу существования GAPI бок о бок:
    + скриншот
  • Для шейдеров планируется использовать glslang (hlsl -> spir-v) и sprirv-cross (spir-v -> glsl, metal)
  • Lua for everything! Предполагается, что весь игровой код будет написан на Lua, и она же будет использоваться для конфигов, сейвов, форматов сцен и моделей, и вообще для всего. Таким образом планируется уменьшить количество используемых форматов в игре и сложность взаимосвязей.
  • Самостоятельный парсер С++11 атрибутов и кодогенерация метаинформации для своего рефлекшена, биндинга и сериализации в луа.
  • Никаких библиотек кроссплатформенных окон или ввода: окошки и opengl контекст создаю сам (wgl, glx, cgl NSOpenGLView).
  • Буду стараться сделать возможность менять код на живую в запущенной игре (как lua, так и шейдеров).
AlprogМодераторwww25 июля 20145:25#1
Зачем это всё?

Помимо прокачки своих скилов, я всё-таки планирую делать на движке игры. В идеале много разных.
В том числе, как один из самых дальних чекпоинтов, я хочу когда-нибудь разморозить свой платформер-мечты.
Самой же первой игрой на движке, по идее, должна стать Metroidvania Sohei'я. Проект очень крутой, а мне, к тому же, надо на чём-то тестить движок в боевых условиях, чтобы не слишком отрываться от реальности, так что разработка, скорее всего, будет вестись параллельно.

Почему Judy?

Я когда-то давно решил, что если буду делать движок, то обязательно назову его женским именем.
Judy на сленге также значит "someone who is very hot", что меня устраивает по смыслу, а также является своеобразной данью HotLava и HotSource — компании, где я начинал работать и её внутреннему движку соответственно. Мои представления о том, каким должен быть true-движок и нужен ли он вообще, во многом сформированы благодаря им.

Это первая попытка?

Нет. В 2009 году, ещё до того, как я начал работать в индустрии, я делал Маленький и скромный движок и благополучно слился, что немудрено. Но первую серьёзную попытку написать движок я предпринял только год назад. Тогда предполагалось, что разработку мне оплачивают, а движок я делаю не только для себя, что сильно повлияло на выбор технических средств. Поэтому, когда затея накрылась, я не стал продолжать, а начал чуть позже заново, но уже на С++ и по-хардкору.

AlprogМодераторwww25 июля 20145:25#2
[reserved]
jaguardУчастникwww25 июля 201412:18#3
А я-то думаю, что это ты про С++ посты пишешь, вроде без ума от LUA был. Теперь понятно. Ну, без мобильных платформ вообще неинтересно, да и LUA, честно говоря, не сильно. Если уж на то пошло, можно и юнити взять, чай C# не хуже ЛУА будет.
DarkEagleПостоялецwww25 июля 201412:23#4
Может быть, оффтоп. Я видел, люди делают игры для мобилок на GameMaker. Сморел в его сторону? Я на нем игрулины делал, когда еще юнцом был, и там почти ничего не изменилось, кроме деплоя на кучу платформ.
0xBFУдалёнwww25 июля 201412:23#5
Круто! Удачи в разработке! Правда DX11 для 2D это немного перебор, ИМХО. Хотя, хватит уже оживлять Dx9 и XP :D
AlprogМодераторwww25 июля 201413:37#6
jaguard
> Ну, без мобильных платформ вообще неинтересно
Если будет грамотный мультирендер для DX и GL, то GLES добавить, думаю, вообще не проблема в случае чего.
Просто пока мне это вообще не интересно.

> LUA, честно говоря, не сильно
Если выносить тяжёлые вычисления в кресты (физика, например), то очень даже.

> можно и юнити взять
О, нет. Постоянно с ней бороться желания нет. Я уже сполна хлебнул юнитей.
Для крупного калибра, имхо, лучше UE4, для маленького/среднего — своё.

DarkEagle
> GameMaker. Сморел в его сторону?
Серьёзно? Мне нужно от движка нечто совсем иное, GameMaker не подходит вообще никак. Уж лучше Unity :D

0xBF
> Удачи в разработке!
Пасиб :)

jaguardУчастникwww25 июля 201415:18#7
Alprog
>
> О, нет. Постоянно с ней бороться желания нет. Я уже сполна хлебнул юнитей.

Интересно. А чем юнити так ужасен, что свой аналог на коленке лучше? Пипл вроде использует и ему нравится. Я так-то свое тоже больше люблю, но у меня свое просто скучное С++.

AlprogМодераторwww25 июля 201415:28#8
jaguard
> А чем юнити так ужасен, что свой аналог на коленке лучше? Пипл вроде использует и ему нравится.
Когда делаешь шаг влево или вправо от встроенных решений, утыкаешься в ограничения. И начинается борьба с платформой, когда поверх существующего высокоуровневого API пытаешься соорудить какое-то подобие низкоуровневого ручного управления и вбивание костылей. Но вообще это очень обширная тема, да и холиварная к тому же, не охота сейчас в это углубляться.
TirexiKПостоялецwww25 июля 201416:55#9
Alprog
> Для крупного калибра, имхо, лучше UE4, для маленького/среднего — своё.
Золотые слова.

Удачи, классная затея!

slatazanПостоялецwww25 июля 201421:54#10
Надо мне учить Lua
FrankinshteinПостоялецwww26 июля 20142:12#11
что-то похожее уже было, я так понимаю загнулось
http://www.gamedev.ru/projects/forum/?id=153514
ant0nУчастникwww28 июля 20148:01#12
обожаю луа, поэтому буду следить за поректом. Искренне желаю удачи!
Frankinshtein
> что-то похожее уже было, я так понимаю загнулось
> http://www.gamedev.ru/projects/forum/?id=153514
интересно почему загнулось? Движок то хороший получился, уже и игры можно было делать... и тут автор пропал :(
GregorioУдалёнwww28 июля 201414:24#13
Alprog
> Мультирендерность: DirectX 11 и OpenGL
а насколько это сложно сделать? на ум приходит скептический прогноз, что платформер ...
Alprog
> Metroidvania Sohei'я
на твоем движке, мы увидим не скоро, раз на повестке дня у тебя такие задачи как:
- мультиплатформерность
- мультирендерность
- окошки со своим редактором кода и пр. не имеющие отношения к движку вещи

Я ни в коем случае не говорю, что это плохо, наоборот - от процесса нужно получать удовольствие, иначе исчезнет мотивация. Я сам делаю свой движок мечты, уже довольно долгое время. Начинал с этого, а пришел к полностью трехмерному движку на OpenGL, с поддержкой 2д.

У тебя есть какая-то демка? можешь выложишь видео о том, как ты вбиваешь код в Judy-окошко, а затем запускаешь его через свой проигрыватель? или сделай хотя бы отчет о внесенных изменениях, а то создается впечатление, что проекту ты уделяешь мало времени. Желаю успехов с завершением этого важного проекта!

jaguardУчастникwww28 июля 201414:47#14
Alprog
>
> Когда делаешь шаг влево или вправо от встроенных решений, утыкаешься в
> ограничения.

По идее у тебя будет то же самое, если писать чисто на LUA. Чуть похитрее что-нибудь захочешь - и лезь в дебри с++..

Страницы: 1 2 3 4 5 6 Следующая »

/ Форум / Проекты / Утилиты

Тема в архиве.

2001—2018 © GameDev.ru — Разработка игр