Проекты
GameDev.ru / Проекты / Форум / Judy (6 стр)

Judy (6 стр)

Страницы: 1 2 3 4 5 6
AlprogМодераторwww30 мар. 20166:50#75
После очень долгого перерыва вернулся к движку.

Во время перерыва я занимался проектом МиС РПГ (пару раз сменившим концепцию к тому же).
За это время я очень подробно изучил cocos2d-x, множество раз убеждался в его ущербности, фиксил и хачил под себя, прикрутил deferred shading, свои патиклы и мини-редактор к ним, тени, темпоральный АА и многое другое.
Но пришло время вернуться к движку. МиС РПГ при этом не бросаю — я переведу его на Judy. Изначальный план был сделать это после релиза, но, видимо, это произойдёт раньше.

Конечно, лучше бы я не прерывался, а фигачил движок — сейчас бы уже что-то было, но всё же время потрачено не впустую. Польза какая-то есть.
Я лучше стал ориентироваться в OpenGL, освоил новые для меня техники. Всё это немного изменило некоторые взгляды на то, как надо дизайнить движок.

ХаусПостоялецwww30 мар. 201611:32#76
Alprog
> Judy

Ввёл в Гугле-переводчике это слово, а там...

имя прилагательное
глупый
stupid, silly, foolish, fool, dumb, Judy
AlprogМодераторwww30 мар. 201612:05#77
Хаус
Почему Judy?
Я когда-то давно решил, что если буду делать движок, то обязательно назову его женским именем.
Judy на сленге также значит "someone who is very hot", что меня устраивает по смыслу, а также является своеобразной данью HotLava и HotSource — компании, где я начинал работать и её внутреннему движку соответственно. Мои представления о том, каким должен быть true-движок и нужен ли он вообще, во многом сформированы благодаря им.
ХаусПостоялецwww30 мар. 201616:42#78
Alprog

Не, я понял почему Judy, но некоторые не поймут почему Judy...

AlprogМодераторwww23 окт. 201612:17#79
Очередной приступ энтузиазма работы над движком.
На этот раз решил добавить себе стимула, записавшись на конкурс. Посмотрим, успею ли я за 2 месяца внезапно довести движок хоть до какой-то точки?

Вот так выглядит пульс работы над движком.

  • KranX и G5 — это конторы, в которых я работал на fulltime;
  • LHR2 — проект на кокосе, который я начинал с другой командой, пока сидел дома, но в итоге проект заброшен;
  • indie — инди-проект на удаленке, в который вот-вот впишусь.

pulse | Judy

Обновил информацию и скриншот в 0-посте:

+ Показать

MadwareПостоялецwww25 окт. 20168:20#80
Judy Window (Not Responding) - эпично :D

Покажи скрин редактора сцен чтоль тогда еще.
Что помимо этого есть? Редакторы атласов, тайловая рисовалка какая-нибудь есть? Какие возможности по анимации?
Планируешь движок в публичный доступ?

AlprogМодераторwww25 окт. 20169:00#81
Madware
> Judy Window (Not Responding)
Окно в бряке стоит.

> Покажи скрин редактора сцен чтоль тогда еще.
Из редакторов пока только редактор кода.

> Что помимо этого есть?
Пока есть только окошки, парсинг и кодогенерация, рефлекшн, сериализация, удалённый дебаг. Зачатки мультирендера и инпута (с поддержкой нескольких мышек, клавиатур и геймпадов).
Сейчас делаю кросскомпиляцию шейдеров: писать нужно только hlsl, а spir-v, glsl и metal будут генериться автоматически с помощью glslang и spirv-cross.

AlprogМодераторwww25 окт. 201612:04#82
Интересная проблема с дизайном биндинга.

У меня есть объекты, которые передаются в lua по ссылке:

local a = rootNode:getChild(0)
local b = Node.new()
a:addChild(b)

Время их жизни полностью управляются автоматически: их можно безопасно создавать в луа, добавлять какие угодно поля, пихать
в с++ и т.д. — гарантируется, что пока у нас есть ссылки на него из с++ или из луа, он будет жить и не удалится раньше времени.

Но также есть объекты, которые логично передавать по значению:

local pos = node:getPosition() --// независимая копия
pos.x = pos.x + delta
pos.y = pos.y - delta
node:setPosition(pos)

Пока с ними тоже всё классно. Для таких объектов можно даже не заводить счётчик ссылок и прочий оврехед, необходимый для объектов по ссылке.
Проблемы начинаются, когда мы хотим писать в таком стиле:

node.position.x = 0 

здесь хочется, чтобы мы изменили позицию всё-таки у нода, то есть position нужно передать по ссылке. И мы можем так сделать, но тогда появляется путаница:

local posA = nodeA:getPosition() --// независимая копия
local posB = nodeB.position      --// ссылка

()

posB.x = 5 --// небезопасно

С одной стороны прикольно, что можно по-разному объекты передавать. Типа гибкость. Но на самом деле только вносит путаницу, да и к тому же небезопасно (если не добавлять счётчик ссылок и прочее).

Поэтому нужно или всегда отдавать объект по ссылке, и, соответственно место

node.position.x = 0
завести свойства вида
node.positionX = 0

Либо же как-то научиться отличать, когда мы куда-то передаём position целиком, а когда просто лезем дальше в её внутренности. Что в lua без препроцессора сделать проблематично.

MadwareПостоялецwww25 окт. 201612:20#83
Alprog
> local pos = node:getPosition() --// независимая копия
> pos.x = pos.x + delta
> pos.y = pos.y - delta
> node:setPosition(pos)
Не понимаю чем тебя не устраивает такой код. Не хочешь получать копию для изменения только одного компонента?
AlprogМодераторwww25 окт. 201612:31#84
Madware
Да, хочется синтаксический сахар:
node.position.x = 0 

Конечно, positionX тоже вариант. Но как-то не очень красиво.

anzПостоялецwww26 окт. 201612:23#85
Прикольно ) А в редакторе кроме скриптов есть чего?
Вообще, почему такая неприязнь к мобилкам? Сейчас это тренд и все такое. А для мобилок требования гораздо жестче..
AlprogМодераторwww26 окт. 201613:12#86
anz
> А в редакторе кроме скриптов есть чего?
Пока нет. Только-только добираюсь до этих штук.

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

MadwareПостоялецwww30 дек. 201611:26#87
Как успехи?
AlprogМодераторwww30 дек. 201615:36#88
Madware
В ноябре работал каждые выходные, сделал кросскомилятор шейдеров (glslang + spirv).
В декабре, увы, времени на движок не было совсем. На новогодних, думаю, удастся плотно поработать.
AndreyПостоялецwww2 янв. 20170:20#89
Какие новости? когда сцена будет? проходы рендеринга, система частиц, инстансинг, тени, освещение, очереди рендеринга, постэффекты, скелетка?
Страницы: 1 2 3 4 5 6

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

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

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