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

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

Рейтинг



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


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

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


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

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

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

Старое сообщение 28-06-2022 12:03
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 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: Записан
Сообщение: 209966

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

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

Рейтинг



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


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

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

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

Старое сообщение 28-06-2022 12:09
- За что?
SNMetamorph
Житель форума

Дата регистрации: Jun 2018
Проживает: Ижевск
Сообщений: 560

Рейтинг



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

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

__________________
PrimeXT
GoldSrc Monitor
SMD Splitter
mdl-flip (gFlip analog)
Xash3D Modding Discord

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

Старое сообщение 28-06-2022 12:13
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



Цитата:
FiEctro писал:
Всё есть, можно записывать как в реестр, так и в жсоны в пару строк

Кого в реестр записывать? Сейв в игре?

Цитата:
SNMetamorph писал:
будут ли какие-то удобные инструменты для разработки на этом скриптовом языке: подсветка синтаксиса, иерархия вызовов функций, поиск ссылок, и т.д. Или же юзиру предлагается писать код в блокноте?

Со временем появится и своя студия, вероятно. Но всегда можно будет использовать какой-то редактор для С++, я думаю он справится.
Т.к. там многое совпадает.

__________________
My Projects: download page

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

Цитата:

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

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

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

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

Рейтинг



Цитата:
Дядя Миша писал:
Кого в реестр записывать? Сейв в игре?


Да можно и сейв, в целом вообще всё что угодно можешь записать, например стринг "Здесь был Дядя Миша", но ничего не мешает записать просто жсон на диск, или бинарник. С реестром просто работать проще, там даже заморачиваться не нужно, он сам всё за тебя сделает для каждой платформы.

https://www.red-gate.com/simple-tal...ata-with-unity/

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

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

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

Старое сообщение 28-06-2022 12:16
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



C++ Source Code:
1
void SaveGame()
2
{
3
  PlayerPrefs.SetInt("SavedInteger", intToSave);
4
  PlayerPrefs.SetFloat("SavedFloat", floatToSave);
5
  PlayerPrefs.SetString("SavedString", stringToSave);
6
  PlayerPrefs.Save();
7
  Debug.Log("Game data saved!");
8
}

Правильно понимаю, миллион строчек SetInt, SetFloat, SetString это и есть твой быстрый простой и удобный способ сохранить данные?

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

Цитата:

Back in the day, many games had little need for saving data since you could finish a game in about an hour.

Раньше это когда? Сейвы были уже в Wolf3D.

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

Цитата:
No, your eyes do not deceive you. The actual act of saving your game takes only a few lines of code

Я не пойму, он издевается чтоли, или действительно верит в то что пишет?

__________________
My Projects: download page

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

Цитата:

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

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

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

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

Рейтинг



Цитата:
Дядя Миша писал:
Правильно понимаю, миллион строчек SetInt, SetFloat, SetString это и есть твой быстрый простой и удобный способ сохранить данные?


Смотря под какие цели, для простеньких проектов - вполне. Для чего то более крупного конечно можно это автоматизировать, но уже рученками ога.

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

Старое сообщение 28-06-2022 12:32
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



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

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

Цитата:
FiEctro писал:
Для чего то более крупного конечно можно это автоматизировать

Каким образом? Ты понимаешь что первое от второго
C++ Source Code:
1
void SaveGame()
2
{
3
  BinaryFormatter bf = new BinaryFormatter();
4
  FileStream file = File.Create(Application.persistentDataPath
5
  + "/MySaveData.dat");
6
  SaveData data = new SaveData();
7
  data.savedInt = intToSave;
8
  data.savedFloat = floatToSave;
9
  data.savedBool = boolToSave;
10
  bf.Serialize(file, data);
11
  file.Close();
12
  Debug.Log("Game data saved!");
13
}

Не отличается вообще ничем? Я не понял, почему первый способ он назвал простым, а второй сложным, если это одни и те же яйца.

__________________
My Projects: download page

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

Цитата:

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

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

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

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

Рейтинг



Цитата:
Дядя Миша писал:
Дочитал статью. Изумительно, просто измуительно. Давно я такого индусского кода не видел. Значит в шарпе вообще нет встроенных средств сериализации. Даже в девятой версии или какая там сейчас актуальная.


https://docs.unity3d.com/Manual/scr...ialization.html

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

Старое сообщение 28-06-2022 12:37
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



FiEctro совсем другое дело!
Надо понимать, это появилось только в 2021-м году?

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

А нет, с 2019-го. Т.е. даже не с пятой версии. Я кстати был уверен, что пятая версия щас самая актуальная, оказывается она уже давно устарела и deprecated. Очуметь можно. Частое обновлений версий вовсе не говорит о том, что продкт развивается. Это значит, что старыми версиями вообще было невозможно пользоваться.

__________________
My Projects: download page

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

Цитата:

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

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

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

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

Рейтинг



Цитата:
Дядя Миша писал:
А нет, с 2019-го. Т.е. даже не с пятой версии. Я кстати был уверен, что пятая версия щас самая актуальная, оказывается она уже давно устарела и deprecated. Очуметь можно. Частое обновлений версий вовсе не говорит о том, что продкт развивается. Это значит, что старыми версиями вообще было невозможно пользоваться.


Ох, что там было в 2019 году я не знаю. Полазий сам по справке там много интересного по шарпу и архитектуре Юнити, чем сидель и гадать на кофейной гуще что там есть, а чего нет.

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

Старое сообщение 28-06-2022 14:16
- За что?
Crystallize
Житель форума

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

Рейтинг



Цитата:
Дядя Миша писал:
PUSH_P

Это надо иметь базовые представления об асме чтоб такое дебажить?
Цитата:
Дядя Миша писал:
В кваке проще - там регулярная сетка AABB-дерева, в которой пространственный поиск весьма быстр.

Вот кстати да, юзер-френдли инструментов для работы с деревом бы, как с массивами например. Чтобы был счетчик вида [x][y] для х+1 можно было быть уверенным что оно рядом и касается предыдущего листа.

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

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

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

Рейтинг



Цитата:
Crystallize писал:
Это надо иметь базовые представления об асме чтоб такое дебажить?

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

Цитата:
Crystallize писал:
Вот кстати да, юзер-френдли инструментов для работы с деревом бы, как с массивами например

Любое дерево легко визуализировать как регулярную или нерегулярную сетку. В NT кстати есть такая визуализация. r_show_leafs 1

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

PS. Я потом наверное наглядно распишу как код на С++ подобном языке превращается в опкоды, чтобы вы не боялись это читать. Ну для тех, кто интерисуется конечно. Скорее всего такой низкий уровень отладки вам просто не понадобится.

__________________
My Projects: download page

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

Цитата:

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

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

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

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

Рейтинг



Про отладку имелось ввиду что то вроде этого:
https://docs.microsoft.com/ru-ru/do...vots=dotnet-6-0

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

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



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


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

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