HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > XashNT: блог разработчика
Часть I
Страницы (158): « Первая ... « 147 148 149 150 [151] 152 153 154 155 » ... Последняя »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
[email protected]
Частый гость

Дата регистрации: Nov 2011
Проживает: Иваново
Сообщений: 57
Возраст: 25

Рейтинг



Дядя Миша, я конечно во многом согласен, но есть и security аспект. Для singleplayer он разумеется не сильно актуален, но для multiplayer очень даже. Да и в случае с singleplayer пользователь может скачать ресурсы со стороннего сайта, а там окажется эксплойт в модельке/звуке.

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

Старое сообщение 22-06-2022 19:09
- За что?
 Дядя Миша
who said meow?

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

Рейтинг



[email protected] приведи пример такого эксплойта.

__________________
My Projects: download page

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

Цитата:

>> так а раньше почему падало ?
> Потому что говно ваш С++, вот почему

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

Старое сообщение 22-06-2022 20:26
-
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 33215
Нанёс повреждений: 504 ед.
Возраст: 36

Рейтинг



Награды
 
[1 награда]


Цитата:
Дядя Миша писал:
приведи пример такого эксплойта.

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

__________________
Братские могилы переполнены,
Смерть серпом косила буйны головы.
Рваную рубаху пулями латай,
Топоры да плаха по дороге в рай!

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

Старое сообщение 22-06-2022 21:17
-
 Дядя Миша
who said meow?

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

Рейтинг



Ничего себе! Нам надо срочно нейросеть, которая будет анализировать контент и подменять женские соски на мужские! А модельку Путина на модельку Брежнева.

__________________
My Projects: download page

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

Цитата:

>> так а раньше почему падало ?
> Потому что говно ваш С++, вот почему

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

Старое сообщение 23-06-2022 06:09
-
 Дядя Миша
who said meow?

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

Рейтинг



Новостей никаких не пишу, к сожалению, ну тут как обычно. Чем фундаментальнее и масштабнее работа - тем меньше чего-то осмысленного можно сказать аудитории по этому поводу. Фундаментальные вещи, они или есть или нет. А как продвигается над ними работа никого не интересует.
Чаще всего в таких случаях просто берут готовую библиотеку и не парятся.
Ну вот как в Юнити однажды взяли C# который для игр абсолютно не годится и уже 15 лет с ним вооют. Я так не хочу, поэтому создаю собственный скриптовой язык, ну об этом вы знаете. Так же будет собственная библиотека оконного менеджера, написанная прямо на этом языке.
Фишка в том, что она сможет подгружать оконные формы из текстовых описаний, а значит визуальное оформление можно будет менять на лету без перекомпиляции. Это относится к будущему редактору. Сам же язык будет использоваться и для описания игровых объектов тоже. Ну и не только для них, для игрового меню, для клиентской библиотеки. Вобщем для всего того, для чего вам раньше требовался С++ и необходимость устанавливать студию. В идеале получится среда, которой не требуются никакие внешние инструменты для работы. Самое главное в данном случае - возможность гибкого расширения, т.к. изначально всё предусмотреть невозможно.

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

Добавлено 28-06-2022 в 10:10:

Скрытый текст:
Этот текст скрытый. Вы должны оставить хотя бы одно сообщение в теме, чтобы его увидеть.


Добавлено 28-06-2022 в 10:17:

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

__________________
My Projects: download page

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

Цитата:

>> так а раньше почему падало ?
> Потому что говно ваш С++, вот почему

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

Старое сообщение 28-06-2022 07:17
-
FiEctro
Кот Арсис

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

Рейтинг



Цитата:
Дядя Миша писал:
В идеале получится среда, которой не требуются никакие внешние инструменты для работы


Какие будут инструменты для отладки?

Цитата:
Дядя Миша писал:
Ну вот как в Юнити однажды взяли C# который для игр абсолютно не годится и уже 15 лет с ним вооют. Я так не хочу, поэтому создаю собственный скриптовой язык, ну об этом вы знаете. Так же будет собственная библиотека оконного менеджера, написанная прямо на этом языке.


А чем он не годится? Куда проще и удобнее чем обычные кресты. Плюс собирается под все возможные платформы. Раньше вообще Жаба шкрипт был. А сейчас вроде как ещё обещают Питон завезти, правда я не знаю зачем такое обилие языков для одного движка. Но с другой стороны, а какая разница чем вызывать движковые функции?

__________________
Иван Топорышкин пошел на охоту,
С ним пудель пошел, перепрыгнув забор,
Иван, как бревно провалился в болото,
А пудель в реке утонул, как топор.

Отредактировано FiEctro 28-06-2022 в 08:37

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

Старое сообщение 28-06-2022 08:29
- За что?
 Дядя Миша
who said meow?

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

Рейтинг



Цитата:
FiEctro писал:
Какие будут инструменты для отладки?

Для отладки чего именно?

Цитата:
FiEctro писал:
Куда проще и удобнее чем обычные кресты

Скорее наоборот - очень запутанный и негибкий язык. Если бы он полностью удовлетворял всем условиям - его бы не обновляли каждый год.
В тех же крестах, например, можно спокойно писать на редакции языка 98-го года и вообще не испытывать никаких неудобств. Всё необходимое там есть. В Шарпе наоборот - до какой-то версии им было очень проблематично пользоваться.

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

Ну вот если разницы бы не было - к чему такая суета вокруг языков и их версий? Не всё так просто.

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

__________________
My Projects: download page

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

Цитата:

>> так а раньше почему падало ?
> Потому что говно ваш С++, вот почему

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

Старое сообщение 28-06-2022 08:44
-
FiEctro
Кот Арсис

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

Рейтинг



Цитата:
Дядя Миша писал:
Для отладки чего именно?


Написанных скриптов. Ну вот накосячил юзверь в коде, и не знает где ошибка, что ему делать? В юнити можно даже посмотреть какой объект или скрипт сколько жрёт памяти и тактов процессора.

__________________
Иван Топорышкин пошел на охоту,
С ним пудель пошел, перепрыгнув забор,
Иван, как бревно провалился в болото,
А пудель в реке утонул, как топор.

Отредактировано FiEctro 28-06-2022 в 08:48

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

Старое сообщение 28-06-2022 08:46
- За что?
 Дядя Миша
who said meow?

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

Рейтинг



За Шарп вот какая любопытная вещь прослеживается. Его версию в Unity периодически обновляют, но на самом деле это довольно небыстрый процесс. Может и год пройти, пока обновят. То есть просто нельзя взять и скачать новый рантайм, надо что-то менять в коде самого Юнити. А почему так происходит? Ну очевидно потому что в самом шарпе опять вообще всё переделали, чтобы он стал только лучше от этого. Значит старые версии говном были? И так - из года в год.

Добавлено 28-06-2022 в 11:48:

Цитата:
FiEctro писал:
Написанных скриптов. Ну вот накосячил юзверь в коде, и не знает где ошибка, что ему делать?

Отладчик встроенн прямо в язык, показывает всё, как студия. С номером строчки и именем исходного файла.

Добавлено 28-06-2022 в 11:49:

Цитата:
FiEctro писал:
В юнити можно даже посмотреть какой объект или скрипт сколько жрёт памяти и тактов процессора.

Это разумеется тоже будет.

__________________
My Projects: download page

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

Цитата:

>> так а раньше почему падало ?
> Потому что говно ваш С++, вот почему

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

Старое сообщение 28-06-2022 08:49
-
FiEctro
Кот Арсис

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

Рейтинг



Цитата:
Дядя Миша писал:
За Шарп вот какая любопытная вещь прослеживается. Его версию в Unity периодически обновляют, но на самом деле это довольно небыстрый процесс. Может и год пройти, пока обновят. То есть просто нельзя взять и скачать новый рантайм, надо что-то менять в коде самого Юнити. А почему так происходит?


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

__________________
Иван Топорышкин пошел на охоту,
С ним пудель пошел, перепрыгнув забор,
Иван, как бревно провалился в болото,
А пудель в реке утонул, как топор.

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

Старое сообщение 28-06-2022 08:51
- За что?
 Дядя Миша
who said meow?

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

Рейтинг



Есть поучительный пример с Valve. Которая очень долго использовала Havok, но в итоге для Source3 написали свой собственный физический движок.
Хотя я лично про Havok ничего плохого сказать не могу, да и вообще не помню, чтобы на него кто-то ругался. Но вот, рассудили, что свой всё равно лучше будет. И это совершенно правильная тенденция. Никогда не возможно чужие либы друг с другом совместить идеальным образом.

Добавлено 28-06-2022 в 11:59:

Кстати, с JavaScript точно такая же шляпа прослеживается. Как-то KIQ давал свой движок потестить, так я скачал наверное штук 15 рантаймов, прежде чем нашёл тот, с которым он заработал. Ну и что в этом хорошего?

__________________
My Projects: download page

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

Цитата:

>> так а раньше почему падало ?
> Потому что говно ваш С++, вот почему

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

Старое сообщение 28-06-2022 08:59
-
FiEctro
Кот Арсис

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

Рейтинг



Цитата:
Дядя Миша писал:
Кстати, с JavaScript точно такая же шляпа прослеживается. Как-то KIQ давал свой движок потестить, так я скачал наверное штук 15 рантаймов, прежде чем нашёл тот, с которым он заработал. Ну и что в этом хорошего?


Это мне напомнило как я собирал одну прогу на Делфях, там такая же беда. Причем оно работало только если установить в папку рабочего стола, а в остальных других местах кукиш.

Цитата:
Дядя Миша писал:
Отладчик встроенн прямо в язык, показывает всё, как студия. С номером строчки и именем исходного файла.


И что в нужный такт находится в памяти тоже?

__________________
Иван Топорышкин пошел на охоту,
С ним пудель пошел, перепрыгнув забор,
Иван, как бревно провалился в болото,
А пудель в реке утонул, как топор.

Отредактировано FiEctro 28-06-2022 в 09:11

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

Старое сообщение 28-06-2022 09:07
- За что?
 Дядя Миша
who said meow?

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

Рейтинг



Цитата:
FiEctro писал:
И что в нужный такт находится в памяти тоже?

Можно включить отладку вот такого рода
C++ Source Code:
1
CALL: main( locals 52, args 0 );
2
TAKE_ADDR: stack[16]( <RESULT> '4445748' ) = &stack[8]( foo '4445748' );
3
PUSH_P: stack[52] = stack[16]( <RESULT> '4445748' );
4
OBJECT_CALL: PropTest::ctor( locals 12, args 1, size 4 );
5
ADD_P: stack[56]( <RESULT> '4445748' ) = stack[52]( this '4445748' ) + heap[240]( m_customText '0' );
6
STOREP_S: memory[4445748]->string( '' ) = heap[292]( <IMMEDIATE> '' );
7
ADD_P: stack[60]( <RESULT> '4445752' ) = stack[52]( this '4445748' ) + heap[244]( m_text '4' );
8
STOREP_S: memory[4445752]->string( '' ) = heap[292]( <IMMEDIATE> '' );
9
RETURN: void;
10
TAKE_ADDR: stack[16]( <RESULT> '4445748' ) = &stack[8]( foo '4445748' );
11
PUSH_P: stack[52] = stack[16]( <RESULT> '4445748' );
12
PUSH_S: stack[56] = heap[580]( <IMMEDIATE> 'Test' );
13
PUSH_I: stack[60] = heap[28]( true '1' );
14
OBJECT_CALL: PropTest::SetText( locals 16, args 3, size 12 );
15
IFNOT: stack[60]( useCustom '1' ) != 0, continue from 21;
16
ADD_P: stack[64]( <RESULT> '4445748' ) = stack[52]( this '4445748' ) + heap[240]( m_customText '0' );
17
STOREP_S: memory[4445748]->string( 'Test' ) = stack[56]( text 'Test' );
18
GOTO: jump from 24 to 27;
19
RETURN: void;

Уж не знаю, насколько это будет для вас информативно.

Добавлено 28-06-2022 в 12:29:

Оно тут показывает совершаемые операции, названия переменных, содержимое переменных, их адреса и какая память используется - стек, глобальная, объекты. Ну подробнее с опкодами навряд ли возможно.

Добавлено 28-06-2022 в 13:59:

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

Добавлено 28-06-2022 в 14:05:

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

__________________
My Projects: download page

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

Цитата:

>> так а раньше почему падало ?
> Потому что говно ваш С++, вот почему

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

Старое сообщение 28-06-2022 11:05
-
FiEctro
Кот Арсис

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

Рейтинг



Цитата:
Дядя Миша писал:
Кстати. Не помню уж где, то ли на хабре, но вычитал что в Юнити нет никаких стандартных методов поиска объектов в трёхмерном пространстве в заданном радиусе.


В юнити такие вещи предполагается делать через колайдер - триггер, либо через сферкаст. Я подобным образом например для игрока нормали на поверхности перебираю. Может ещё какие нибудь методы есть, не знаю, не углублялся так далеко. Но вообще в Юнити перебор объектов и их компонентов в реальном времени довольно тяжелая операция по ЦПУ таймингу, и для ПК она в целом ок, но вот мобильные процы просаживаются по фпс.

__________________
Иван Топорышкин пошел на охоту,
С ним пудель пошел, перепрыгнув забор,
Иван, как бревно провалился в болото,
А пудель в реке утонул, как топор.

Отредактировано FiEctro 28-06-2022 в 11:24

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

Старое сообщение 28-06-2022 11:18
- За что?
 Дядя Миша
who said meow?

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

Рейтинг



Цитата:
FiEctro писал:
В юнити такие вещи предполагается делать через колайдер - триггер, либо через сферкаст

Но ведь этот коллайдер не увидит точечные логические энтити, например, хотя в Юнити помоему такого и так нету. Там любой объект непременно должен иметь какую-то модель.
Да и само обращение к физическому движку ради простого перечисления объектов довольно тяжелая операция, особенно если за кадр надо это делать много раз. В кваке проще - там регулярная сетка AABB-дерева, в которой пространственный поиск весьма быстр. Я подобную сетку даже для рассчётов радиосити использую и она справляется лучше, чем например BSP-дерево в аналогичной ситуации.

__________________
My Projects: download page

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

Цитата:

>> так а раньше почему падало ?
> Потому что говно ваш С++, вот почему

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

Старое сообщение 28-06-2022 11:34
-
Тема: (Опционально)
Ваш ответ:



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


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

Временная зона GMT. Текущее время 07:21. Новая тема    Ответить
Страницы (158): « Первая ... « 147 148 149 150 [151] 152 153 154 155 » ... Последняя »   Предыдущая тема   Следующая тема
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 - 2022