Форумы на Наша-Life
Home user CP  
Календарь событий Найти других пользователей Часто задаваемые Вопросы Поиск  
Автор
Тема
Создать Новую Тему    Ответить
romanshuvalov
(Музыкант и разработчик игр)

Зарегистрирован: Jul 2007
Проживает: Россия/Тольятти
Написал: 819 сообщений

Оценка: 35 Votes 35 чел.

Developer Старожил 
Вскрытие и правка .dem
Сообщение #810651
Нигде не нашел информацию о структуре файла демки (.dem). Или она засекречена, под предлогом что это единственное доказательство читерства и т.п.? я хотел просто повырезать из нее отдельные кусочки (от одного тика до другого).

и еще один вопрос про демки, задам здесь: как при записи демки узнать текщий tick? вообще tick это что - определенный фиксированный промежуток времени (какая доля секунды?) или промежуток времени, зависящий от серверного значения FPS?

для чего мне это всё надо: хочу непрерывно записывать демки, и если в игре случится какой-нибудь интересный (зрелищный) момент - хочется его сохранить. для этого мне и надо узнать текщий tick и вырезать из записываемой демки фрагмент от (tick - 2000) до tick.
Роман
Old Post 14-01-2009 18:22
romanshuvalov отсутствует Посмотреть данные 'romanshuvalov' Отправить Приватное Сообщение для 'romanshuvalov' Посетить домашнюю страничку romanshuvalov Найти другие сообщения 'romanshuvalov' Добавить romanshuvalov в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
manJak
(маппер-теоретик)

Зарегистрирован: Feb 2006
Проживает: Mother Russia/Moscow
Написал: 2953 сообщений

Оценка: 66 Votes 66 чел.

Developer Старожил 
Сообщение #810716
Не помню насчёт внешних инструментов для редактирования демок, но в сорсе есть встроенный редактор. Тут по этой теме много чего: http://developer.valvesoftware.com/...Recording_Tools

А тик эт серверный кадр, его продолжительность в сингле - 15 мс (тикрейт ~66.7).
У выделенного сервера тикрейт можно задавать (33, 66 или 100).
Old Post 14-01-2009 21:53
manJak отсутствует Посмотреть данные 'manJak' Отправить Приватное Сообщение для 'manJak' Найти другие сообщения 'manJak' Добавить manJak в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
romanshuvalov
(Музыкант и разработчик игр)

Зарегистрирован: Jul 2007
Проживает: Россия/Тольятти
Написал: 819 сообщений

Оценка: 35 Votes 35 чел.

Developer Старожил 
Сообщение #811106
а как мне (клиенту) узнать тикрейт моего сервера?
тикрейт всегда постоянный? т.е. фиксированный, не зависит от тормозов сервера, лагов и т.п.?

ALPINE добавил 15-01-2009 в 19:09:10:
host_framerate это оно?

есть еще sv_maxupdaterate, что наводит на мысли, что tick rate может меняться в процессе игры...
Роман

Поправил romanshuvalov 15-01-2009 в 19:11

Old Post 15-01-2009 18:55
romanshuvalov отсутствует Посмотреть данные 'romanshuvalov' Отправить Приватное Сообщение для 'romanshuvalov' Посетить домашнюю страничку romanshuvalov Найти другие сообщения 'romanshuvalov' Добавить romanshuvalov в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
manJak
(маппер-теоретик)

Зарегистрирован: Feb 2006
Проживает: Mother Russia/Moscow
Написал: 2953 сообщений

Оценка: 66 Votes 66 чел.

Developer Старожил 
Сообщение #811178
Нет, в процессе игры он меняться не может) Установить его можно только при запуске выделенного сервера параметром -tickrate.
А узнать.. Вообще, обычно на серверах какой-нибудь плагин периодически сообщает всем тикрейт серва. Как его узнать иначе, я не знаю)

host_framerate служит для управления скоростью игры. Он держит постоянной продолжительность кадра (вроде бы клиентского) в игровых секундах. Например, если выставить его на 100, то за один кард в игре будет проходить 1/100 сек, ни больше, ни меньше.
Используется, например, для записи видео, чтобы производительность не влияла на запись.

Ну а sv_maxupdaterate это максимальное кол-во обновлений, которые может посылать сервер клиенту в секунду. Подробнее =)
Old Post 15-01-2009 21:34
manJak отсутствует Посмотреть данные 'manJak' Отправить Приватное Сообщение для 'manJak' Найти другие сообщения 'manJak' Добавить manJak в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
romanshuvalov
(Музыкант и разработчик игр)

Зарегистрирован: Jul 2007
Проживает: Россия/Тольятти
Написал: 819 сообщений

Оценка: 35 Votes 35 чел.

Developer Старожил 
Сообщение #811184
Большое спасибо. Я тут просто пытаюсь реализовать свою супер-офигенную задумку про запись "удачных моментов" (красивых фрагов и т.п.)

Суть:

- сервер ТФ2 (не мой) запускает SourceTV.
- мой сервер на линуксе запускает srcds в качестве прокси-сервера того SourceTV.
- запись демок у меня происходит непрерывно
- пишу программу, отслеживающую все происходящее в консоли.
- игрок при красивом фраге пишет в чат специальное слово, например "!save"
- программа, заметив это слово, должна запомнить текущий tick, быстренько пробежаться по последним убийствам и определить, за сколько "тиков" надо начинать показывать видео. далее написать скрипт (кормящийся игре), в котором playdemo, demo_gototick, cl_showhud 0, startmovie и все дела.
- ну и завершает все это дело bat-файл, автоматически запускающий утилиты по конвертированию пачки картинок в .avi и дальнейшего сжатия видео.

вот

к сожалению есть одна вещь, автоматизировать которую невозможно: после начала проигрывания демки мне придется самостоятельно переместить камеру на нужного игрока. а в остальном все должно работать, хотя честно говоря не знаю, выводит ли srcds все свои логи во внешнюю консоль, но надеюсь что как-нибудь с этим справлюсь...
Роман

Поправил romanshuvalov 15-01-2009 в 21:58

Old Post 15-01-2009 21:54
romanshuvalov отсутствует Посмотреть данные 'romanshuvalov' Отправить Приватное Сообщение для 'romanshuvalov' Посетить домашнюю страничку romanshuvalov Найти другие сообщения 'romanshuvalov' Добавить romanshuvalov в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
1nquIz
(Creepy Richard)

Зарегистрирован: Oct 2008
Проживает: /Lemberg, UA
Написал: 729 сообщений

Оценка: 38 Votes 38 чел.

Сообщение #811186
недоработана идея.

А если после "красивого" фрага сразу пойдет некрасивый, а игрок не успеет набрать "сейв" в консоль?
Или обычно "красивый фраг" включает в себя не только последние пару секунд собственно убийства противника. Тоесть, на сколько секунд будет отматыватся назад время с момента убийства?
л4д2 и унчартед 2 - говно
Old Post 15-01-2009 22:01
1nquIz отсутствует Посмотреть данные '1nquIz' Отправить Приватное Сообщение для '1nquIz' Найти другие сообщения '1nquIz' Добавить 1nquIz в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
 
romanshuvalov
(Музыкант и разработчик игр)

Зарегистрирован: Jul 2007
Проживает: Россия/Тольятти
Написал: 819 сообщений

Оценка: 35 Votes 35 чел.

Developer Старожил 
Сообщение #811192
1nquIz

предполагаемая последовательность действий:
00:00 - фраг
00:30 - фраг
00:31 - фраг
00:32 - фраг
00:35 - игрока убили (возможно)
00:40 - пишет save.

прога определяет, что подряд идут три фрага (в течение трех секунд с 00:30). первый - далековато. не берем его. дальше - если игрока убили - то тут либо это убийство включать, либо нет.

вообще предполагается что все данные (включая логи +/- 20-30 секунд) будут вноситься в базу, в которую через веб-интерфейс игрок сможет залезть и указать необходимые параметры (например, включать его убийство или не включать, с чьего лица смотреть, комментарий режиссеру и и т.п.).

система рассчитана на несколько человек (мы регулярно играем на сервере, поднятом во внутренней сети нашего провайдера).
Роман

Поправил romanshuvalov 15-01-2009 в 22:33

Old Post 15-01-2009 22:27
romanshuvalov отсутствует Посмотреть данные 'romanshuvalov' Отправить Приватное Сообщение для 'romanshuvalov' Посетить домашнюю страничку romanshuvalov Найти другие сообщения 'romanshuvalov' Добавить romanshuvalov в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
Megalan
(Мне нечего сказать :))

Зарегистрирован: Sep 2005
Проживает: Russian Federation/
Написал: 2234 сообщений

Оценка: 49 Votes 49 чел.

Сообщение #811998
чесно говоря без исходников движка и без хорошего кодера такое не представляется возможным
Old Post 17-01-2009 22:00
Megalan отсутствует Посмотреть данные 'Megalan' Отправить Приватное Сообщение для 'Megalan' Найти другие сообщения 'Megalan' Добавить Megalan в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
Segr
(Администратор)

Зарегистрирован: Aug 2001
Проживает: Россия/Одинцово
Написал: 7941 сообщений

Оценка: 262 Votes 262 чел.

Админ cs.nashalife.ru Очень приятно, Царь Старожил Команда NashaLife Большой респект! 
Сообщение #812106
sourcemod могбы помочь до момента "далее написать скрипт"
Скрипт (bat) можно отдать на запуск системе.
Old Post 18-01-2009 09:45
Segr отсутствует Посмотреть данные 'Segr' Отправить Приватное Сообщение для 'Segr' Посетить домашнюю страничку Segr Найти другие сообщения 'Segr' Добавить Segr в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
romanshuvalov
(Музыкант и разработчик игр)

Зарегистрирован: Jul 2007
Проживает: Россия/Тольятти
Написал: 819 сообщений

Оценка: 35 Votes 35 чел.

Developer Старожил 
Сообщение #812139
Megalan
про вскрытие .dem - да...

Segr
ну SourceMod я совсем не знаю, думаю, мне проще будет написать программу, читающую консоль SourceTV Proxy. а в ней я уж напишу все что можно.

В итоге получится _редактируемая_ база "удачных моментов" с указанием имени файла .dem, кусочка лога консоли вокруг нужного места со всеми tick'ами и комментариями. автор может править временной интервал видеозахвата, оставлять комментарий для режиссера.

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

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

пользователь кормит скрипт игре, скрипт запускает нужные демки, перематывает на нужные места - кричит пользователю: перемести камеру на игрока %playername%! (единственный неавтоматизированный этап). пользователь делает это, начинается запись, в процессе которой скрипт играет со скоростью воспроизведения (согласно тому, как программа это определила) и в нужный момент останавливает запись. переходит к следующему эпизоду. и так далее...

ну а дальше уже дело техники - утилит по конвертированию пачки *.tga в несжатый *.avi много, пишется bat'ник, работающий с ними, за одно реализующий добавление титров и, собственно, сжатие видео.

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

когда сделаю - отпишусь, тему, думаю, можно закрыть.
Роман
Old Post 18-01-2009 10:29
romanshuvalov отсутствует Посмотреть данные 'romanshuvalov' Отправить Приватное Сообщение для 'romanshuvalov' Посетить домашнюю страничку romanshuvalov Найти другие сообщения 'romanshuvalov' Добавить romanshuvalov в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
romanshuvalov
(Музыкант и разработчик игр)

Зарегистрирован: Jul 2007
Проживает: Россия/Тольятти
Написал: 819 сообщений

Оценка: 35 Votes 35 чел.

Developer Старожил 
Сообщение #812693
собственно, вся идея улетела к чертям: SourceTV Proxy не может записывать демки. только TV Master. обидно
Роман
Old Post 19-01-2009 16:33
romanshuvalov отсутствует Посмотреть данные 'romanshuvalov' Отправить Приватное Сообщение для 'romanshuvalov' Посетить домашнюю страничку romanshuvalov Найти другие сообщения 'romanshuvalov' Добавить romanshuvalov в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
Все время в GMT . Сейчас 05:59.
Создать Новую Тему    Ответить

Быстрый ответ
Ваше Имя:
Хотите Зарегистрироваться?
Ваш Пароль:
Забыли свой Пароль?
Вы можете оставлять свои комментарии анонимно, просто введя свои имя и оставив пустым поле пароля.
Ваш ответ:

[проверить размер]
[транслит в win] | [?]
[русская клавиатура]

Дополнительно: Подтверждение по E-Mail


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

Правила форума:
Создание Тем не разрешено
Создание Сообщений разрешено
Создавать Вложения не разрешено
Редактирование Сообщений не разрешено
Коды HTML запрещены
Коды форума разрешены
Смайлики разрешены
Коды [IMG] запрещены