Dark Engine Viewer

Автор Force, 30 ноября 2019 23:55:27

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Zontik

Мне вообще показалось, что это не оригинальная модель. Или не показалось?
Дайте глазам отдохнуть! Тёмное место

Force

Модель оригинальная...
Слушайте, сейчас прям сравнил две версии - и вправду, в оригинале плечи прям торчат :suspect:. Вы - глазы-алмазы! :biggrin: Но загадочно... Может быть, это ОНИ сделали что-то не так? А может быть, у этого "не так" есть даже какое-то обоснование?.. :confused: Но лично меня пока точно устраивает то, что получилось ;).

nemyax

Force
Там битбукет прокашлялся.
Желаю тебе из тысячи рулеток одну — самую русскую!
Желаю тебе из тысячи надежд одну — самую крупскую!

Force

nemyax
О, спасибо! А то я уж собрался на нем ставить крест... А что было, не знаешь? Три дня проблема продержалась.

nemyax

Не знаю. По времени совпало с учениями нашенской сетевой гестапы по блокировке OpenVPN, но может быть и не связано.
Желаю тебе из тысячи рулеток одну — самую русскую!
Желаю тебе из тысячи надежд одну — самую крупскую!

Force

nemyax
Кстати, раз уж ты заглянул. У меня тут на днях прям откровение было. Один знакомый программист поведал, что, оказывается, такие движки как Unity и UE уже перешли на архитектурный паттерн ECS (Entity-component-system). Ты слышал про него? Что-нибудь можешь сказать?

Я несколько дней обмозговывал эту идею и пришел к выводу, что тоже такое хочу, и что оно действительно может всё упростить и ускорить разработку. Для примера - мне совершенно не нравится как пришлось мучиться с приделыванием физического движка - городить целый ворох дурацких обвязок, и в итоге он всё равно работает через прослойки-костыли. А чтобы костыли убрать - нужно рефакторить сердцевину проекта - работу с объектами. Тогда как в ECS внедрение движка произошло бы просто "автоматически" без каких либо переделок, прямо в существующую архитектуру! :aaa:

Я очень давно вынашиваю идею рефакторинга, но всё откладывал её, потому что не до конца были понятны преимущества, а тут как раз под финишную прямую очередного релиза подвернулась эта идея и стало понятно, наконец, КАК рефакторить!

nemyax

Цитата: Force от 02 июня 2023 16:25:05архитектурный паттерн ECS (Entity-component-system)
Не знаю такого термина, но в квейке и производных движках всю дорогу используются объекты под названием entities, которые мапер располагает на карте. Им прописывают значения конфиг-полей, а в рантайме движок уже управляет поведением (уцелевших после компиляции) энтитей, реализуя структуру и поведение динамических частей и логику геймплея. Кто хоть сколько-нибудь мапал под квейк, халфу, да даже TDM, тот понимает, о чём речь.
Может быть, ECS оно и есть умными словами.
Желаю тебе из тысячи рулеток одну — самую русскую!
Желаю тебе из тысячи надежд одну — самую крупскую!

Force

nemyax
Не, entities в квейке - это просто активные игровые объекты из брашей, смоделеные прямо в редакторе. А тут речь об архитектурном паттерне. Вот классная статья на хабре есть, если интересно: https://habr.com/ru/articles/665276/

nemyax

Цитата: Force от 02 июня 2023 16:39:54entities в квейке - это просто активные игровые объекты из брашей, смоделеные прямо в редакторе
Но энтити бывают не только брашевые, а ещё и точечные. Брашевые там, где объект обладает объёмом, а точечные могут представлять хоть мадельку, хоть монстра, хоть спрайт, хоть вовсе абстрактный логический вентиль.
Желаю тебе из тысячи рулеток одну — самую русскую!
Желаю тебе из тысячи надежд одну — самую крупскую!

Force

Цитата: nemyax от 02 июня 2023 16:44:51
Но энтити бывают не только брашевые, а ещё и точечные. Брашевые там, где объект обладает объёмом, а точечные могут представлять хоть мадельку, хоть монстра, хоть спрайт, хоть вовсе абстрактный логический вентиль.
Не, такого я уже не помню. Но звучит органично с любой структурой, даже Dark Engine'овской.

nemyax

Вот, например, справочник по энтитям первой халфы: https://twhl.info/wiki/page/category%3AEntity_Guides%2BHalf-Life_Entity_Guide
Если помнишь, там на энтитях сделано всё. Даже не существовало способа для мапера как-либо заскриптовать поведение кодом.
Желаю тебе из тысячи рулеток одну — самую русскую!
Желаю тебе из тысячи надежд одну — самую крупскую!

Force

Цитата: nemyax от 02 июня 2023 17:04:09
Вот, например, справочник по энтитям первой халфы: https://twhl.info/wiki/page/category%3AEntity_Guides%2BHalf-Life_Entity_Guide
Если помнишь, там на энтитях сделано всё. Даже не существовало способа для мапера как-либо заскриптовать поведение кодом.
Ну там просто объекты - это цельная неделимая игровая сущность. Максимум можно было визуально её изменить, например, выбрать набор брашей и поставить ему сущность, например "func_door". И тогда у тебя была своя дверь, выглядящая как тебе надо, можно было даже опциями поиграть, скорость поменять, там, но на этом как бы и всё.

В Dark Engine объект - это набор свойств, любых, какие поставишь, такие и будут. В примеру, можно сделать объект с моделью бочки, которая может сдвигаться как сдвижная дверь, одновременно поворачиваться, как поворотная дверь, и по которой можно будет взбираться, как по лестнице... А ещё была возможность наследования от других таких же объектов и тогда... Правда, сам движок не всегда справлялся с корректным расчетом поведения всего этого многообразия ;).

В этом плане, Dark Engine уделывает quake по всем статьям... Разве что браши нельзя было использовать в качестве геометрии объекта. Зато рум браши можно...  :lol: Но это уже отдельная тема. Как и скриптование :biggrin:

nemyax

Цитата: Force от 02 июня 2023 17:26:45там просто объекты - это цельная неделимая игровая сущность
Ну вот да. Судя по статье, в ECS нам предлагается вместо единой энтити с набором свойств энтить-контейнер, куда мы наталкиваем абстрактные универсальные группировки свойств. Мол если я хочу кататься по уровню на машинке, я могу себе наконструировать уазик или фордфокус, тасуя эти группировки.
Но я чёт не уверен, что мне как маперу такое было бы удобно. Если у меня на уровне только уазики и фокусы, то может я лучше закажу своему кодеру func_uazik и func_fordfocus и не буду морочить себе голову тем, как оно у него там в потрохах наследуется? А оно ведь наследуется по-любому, только для меня это уже будет прозрачно.
Желаю тебе из тысячи рулеток одну — самую русскую!
Желаю тебе из тысячи надежд одну — самую крупскую!

Force

#313
Цитата: nemyax от 02 июня 2023 17:40:01
Но я чёт не уверен, что мне как маперу такое было бы удобно. Если у меня на уровне только уазики и фокусы, то может я лучше закажу своему кодеру func_uazik и func_fordfocus и не буду морочить себе голову тем, как оно у него там в потрохах наследуется? А оно ведь наследуется по-любому, только для меня это уже будет прозрачно.
А вот для этого в Dark Engine и есть прототипы, от которых можно наследовать свойства. Ты просто один раз создаешь "уазик", а потом наследуешься от него, меняя только цвет или скорость у наследников, к примеру. В Thief таким образом очень много всякого сделано, всякие "мертвое тело" и прочие "наборы" свойств можно закинуть любому объекту и он станет "мертвым" - валяться в "мертвой позе", его можно будет взять и т.п. А если брать нельзя, то переопределить свойство "брать" у этого объекта. Так что мощь! Жалко только что интерфейс у DromEd'а настолько всратый, что не позволяет оценить потенциал по достоинству :\...

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

nemyax

Цитата: Force от 02 июня 2023 18:17:59Жалко только что интерфейс у DromEd'а настолько всратый, что не позволяет оценить потенциал по достоинству :\...
Так-то да, но и потенциал надо сказать неровный. При такой продвинутой системе свойств такая убогая система скелеталки, даже безотносительно качества редактора. Я как вспомню заиньку из "Истории короля", так вздрогну.
Желаю тебе из тысячи рулеток одну — самую русскую!
Желаю тебе из тысячи надежд одну — самую крупскую!