HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > XashNT: блог разработчика
Часть I
Страницы (246): « Первая ... « 242 243 244 245 [246]   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32313
Нанёс повреждений: 392 ед.

Рейтинг



Все, что по смыслу должно динамически обновляться - будет это делать, да.

Добавлено 10-06-2024 в 23:40:

Цитата:
FiEctro писал:
Это глобальные эвенты их создаёт фреймворк движка, а пользовательские скрипты на них подписываются. Соответственно если объект удаляется то он просто отписывается от них и всё. Если всё же другие объекты на него ссылались ну они будут возвращать Null тогда, хотя я обычно делаю проверку. Как бы ничего страшного игра не крашнется если где то случайно разработчик ссылается на несуществующий объект, просто консоль сообщит ему это.

Ты меня опять не понял. Если объект удаляется - будет ли вызван какой-то эвент?
В Шоте, к слову нет никаких глобальных подписок со стороны движка - всё в ведении пользователя и компилятора. То есть там есть 5-6 глобальных вызовов, из которых, собственно всё и происходит.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 221041

Старое сообщение 10-06-2024 20:40
-
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 12951
Возраст: 32

Рейтинг



Цитата:
Дядя Миша писал:
Ты меня опять не понял. Если объект удаляется - будет ли вызван какой-то эвент?


Вроде нет. Но ты можешь создать свой эвент для таких вещей если я тебя правильно понял.
https://stackoverflow.com/questions...s-are-destroyed

Цитата:
Дядя Миша писал:
В Шоте, к слову нет никаких глобальных подписок со стороны движка - всё в ведении пользователя и компилятора. То есть там есть 5-6 глобальных вызовов, из которых, собственно всё и происходит.


А как быть если я хочу активировать мой код при создании скрипта, при первом кадре скрипта, при каждом такте физики, при каждом кадре или в конце кадрта?

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!

Сообщить модератору | | IP: Записан
Сообщение: 221042

Старое сообщение 10-06-2024 21:44
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32313
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
FiEctro писал:
А как быть если я хочу активировать мой код при создании скрипта, при первом кадре скрипта, при каждом такте физики, при каждом кадре или в конце кадрта?

все необходимые функции присутствуют. Но на них не надо подписываться.
Это всё в настраивается прямо из кода на шоте.
Да, собственно у тебя же есть сорцы - поизучай.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 221045

Старое сообщение вчера 06:38
-
Camblu_Buildovich
Житель форума

Дата регистрации: Jan 2011
Проживает: Город/село/деревня
Сообщений: 335
Возраст: 31

Рейтинг



Цитата:
Так товарищи. Настало время открыть вам страшную правду. Я не настоящий пограммист, как некоторые думают. Настоящему пограммисту вообще всё равно какой код писать. Они в любую задачу погружаются с интересом и работают над ней. Им главное - новизна ощущений. По принципу "О! а я с таким ещё не работал! Интересно!". Ну вот по этому критерию я совсем не настоящий Нет у меня желания обмазываться каждой новинкой и погружаться в неё. В действительности существовал ряд направлений в которых мне было очень интересно ковыряться и разбираться, но достаточно ограниченный.

Так товарищи. Настало время открыть вам страшную правду. Я не настоящий маппер, как некоторые думают. Настоящему мапперу вообще всё равно какую карту делать. Они в любую задачу погружаются с интересом и работают над ней. Им главное - новизна ощущений. По принципу "О! а я с таким ещё не работал! Интересно!". Ну вот по этому критерию я совсем не настоящий Нет у меня желания обмазываться каждой новинкой и погружаться в неё. В действительности существовал ряд направлений в которых мне было очень интересно ковыряться и разбираться, но достаточно ограниченный.
Дядь Миш, главное - движок пили. Видно же, что тебе самому интересно. И протести его итерации на хомячках, типа меня, чтобы точно знать уровень грунта насколько твоя мысль вхождения для не-программеров жизнеспособна.

__________________
Самолетами!
Пароходами!
С боем взяв плацкарты
Едут мужики!
Самолетами!
Пароводами!
Убивать людей
Едут мужики!

Отредактировано Camblu_Buildovich вчера в 20:43

Сообщить модератору | | IP: Записан
Сообщение: 221047

Старое сообщение вчера 20:40
- За что?
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 12951
Возраст: 32

Рейтинг



Так товарищи. Настало время открыть вам страшную правду. Я не настоящий гейм дизайнер, как некоторые думают. Настоящему гейм дизайнеру вообще всё равно какой диздок писать. Они в любуй созвон погружаются с интересом и работают над проектом. Им главное - новизна ощущений. По принципу "О! а на таких плантациях ещё не работал! Интересно!". Ну вот по этому критерию я совсем не настоящий Нет у меня желания созваниваться с каждым кабанчиком и погружаться в катарсис. В действительности существовал ряд хонк-хонков в которых мне было очень интересно ковыряться и разбираться, но достаточно ограниченный.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!

Отредактировано FiEctro вчера в 21:16

Сообщить модератору | | IP: Записан
Сообщение: 221049

Старое сообщение вчера 21:14
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32313
Нанёс повреждений: 392 ед.

Рейтинг



Очередной важный прорыв совершён сегодня. Движок, как вы знаете, наследуется от Xash3D, а тот в свою очередь - от семейства движков ID Software. В этом нет ничего плохого, на самом деле подавляющее большинство, так или иначе наследует если не кодобазу, то хотя бы идеи Кармака. И конечно наследуется не только хорошее, но и плохое.
Когда речь идёт об идеях, то что-то можно просто не брать. Когда мы имеем дело с какой-то древней кодобазой, то туда попадает разное.
В частности - биты контентсов (содержимого). Ну все наверное про них в курсе, кто имел дело с этими движками. Весь ужас в том, что этих контентсов не так уж и много - всего 32 штуки, поскольку они хранятся в 32-х разрядной целочисленной переменной, но это-то ещё ладно, обычно такого кол-ва хватает за глаза в рамках одной игры. Проблема в том, что к этим контентсам привязан весь workflow - их смотрят компиляторы, движок, при этом вы даже можете толком не знать какие биты используются тулзами и для чего. К тому же они запечены уже в готовой геометрии.

Подобные на первый взгляд простейшие вещи вычищать из среды невероятно сложно, у меня это заняло почти пять лет - начиная с 2019-го года. Правда надо признать, что я не особенно торопился на этот счёт.
Итак, как же мне удалось от них избавиться?
Для утилит введено понятие контентсов компилятора - их всего-навсего три шутки: небо, солид и ликвид. Большего компиляторам и не требуется, им вполне достаточно такого абстрактного разделения.
Движок знает ровно один контент - CONTENTS_SOLID. Я бы конечно мог избавиться и от него, но тогда бы получилось как в вашей любимой Unity - по дефолту вся геометрия не коллидит и игрок бы вываливался с уровня почём зря. Не думаю, что кому-то бы понравилась такая "гибкость".
Так что один бит захардкоден и навряд ли вызовет неудобства, а остальные 31 бит - полностью в вашем распоряжении.
Вы можете создавать разные типы воды, окон, решёток, вообщем всё что угодно для фильтрации коллизии.

Да, самое главное забыл сказать - контентсы можно переопределять не перекомпилируя уровни, модели и всё прочее. Единственное что вам понадобится пересобрать - это игровой код виртуальной машины, т.к. эти контентсы там используются в качестве маски для трассировки. Ну оно и понятно. А вот ресурсы трогать не нужно, т.к. биты контентсов существуют только в материалах и каждый раз загружаются из текстовых скриптов. В форматах моделей они не записаны.
Единственное, повторюсь нельзя переопределять CONTENTS_SOLID.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 221052

Старое сообщение сегодня 11:17
-
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 12951
Возраст: 32

Рейтинг



Цитата:
Дядя Миша писал:
Я бы конечно мог избавиться и от него, но тогда бы получилось как в вашей любимой Unity - по дефолту вся геометрия не коллидит и игрок бы вываливался с уровня почём зря.


Эээм ты что то путаешь. Там встроенный физдвижок и юнити оперирует строго его коллайдерами. Ну если коллайдер отключить то да будет проваливаться. Но так то они есть из коробки. Ещё в Юнити есть слои (к слову слои есть преднастроенные, и пользовательские (сколько максимум штук я хз но вроде бы всегда хватало)) через которые ты можешь указывать как они взаимодействуют физически. Ещё объектам можно давать теги и тоже по ним сортировать их.



Цитата:
Дядя Миша писал:
их всего-навсего три шутки: небо, солид и ликвид.


Есть триггеры ещё, это вроде и не солид, и не ликвид и не небо.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!

Отредактировано FiEctro сегодня в 11:37

Сообщить модератору | | IP: Записан
Сообщение: 221053

Старое сообщение сегодня 11:31
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32313
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
FiEctro писал:
Есть триггеры ещё, это вроде и не солид, и не ликвид и не небо.

Верно. Но, как я уже и сказал - можно задавать сразу несколько бит для коллизии. Мы у триггера ставим CONTENTS_TRIGGER, а CONTENTS_SOLID - убираем. Вот и получается, что на триггеры реагирует только определённый тип трассы. И всё - в ведении пользователя. У меня ничего не прибито гвоздями, как на картинке выше. Пользователь сам определяет типы контентсов и за что они отвечают. Но разумеется есть полноценные примеры использования.

Добавлено сегодня в 16:38:

Кстати, можно создавать такие штуки, которые одновременно и вода и триггер, к примеру.

Добавлено сегодня в 16:39:

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

Добавлено сегодня в 17:04:

На самом деле - спасибо за картинку. Ты лишний раз подтвердил мой тезис как эти маски коллизии тяжело оторвать от движка. Я по правде говоря полагал, что в Юнити-то уж они полностью в ведении пользователя.
Оказалось - нифига подобного. Какие дали, такие и юзай.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 221054

Старое сообщение сегодня 14:04
-
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 12951
Возраст: 32

Рейтинг



Дядя Миша
Ты наверное мои посты не читаешь.

Цитата:
FiEctro писал:
Ещё в Юнити есть слои (к слову слои есть преднастроенные, и пользовательские


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

А у тебя пользователь может создавать свои физические слои?

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!

Отредактировано FiEctro сегодня в 14:12

Сообщить модератору | | IP: Записан
Сообщение: 221055

Старое сообщение сегодня 14:09
- За что?
Crystallize
Житель форума

Дата регистрации: Jul 2007
Проживает: Новосибирск
Сообщений: 4461
Возраст: 34

Рейтинг



Цитата:
Дядя Миша писал:
Кстати, можно создавать такие штуки, которые одновременно и вода и триггер, к примеру.

Так падажжи, мы это уже проходили с Мастером который предлагал превратить половину энтитей в галочки в настройках некой суперэнтити. В итоге выяснили что это неудобно потому что человек привык что у всего есть одна главная функция и всё, и он хочет увидеть класснейм в редакторе и сразу всё понять.

Сообщить модератору | | IP: Записан
Сообщение: 221056

Старое сообщение сегодня 14:14
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32313
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
FiEctro писал:
Ещё в Юнити есть слои (к слову слои есть преднастроенные, и пользовательские

Так я об этом и речь веду, что фактически они все движковые - там скорее всего точно такая же битовая матрица и половина занята захардкодеными битами для нужд самого движка. Ну и чуть-чуть оставлено пользователю.
Именно с этим я и боролся. У меня только один бит отдан под нужды движка да и то - весьма условно.

Цитата:
FiEctro писал:
А у тебя пользователь может создавать свои физические слои?

Ну да.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 221057

Старое сообщение сегодня 14:55
-
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 21:50. Новая тема    Ответить
Страницы (246): « Первая ... « 242 243 244 245 [246]   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > XashNT: блог разработчика
Часть I
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

На основе vBulletin
Авторское право © 2000 - 2002, Jelsoft Enterprises Limited.
Дизайн и программирование: Crystice Softworks © 2005 - 2024