Главная Новые сообщения Регистрация Правила Поиск
UO: Квинтэссенция - Форумы
Страница 10 из 28«12891011122728»
Модератор форума: M@X, Exorcist, Sa1nt 
Форум » Основной » Технический отдел » Новости разработки
Новости разработки
StaticZ Дата: Понедельник, 2016.07.04, 12:26 | Сообщение # 181
Legendary
Legendary
Сообщений: 1643
Репутация: 38
Статус: Offline
Да, по сути это лишь влияет на стартовый "набор". Ну и на самом деле в "гадании" есть определенная логика и связи, тут вовсе все не с потолка берется - каждый выбор, по сути безмолвный вопрос - 1й выбор определяет путь, 2й - главную черту, 3й - темперамент, 4й - мировоззрение. Так что условно если хочется война, то получить вместо него мага можно лишь тыкая наобум не задумываясь о смысле.


Game isn't a dream, it is the reality, reality which is coming while we dream...
 
Спирт Дата: Пятница, 2016.07.15, 15:41 | Сообщение # 182
Legendary
Legendary
Сообщений: 685
Репутация: 5
Статус: Offline
Статикз, как дела? (=


Флудокрафтер (=

* Радимир
* Молчан
 
StaticZ Дата: Пятница, 2016.07.15, 19:40 | Сообщение # 183
Legendary
Legendary
Сообщений: 1643
Репутация: 38
Статус: Offline
Двигаются, с клиентом разобрался наконец-то, правда конечно с 3х недельным отставанием от плана, что естественно печалит, так что раньше августа наврядли успеем. Но по крайней мере наконец-то выбрался из болота возни с клиентом и занялся сервером на 100%, что добавляет оптимизма...

По мимо прочего, нашли очень талантливого художника, что параллельно занимается рисованием карт для генерации персонажа, также скоро займется и интерфейсом, а в будущем и дизайном для нового сайта, ну а пока на закуску предлагаю заценить кое-что из его творчества (если кто не понял то это не "фотошоп", все нарисовано с нуля):

Прикрепления: 5459041.gif(262Kb)


Game isn't a dream, it is the reality, reality which is coming while we dream...
 
Rinsler Дата: Вторник, 2016.07.19, 17:05 | Сообщение # 184
Apprentice
Apprentice
Сообщений: 28
Репутация: 0
Статус: Offline
Это OnMouseEnter или OnMouseDown?
 
StaticZ Дата: Вторник, 2016.07.19, 18:19 | Сообщение # 185
Legendary
Legendary
Сообщений: 1643
Репутация: 38
Статус: Offline
OnMouseDown, с OnMouseEnter у клиента вообще туго, местами сделано но как видно по коду там это приделывали уже потом через заднее место, так что добавлять где это не сделано мутарно, да и если честно не очень-то хочется ради одного экрана генерации персонажа так заморачиваться. При OnMouseEnter там еще тултипы выплывают с текстом - описанием карты, но там текста на пол экрана так что для демонстрации тут без оного.


Game isn't a dream, it is the reality, reality which is coming while we dream...
 
Спирт Дата: Среда, 2016.07.20, 13:56 | Сообщение # 186
Legendary
Legendary
Сообщений: 685
Репутация: 5
Статус: Offline
крутой художник, прямо радует глаз арт (=


Флудокрафтер (=

* Радимир
* Молчан
 
Cmex Дата: Среда, 2016.07.20, 15:57 | Сообщение # 187
Apprentice
Apprentice
Сообщений: 30
Репутация: 0
Статус: Offline
больше скринов и видео )
 
StaticZ Дата: Среда, 2016.07.20, 19:24 | Сообщение # 188
Legendary
Legendary
Сообщений: 1643
Репутация: 38
Статус: Offline
Как будет готов новый интерфейс сделаю видео с демонстрацией..


Game isn't a dream, it is the reality, reality which is coming while we dream...
 
Cmex Дата: Четверг, 2016.07.21, 15:26 | Сообщение # 189
Apprentice
Apprentice
Сообщений: 30
Репутация: 0
Статус: Offline
очень ждем !!)
 
Greg Дата: Пятница, 2016.07.29, 09:59 | Сообщение # 190
Master
Master
Сообщений: 263
Репутация: 4
Статус: Offline
Цитата StaticZ ()
Как будет готов новый интерфейс сделаю видео с демонстрацией..


Не надо, сами потом посмотрим, а то ещё на видосики время тратить ! smile


И где то на земле есть те, кто твердо знают, что все таки существует один способ предсказать будущее - это создать его.
 
Cmex Дата: Пятница, 2016.07.29, 17:21 | Сообщение # 191
Apprentice
Apprentice
Сообщений: 30
Репутация: 0
Статус: Offline
если тебе не надо тогда не смотри )
 
StaticZ Дата: Пятница, 2016.07.29, 22:54 | Сообщение # 192
Legendary
Legendary
Сообщений: 1643
Репутация: 38
Статус: Offline
Да будет, это не так уж и долго, я же не собираюсь там какой-то мега монтаж и спецэффекты накладывать, просто запись с экрана немного обработанная и с пояснениями. Тем более это будет многим интересно, так как такого еще нигде никто не видел, один анимированный папердрол чего стоит )))

ЗЫ Между делом еще небольшая приятная новость - наш клиент теперь поддерживает увеличение FPS, и кто слышал про так называемый "FPS Patch", приобретшим известность благодаря сообществу Yoko (разработчиков Injection) знает насколько криво оно работает - ускоренная анимация, рассинхронизация и вследствие чего "прыжки", белый шум вместо звуков шагов и тд и тп. Так вот ничего общего с этим, так называемый "FPS Patch" поднимает FPS с 10 до 20, при этом работает по сути как SpeedHack, но чтобы компенсировать быстрое перемещение замедляет его (в результате чего, вчастности и получается ускоренная анимация). А мой вариант лишь вставляет дополнительные промежуточные кадры между основными позволяя варьировать FPS от 10 до 60, при этом без особой нагрузкой на процессор (если без апскейлера конечно), скорость перемещения, анимации и тд и тп остаются нетронутыми, но в тоже время скрол карты и движение становиться очень плавными (ну конечно зависит от установленного значения FPS и скорости передвижения, но при 60 даже максимальная скорость очень плавно работает).


Game isn't a dream, it is the reality, reality which is coming while we dream...
 
Rinsler Дата: Вторник, 2016.08.02, 15:32 | Сообщение # 193
Apprentice
Apprentice
Сообщений: 28
Репутация: 0
Статус: Offline
УО клиент рендерится со скоростью 19-20 ФПС, если без сильных нагрузок. Это так, для справки.

А что-бы это реализовать, ты ввел хук в код рендерера, где обращение к ГДИ прописано, или просто какую-то константу нашел и поменял?
Интересно на это глянуть.
 
StaticZ Дата: Вторник, 2016.08.02, 16:40 | Сообщение # 194
Legendary
Legendary
Сообщений: 1643
Репутация: 38
Статус: Offline
Цитата Rinsler ()
УО клиент рендерится со скоростью 19-20 ФПС, если без сильных нагрузок. Это так, для справки.
На самом деле мы оба правы. Дело в том что действительно клиент выдает 20 FPS, однако FPS это лишь частота обновления кадров и она не обязана совпадать с частотой обновления самого содержимого кадра и таким образом даже несмотря на то что клиент выдает 20 FPS, обновление самой сцены идет с частотой 10 FPS. Зачем выдавать лишние кадры? Дело в том что они не совсем и лишнии, пускай сцена и обновляется с частотой 10 FPS но интерфейс (гампы, курсор мышки и тд) обновляются с частотой 20 FPS за счет чего интерфейс работает куда плавнее, ведь 20 FPS это почти предел человеческого глаза. Так что если говорить о физической смене кадров, то да UO выдает 20 FPS, но если говорить о прорисовке сцены то 10 FPS, а я имел ввиду, как вы понимаете последнее.

Цитата Rinsler ()
А что-бы это реализовать, ты ввел хук в код рендерера, где обращение к ГДИ прописано, или просто какую-то константу нашел и поменял?.
Там все и несколько констант и хуки и ассемблерные вставки и переписывание частей восстановленного кода клиента. Но это не как не связано с обращениями к GDI, я патчил саму логику рендера, по сути для начала увеличиваем FPS, дальше надо добавить собственную отрисовку "дополнительных" кадров для обновления сцены между "опорными" кадрами (оригинальными, таким образом сам клиент не смотря на увеличение FPS работает в оригинальном темпе) ну и конечно реализовать в отрисовке "дополнительных" кадров скрол сцены (если делать полную перерисовку всей сцены то сильно возрастет нагрузка на процессор) и перерисовку "модели" самого игрока чтобы она не прыгала при движении, это собственно самое сложно так как надо вытаскивать кучу значений из клиента - скорость перемещения, направление движения, текущую анимацию, текущее положение на экране, текущее положение самого экрана и тд и тп, а учитывая мерзкий ООП это не просто, т.к. все адреса постоянно скачут, так же надо добавить еще отрисовку текстовых оверлеев (имен существ и тд), иначе оно будет дергаться при движении. Таким образом при 20 fps - вставляется 1 дополнительный кадр между "опорными", при 30 - 2, ... при 60 - 5, за счет которых скролл карты при движении и становиться плавнее. (при 60 фпс там уже выходить что при движении на максимальной скорости экран в каждом кадре смещается на 1 пиксель, т.е. плавнее без всяких новомодных размытий уже не сделать впринципе)

Цитата Rinsler ()
Интересно на это глянуть.
Ок, залью видяшку.


Game isn't a dream, it is the reality, reality which is coming while we dream...
 
Rinsler Дата: Вторник, 2016.08.02, 17:52 | Сообщение # 195
Apprentice
Apprentice
Сообщений: 28
Репутация: 0
Статус: Offline
Интересно.
А я думал что там сцена так-же на 19-20 обновляется. А как ты это узнал?

А чем ты эти дополнительные кадры рисуешь? Что-бы их рисовать, нужны данные текстур, которые получает рендерер, ты это все оттуда достал? surprised


Сообщение отредактировал Rinsler - Вторник, 2016.08.02, 18:02
 
StaticZ Дата: Вторник, 2016.08.02, 19:36 | Сообщение # 196
Legendary
Legendary
Сообщений: 1643
Репутация: 38
Статус: Offline
Цитата Rinsler ()
А я думал что там сцена так-же на 19-20 обновляется. А как ты это узнал?
Из кода клиента, что-бы изменить что-то, вполне очевидно, что вначале надо понять как работает это что-то.

Цитата Rinsler ()
А чем ты эти дополнительные кадры рисуешь?
Я использую код самого клиента для отрисовки, делать отрисовку с нуля достаточно сложная работа - один расчет освещения по Гуру или Фонгу чего стоит. Но собственно это не так уж все и страшно (я делал, см под катом результаты если интересно), основные сложности будут при совмещении обоих рендеров.



Цитата Rinsler ()
Что-бы их рисовать, нужны данные текстур, которые получает рендерер, ты это все оттуда достал? surprised
Оттуда же откуда и все остальное - из дизассемблера )))
Прикрепления: 8283997.gif(1447Kb) · 2750651.jpg(83Kb)


Game isn't a dream, it is the reality, reality which is coming while we dream...
 
StaticZ Дата: Четверг, 2016.08.04, 05:40 | Сообщение # 197
Legendary
Legendary
Сообщений: 1643
Репутация: 38
Статус: Offline
Превью FPS мода:



Game isn't a dream, it is the reality, reality which is coming while we dream...
 
Rinsler Дата: Четверг, 2016.08.04, 11:37 | Сообщение # 198
Apprentice
Apprentice
Сообщений: 28
Репутация: 0
Статус: Offline
Молодец. Интересно как он грузит ЦПУ когда много разодетых игроков/мобов на экране двигается.

А что значит "программный рендерер"? Ведь что-бы рисовать тебе все-равно, как минимум, вызов ГДИ понадобится.
 
StaticZ Дата: Четверг, 2016.08.04, 13:41 | Сообщение # 199
Legendary
Legendary
Сообщений: 1643
Репутация: 38
Статус: Offline
Цитата Rinsler ()
Интересно как он грузит ЦПУ когда много разодетых игроков/мобов на экране двигается.
Поидее также, в "дополнительных" кадрах нет перерисовки самой сцены, только небольшой области вокруг игрока. Если посмотрите внимательно на видео при сравнении моего решения и так называемого FPS Patch, то можете заметить что у меня загрузка процессора выходит ниже, несмотря на то что FPS в 3 раза выше, а дело какраз в том что в FPS Patch сцена обновляется чаще, поэтому и скорость анимации увеличена )

Цитата Rinsler ()
А что значит "программный рендерер"? Ведь что-бы рисовать тебе все-равно, как минимум, вызов ГДИ понадобится.
Значит, что во первых отрисовка идет на процессоре а не видео карте, во вторых что не используются никаких сторонние библиотеки и все делается ручками - наложение цветов при полупрозрачностей, расчет нормалей для текстур, поворот и ресайз текстур, рисование линий и тд и тп. GDI лишь один из способов отображение экранного буфера на экран, на самом деле для этих целей у меня поддержка как GDI так и DirectDraw, OpenGL и Direct3D9, последний немного более предпочтителен т.к. спихивает преобразование 15 битного цвета в 32 битный (что нынче уже стал стандартом для рабочего стола) на видео карту, для GDI пришлось в ручную это писать на ассемблере с поддержкой инструкций SSE и AVX, что позволяют за один проход одновременно конвертировать по 4-16 пикселей, но тем не менее это всеравно относительно тяжелая операция для больших значений FPS.

Тоже самое кстати и в клиенте UO там DirectDraw лишь способ вывода экранного буфера в полноэкранном режиме, никаких больше возможностей и оптимизаций сего API клиент не использует, впрочем по понятным причинам - сделать сложный рендер можно лишь ручками.


Game isn't a dream, it is the reality, reality which is coming while we dream...
 
Rinsler Дата: Четверг, 2016.08.04, 14:32 | Сообщение # 200
Apprentice
Apprentice
Сообщений: 28
Репутация: 0
Статус: Offline
Цитата StaticZ ()
Поидее также, в "дополнительных" кадрах нет перерисовки самой сцены, только небольшой области вокруг игрока. Если посмотрите внимательно на видео при сравнении моего решения и так называемого FPS Patch, то можете заметить что у меня загрузка процессора выходит ниже, несмотря на то что FPS в 3 раза выше, а дело какраз в том что в FPS Patch сцена обновляется чаще, поэтому и скорость анимации увеличена )


Да но там ведь только твой персонаж на экране. Если у тебя почти на каждом тайле будет персонаж - получается что будет перерисовка почти всей сцены. Вот это и интересно, насколько нагрузка на ЦПУ повысится.

Цитата StaticZ ()
Значит, что во первых отрисовка идет на процессоре а не видео карте, во вторых что не используются никаких сторонние библиотеки и все делается ручками - наложение цветов при полупрозрачностей, расчет нормалей для текстур, поворот и ресайз текстур, рисование линий и тд и тп. GDI лишь один из способов отображение экранного буфера на экран, на самом деле для этих целей у меня поддержка как GDI так и DirectDraw, OpenGL и Direct3D9, последний немного более предпочтителен т.к. спихивает преобразование 15 битного цвета в 32 битный (что нынче уже стал стандартом для рабочего стола) на видео карту, для GDI пришлось в ручную это писать на ассемблере с поддержкой инструкций SSE и AVX, что позволяют за один проход одновременно конвертировать по 4-16 пикселей, но тем не менее это всеравно относительно тяжелая операция для больших значений FPS.

Тоже самое кстати и в клиенте UO там DirectDraw лишь способ вывода экранного буфера в полноэкранном режиме, никаких больше возможностей и оптимизаций сего API клиент не использует, впрочем по понятным причинам - сделать сложный рендер можно лишь ручками.

Ужас)) Большое уважание за такой труд и терпение конечно, но разве это не велосипед?
Зачем рисовать на ЦПУ и писать на ассемеблере для этого, если можно все через ГПУ делать и использовать соответствующие интерфейсы, которые последние 15 лет специально для этого оптимизируются, как и само ГПУ ?
 
Форум » Основной » Технический отдел » Новости разработки
Страница 10 из 28«12891011122728»
Поиск:
Copyright 2009-2017 Quintessence. Все права защищены.
Используются технологии uCoz