Перейти к контенту

Курилка программистов


Рекомендуемые сообщения

@-StalkMen-,

я не понял, о чём ты. Понятие "асинхронный" я знаю применительно к передаче сообщения. Асинхронный в этом контексте означает неодновременный (что понятно из названия, поскольку буквально "не синхронный"). Смысл в том, что обработка сообщения идёт не сразу, как для синхронного вызова, а позже (не важно в этом потоке или другом). А что такое асинхронная физика?

 

Вообще распараллеливание вычислений в первую очередь связано с устранением зависимости между вычислениями. Если для вычисления А мне надо сперва вычислить Б, то я не смогу вычислить А и Б одновременно. Идея достаточно простая. Что непросто, так эту самую независимость обеспечить. Если изначально об этом не думалось, то таких зависимостей полно, и без существенного редизайна всех вычислений никакой параллелизации не получится.

  • Согласен 1
  Полезный утиль (Показать)
Ссылка на комментарий

@Malandrinus,

Я и не говорил, что будет просто :D

Я к тому, что X-Ray можно распараллелить, но не весь и не за один день :)
Нельзя асинхрнно юзать луа? Значит надо засинхронизировать доступ к lua стейту.
Сложно реализовать Распараллеленный расчёт физики в старой версии ODE ? Искать замену.- новая версия или там физиксы всякие.

Конечно если "расчёт точки Б связан с координатами точки А", то тут мало что можно сделать. Но ведь так не всегда, Может у нас две пары точек, не связанных межу собой - Можно в два потока посчитать :)
 

Ссылка на комментарий

Нашел движок для сетевых и одиночных  игр. Бесплатный - условно (код закрыт - стоит денег (больше штуки баксов)), а так разрешено продавать свою игру. 8 человек онлайн. Все типы техники. Есть СДК. Уроки. Поддержка.

. Изменено пользователем Дизель

andreyholkin.gif

rod_cccp.gif

 

Ссылка на комментарий

Prosectors Project

Проект разрабатывают: C.I.U. (Lua, LUA C API), Nazgool (Lua), Malandrinus (Lua, C++)

  Описание (Показать)
Изменено пользователем ed_rez
  • Нравится 1
  • Полезно 1

ed_rez.gif

c1f11b67ff360413e81b4e4dcf21eb41.jpg

Ссылка на комментарий

Наконец-то скачал Сервис Пак 1 для VS2010 и смог собрать проект с https://xp-dev.com/scs/210311

Как оказалось, там была ошибка, проект то и раньше у меня собирался(без сервис пака 1), но при старте НИ, игра валилась, я по началу не изучил лог как следует и не заметил проблему.

  лог (Показать)
Изменено пользователем НаноБот
  • Нравится 2

...в конце концов, важен лишь, машинный код.

СТАЛКЕР только для ПК!

Ссылка на комментарий

Здравствуйте. Я изучал движение танка в NeoAxis 3D Engine Free SDK 3.5. Собрал пару танков на ходу.

 

fef3b733fef6t.jpg
 

 

Так всё гораздо проще, чем нам требуется для реанимации гусениц в Хрее - просто надо реализовать шейдер для текстур с движущейся развёрткой относительно нулевой координаты мирового пространства. То есть: начало движение модели, развёртка смещается векторно.

 

Это что то подобно шейдеру облаков  в Сталкере. Как реализовать?

Изменено пользователем Дизель

andreyholkin.gif

rod_cccp.gif

 

Ссылка на комментарий

@Дизель,

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

 

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

  Полезный утиль (Показать)
Ссылка на комментарий

@Malandrinus, а что то меня терзают сомнения на счет угловатой геометрии?  Траки привязкой модификатора линкуются с костями, типа axle, для каждого колеса отдельно.

Про текстуры и развертки траков я в курсе. Меня интересует тот самый пиксельный шейдер.

Изменено пользователем Дизель

andreyholkin.gif

rod_cccp.gif

 

Ссылка на комментарий
  Malandrinus писал(а):

Предлагаю обсудить такой вопрос, как роль скриптов в движке. ... Что думаете?

Спросил, что об этом думает Дмитрий Ясенев, и вот его ответ:

 

  Показать

 

  • Спасибо 1

Самый некомпетентный на форуме.

Ссылка на комментарий

Ну да, так и получается Луа-программистов гораздо больше чем С++, быстро что менять хорошо на Лау, а не на С++. В общем, имеет смысл перенести часть схем для НПС в движок, а Луа надо развивать, добавлять дополнительные методы, колбеки, что бы не городить огород.

...в конце концов, важен лишь, машинный код.

СТАЛКЕР только для ПК!

Ссылка на комментарий

 

 

  dPlayer писал(а):
Потом получилось так, что у нас не было необходимого количества С++ программистов для реализации логики внутри движка, кроме того, были непонятны рамки скриптов: где та граница, где все еще стоит реализовывать на скриптах, а где - только на С++.

Н-да...

Ссылка на комментарий

@Malandrinus, снял видео о работе движка NeoAxis на этом принципе. Я сам привязывал танки полностью.

С 25 секунды смотри:

 

  Показать

 

Изменено пользователем Дизель

andreyholkin.gif

rod_cccp.gif

 

Ссылка на комментарий

 

 

  Дизель писал(а):
Траки привязкой модификатора линкуются с костями, типа axle, для каждого колеса отдельно

Привязка - это хорошо, а как сами траки перемещаются вверх-вниз? Я смотрю на видео и это не очевидно. То ли физика работает, то ли нечто вроде Inverse Kinematics. По-любому, этого в X-Ray готового нет, поэтому траки будут просто статичной коробочкой вокруг колёс. Сразу, кстати, приходит на ум такая проблема. У автомобиля земли касаются колёса, а у танка земли касаются траки. Поэтому надо ещё и сделать разную физическую геометрию и меш катков. Физическая геометрия должна быть на толщину трака больше.

 

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


 

 

  dPlayer писал(а):
Спросил, что об этом думает Дмитрий Ясенев

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

 

Это даже не отвечает на вопрос

 

 

  dPlayer писал(а):
А как дело со скриптами стоит в других движках, аналогичных хрею возможностей?

поскольку сурвариум не аналогичен хрею. Сюжета там нет, да и настолько продвинутых ботов тоже нет. Не удивительно, что и скрипты им не нужны вовсе.

 

Хотя в целом сказанное не противоречит выводам насчёт необходимости снижения роли скриптов.

 

Лично я для себя уже определился - скрипты в таком виде как в сталкире резать. Остались колебания только по поводу GUI. Я здесь вижу две диаметрально противоположные стратегии. Первая согласуется с генеральной линией партии - убрать скрипты из GUI вообще. Вторая - напротив весь GUI делать на скриптах. На движок оставить только самые базовые классы: базовые окна, элементы управления, некоторые крупные блоки типа блока кнопок для главного меню (эта та штуковина с ползунком в виде увеличительного стекла и с интересным названием Shniaga). А всё остальное - скриптами, включая окна типа инвентаря, диалогов, пда и т.д. Разумеется, экспортировать контролы надо более полно и аккуратно, нежели это сделано сейчас. Также нужны все колбеки и ещё до кучи мелочи, но это уже детали. Такая стратегия тоже имеет право на жизнь. Дело в том, что производительность GUI как правило не критична, а это как раз та часть, которая довольно часто меняется модостроителями и при этом действительно в этом случае как-то нет смысла требовать от модостроителя знаний С++. Окошки - это как правило совершенно примитивная алгоритмическая работа, простые структуры данных, простые алгоритмы. В общем, здесь на самом деле можно найти смысл делать их скриптами. Но тогда уж полностью скриптами. Из ровно той же самой идеологии "убрать границы". Просто границу в данном случае можно передвинуть в одну из двух сторон.

  • Нравится 1
  Полезный утиль (Показать)
Ссылка на комментарий
  Malandrinus писал(а):
У автомобиля земли касаются колёса, а у танка земли касаются траки

Вот ты и спалился ;) . У авто колёса - не являются процессом движения, просто мишура. Там шейпы двигают и радиус в конфигах задает параметр движения.

Траки у танка и колёса в движке NeoAxis  линкуются все от родительской кости, а не так как в сталкере принято: кость колеса линковать еще последовательно через кость моста. - хотя на эту принятость можно не обращать внимания и делать по-другому.

Изменено пользователем Дизель

andreyholkin.gif

rod_cccp.gif

 

Ссылка на комментарий

 

 

  Malandrinus писал(а):
Первая согласуется с генеральной линией партии - убрать скрипты из GUI вообще.

Эмм... Если я правильно понял - при таком раскладе нарисовать свое окно мододел не сможет ?

Ссылка на комментарий

 

 

  Дизель писал(а):
Вот ты и спалился

Это о чём?

 

 

 

  Цитата
У авто колёса - не являются процессом движения, просто мишура

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

 

Тем не менее колёса же земли касаются. Физической геометрией разумеется, не визуалом. Если обматывать колёса траками, то физическая геометрия (то, что называют шейпом в просторечии), должна быть на толщину трака больше визуальной. Вроде как банальная мысль, разве нет?


 

 

  UnLoaded писал(а):
при таком раскладе нарисовать свое окно мододел не сможет ?

 

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

 

Кстати, здесь прямо всплывает один из "тормозов развития" - крайне плохая структура модулей движка. GUI должен быть отдельным модулем и подпроектом, а сейчас является частью самого замороченного модуля - xrGame. Туда залезть и что-то там поменять страшно само по себе. Был бы отдельный модуль - только для окошек - даже чисто психологически было бы легче туда залезть и что надо подкрутить, не говоря уже о том, что это и объективно упрощает дело: меньше  модуль - легче понять, быстрее скомпилить, меньше зависимостей и т.д.

  Полезный утиль (Показать)
Ссылка на комментарий

Malandrinus, а я и спрашивал в общем, без конкретики. А в принципе, Ясенев человек увлеченный и если ты задашь интересный ему вопрос он на него интересно и ответит.

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

Самый некомпетентный на форуме.

Ссылка на комментарий

 

 

  dPlayer писал(а):
Ясенев человек увлеченный и если ты задашь интересный ему вопрос он на него интересно и ответит.

Я знаю. Сам один раз его спрашивал. Очень давно было, по планировщикам выяснял, когда ещё исходниками и не пахло.

 

 

 

  Цитата
А что, колёса машин в сталкере фейковые? ...Не, походу все таки колесам передаётся вращение и они уже перемещают автомобиль.

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

  Полезный утиль (Показать)
Ссылка на комментарий

Вы своими рассуждениями про колёса авто - зашли не в ту степь. Шейп приатачивается к визуалу колеса и выполняет функцию движителя. Колесо же (визуальное) просто повторяет движение шейпа. Ровно повторяет - потому как приклеено намертво. Авто может перемещаться и без вращения визуального колеса, на не прилинкованом шейпе.

Давайте будем считать так, что авто движется от кости колеса, при помощи шейпа.


 

 

  dPlayer писал(а):
дифференциал

, если бы он там работал правильно. Это порнография, работающая не на мосты, а на все колёса сразу. Это больше напоминает фрикционную систему сцепления.

Изменено пользователем Дизель
  • Согласен 1

andreyholkin.gif

rod_cccp.gif

 

Ссылка на комментарий

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...