Experienced Forum User, Published Author, Active player
(450)
Joined: 10/6/2011
Posts: 1690
Location: RU · ID · AM
zwataketa, you told me in PM that you cannot use my input because I abuse zips. May you please show where I abused zip? I think going offscreen should not be considered as a zip…
Also I am quite sure that you need some practice with this game, no offence, but your runs are still way less optimized than mine, and instead of starting a serious project, I would suggest you to learn a little… For example, try to get 0:17 in EHZ1. Or 0:25 in GHZ1 (Amy Rose in Sonic 1). Then try to optimize it further. My best results for the moment are 0:16.28 and 0:24.22…
I will write you a PM about Lua HUD in a few hours…
S3&A [Amy amy%] improvement (with Evil_3D & kaan55) — currently in SPZ2
my TAS channel · If I ever come into your dream, I’ll be riding an eggship :)
Experienced Forum User, Published Author, Active player
(450)
Joined: 10/6/2011
Posts: 1690
Location: RU · ID · AM
Обижаться не на что — я и не утверждал, что я эксперт в этой области.
Очень большая связанная с этим проблема заключается в том, что уровень тасинга игр Sonic непрерывно растёт. Возьмём, к примеру, вот эту публикацию. Рейтинг 9.0, «луна». При этом я прохожу этот уровень более чем на секунду быстрее (используя другого песонажа, но всё же). Но на момент написания этого поста мой результат уже не самый лучший — текущий опубликованный «пробег» Sonic 2 показывает результат 0:15.34, что почти на секунду быстрее, чем у меня. Я, кстати, достаточно уверен, что примерно такое же время достижимо и с Amy, нужно лишь очень-очень сильно оптимизировать позиции прыжков.
Таким образом, я думаю, нельзя однозначно утверждать, что мои «пробеги» не достойны публикации. Да, я сам редко бываю удовлетворён результатом, но всё же мои результаты так или иначе сопоставимы с результатами опубликованных прохождений. А оптимизировать их до уровня отдельных кадров крайне тяжело из-за особенностей этих игр, про которые я рассказал выше. И это ещё далеко не все особенности.
Так что пока что я продолжу тасить «для себя и для друзей». Мне доставляет радость видеть, что со своими текущими скиллами я легко превосхожу новичков, часто эта радость — самое лучшее лекарство против моей постоянной депрессии. А если я буду равняться на грандов тасинга и пытаться меряться силами с ними, у меня будет больше разочарований… Я, кстати, во многом поэтому и выбрал для себя Amy в качестве любимого персонажа — с тем, чтобы натягиваться в контроле над таким персонажем, с которым у других мало опыта.
Это я уже понял, даже до того, как взглянул на описание формата fm3.
Предложение принято, осталось дело за малым — опубликоваться. Что ж, подождём, созрею ли для этого. Всё-таки тасинг для меня — не первоочередное занятие и даже не первоочередное хобби.
S3&A [Amy amy%] improvement (with Evil_3D & kaan55) — currently in SPZ2
my TAS channel · If I ever come into your dream, I’ll be riding an eggship :)
Experienced Forum User, Published Author, Active player
(450)
Joined: 10/6/2011
Posts: 1690
Location: RU · ID · AM
Дать конкретных примеров, к сожалению, не могу, ибо сам работаю в сфере IT и в силу этого отношусь к тексту предвзято. Так что будет лучше, если судить буду не я.
Честно говоря, общего мало. Я использую кнопку F5 для сохранения, F8 для загрузки, и F6-F7 для переключения между слотами. Все слоты я использую для сохранения последних нескольких состояний в пределах нескольких секунд игрового времени. Если мне нужно сравнивать попытки (например, какая скорость будет в точке A, если прыгнуть на 522, 523 и 524 кадрах), я пользуюсь пачкой стикеров. Вот один такой стикер, который я не успел выкинуть, под монитором:
Если я собираюсь улучшать существующий «пробег», я запускаю 2 копии эмулятора.
Единственное, что серьёзно напрягает меня в моём подходе, это именно то, что слотов для сохранения фиксированное число. Я был бы не против, чтобы в эмуляторе была бесконечная лента слотов по типу стека. То есть, если я запарываю уровень, и ошибка находится раньше самого раннего сохранённого состояния, то я тупо проматываю прохождение с самого начала до нужного места. А ещё иногда сильно устают пальцы.
Качество прохождения (если его как-то можно выразить количественно) сильно зависит от затраченного на процесс тасинга времени, но эта зависимость не линейная. По ощущениям скорее логарифмическая.
И да, я тасю сам для себя, проходя обычно по 1 уровню за «сеанс». Тебе, наверное, известно, что я в основном играю в игры серии Sonic. У этих игр много особенностей, сильно осложняющих их тасинг. Например, в Sonic 1 для того, чтобы как можно быстрее стартовать в начале уровня, нужно поступить примерно так же, как и в марио (читал статью про тасинг марио у тебя на shedevr.org.ru) — на мгновение (1 кадр) развернуться назад или нажать [<>] и после этого совершить прыжок вперёд. В более поздних «сониках» появился spin dash и стартовать в них легче, но проблем всё равно не меньше. Основной проблемой остаётся тот факт, что в игре нет максимально возможной горизонтальной скорости, и ты никогда не можешь быть уверен в том, что бежишь так быстро, как это возможно (в том же Марио ты всегда это знаешь точно). А ещё эта физика прыжков… Ты можешь здорово ускориться за счёт прыжка со склона с определённым уклоном, но проблема заключается в поиске идеальной точки для прыжка. За 1 кадр ты пролетаешь хуеву тучу субпикселей, и запросто можешь проскочить самую удачную точку. Если же попытаться затормозить, чтобы в эту точку попасть, скорость уже будет не та. Если ты играешь ежом, лисой или наклзом, ну, короче, кем угодно, кто умеет крутиться, то ты можешь просто пробовать превращаться в клубок в разных точках перед точкой прыжка. Это слегка меняет скорость, достаточно, чтобы поиграть с позицией. Если же ты играешь как Amy, подобрать позицию становится значительно сложнее. К примеру, в моём последнем пробеге есть место, где я теряю пару кадров перед монитором с сапогами-скороходами — самым быстрым было бы приземлиться резким броском вниз сразу за шипами, я же приземляюсь перед монитором. Зато таким способом я максимизирую скорость движения после отталкивания от сигалки (жёлтой пружины, или как там её). При этом я всё равно не испытываю удовлетворение результатом — я достаточно уверен, что этот уровень можно пройти и за 15 секунд. Если этим займётся какой-нибудь гипермегазадрот наподобии marzojr (ну или если я несколько дней угрохаю). Зато при игре за Amy очень легко тормозить и газовать (spin dash), за счёт этого Amy обладает самой высокой «проходимостью» сквозь объекты (есть такой трюк, при котором удаётся выбежать на несколько кадров за пределы экрана и уже там пройти насквозь какой-нибудь булыжник или шипы, чаще всего это существенно быстрее, чем прыжок через верх). А ещё в этом хаке нет такой особенности, которая есть в оригинальном Sonic 2: если при нахождении в воздухе с горизонтальной скоростью, большей 1536, нажать кнопку джойстика, соответствующую направлению движения, скорость автоматом выставляется в 1536.
Файлы ввода я версионирую при помощи Subversion. Чтобы случайно не про#%ать что-то :)
Даже она? :3
В качестве заключения — мой самый успешный TAS на данный момент.
Link to video
Впрочем, для обоих уровней мне известны чуть-чуть лучшие прохождения. В GHZ1 меня обходит Crramalama на 7 кадров, в GHZ2 — marzojr на 5 кадров. Как быть с GHZ1 я, увы, не знаю — скорее всего, надо нереально чётко позиционировать прыжки со склонов; а вот GHZ2 я бы ещё попробовал оптимизировать, если бы у меня был редактор ввода наподобии TAS Editor-а. Кстати, мувик marzojr на последней версии этого хака не синкается, так что в определённом смысле моё прохождение можно считать лучшим на данный момент.
S3&A [Amy amy%] improvement (with Evil_3D & kaan55) — currently in SPZ2
my TAS channel · If I ever come into your dream, I’ll be riding an eggship :)
Experienced Forum User, Published Author, Active player
(450)
Joined: 10/6/2011
Posts: 1690
Location: RU · ID · AM
Почитал хелп, в целом нормально, но явно ориентирован на айтишников, понимающих использованную терминологию. Если тасером по этому руководству захочет стать обычный realtime-задрот, ничего не понимающий в IT, ему этот текст может показаться скучным TL;DR. Но это мелочь, в особенности если принять во внимание, что большинство тасеров — IT-шники.
S3&A [Amy amy%] improvement (with Evil_3D & kaan55) — currently in SPZ2
my TAS channel · If I ever come into your dream, I’ll be riding an eggship :)
Experienced Forum User, Published Author, Active player
(450)
Joined: 10/6/2011
Posts: 1690
Location: RU · ID · AM
Yes, it works fine for me
1. Dump video into an *.avi file
2. Dump audio into a *.wav file
3. Encode the video and audio separately
4. Merge the encoded files into a single container with ffmpeg:
Made my last video exactly this way.
Someone may wonder why I didn’t use ffmpeg for the encoding by itself. The answer is simple — it failed to read the dumped avi for some reason.
S3&A [Amy amy%] improvement (with Evil_3D & kaan55) — currently in SPZ2
my TAS channel · If I ever come into your dream, I’ll be riding an eggship :)
Experienced Forum User, Published Author, Active player
(450)
Joined: 10/6/2011
Posts: 1690
Location: RU · ID · AM
Finally! Successfully made 0:16 in EHZ :)
But now something says me that even 0:15 is possible :-p.
Sorry, no gmv and no video for now. No gmv because I am still not satisfied with the result, and no video because I’m at work and here is no Windows PCs to dump video…
S3&A [Amy amy%] improvement (with Evil_3D & kaan55) — currently in SPZ2
my TAS channel · If I ever come into your dream, I’ll be riding an eggship :)
Experienced Forum User, Published Author, Active player
(450)
Joined: 10/6/2011
Posts: 1690
Location: RU · ID · AM
I’ve found out that unchecking „add sound to avi” solves the problem with the video dump for some reason. So, if you feel comfortable with no sound, you can make avis this way…
S3&A [Amy amy%] improvement (with Evil_3D & kaan55) — currently in SPZ2
my TAS channel · If I ever come into your dream, I’ll be riding an eggship :)
Experienced Forum User, Published Author, Active player
(450)
Joined: 10/6/2011
Posts: 1690
Location: RU · ID · AM
Ну, фпринципе, уже лучше… :)
А вообще, после gens ужасно неудобно. Не хватает перехода между соседними savestates по F6-F7, звук синтезируется как-то криво, синхронизация временами сбивается, причём порой достаточно начать просмотр того же таса сначала, чтобы он вдруг волшебным образом начал синкаться… Впрочем, поддержка Sega Genesis же пока на стадии разработки…
Link to video
Надеюсь, вы простите мне этот оффтоп, просто хотелось хотя бы как-то поддержать русскоязычный раздел, вот и решил попробовать Bizhawk.
Кстати, теперь по теме, когда планируется начало работ по внедрению TAS Editor в Bizhawk?
S3&A [Amy amy%] improvement (with Evil_3D & kaan55) — currently in SPZ2
my TAS channel · If I ever come into your dream, I’ll be riding an eggship :)
Experienced Forum User, Published Author, Active player
(450)
Joined: 10/6/2011
Posts: 1690
Location: RU · ID · AM
С последним не соглашусь. Чтобы сделать мувик, нужно просто потратить немного усидчивости. Тем более учитывая что тасинг для меня просто хобби и все мои проекты -- это пробеги отдельных уровней. А чтобы отрендерить видео, нужно:
* Машина с Windows (рендеринг видео не работает в wine), хотя бы виртуальная
* Большое, очень большое количество свободного места. Места под рендеринг видео нужно не меньше, чем времени на сам процесс подбора ввода :)
* Программа кодирования видео, или же возможность перенести гигантский файл (или даже несколько) на основную машину под зуб ffmpeg. Последнее означает, что на основной машине тоже должно быть достаточно места. И если проблема с местом для меня в последнее время более-менее решилась (затарился новым НЖМД, а заодно и SSD-шник поставил под систему), то с вендой всё так же проблематично -- на основной комп я её поставить не могу, ибо не смогу под ней завести всё, что мне нужно, а в виртуальной машине ощущения совсем не те :)
Проблема с авторскими правами ясна, совсем про них забыл, вообще жаль, конечно. В общем, я просто высказал свою идею.
S3&A [Amy amy%] improvement (with Evil_3D & kaan55) — currently in SPZ2
my TAS channel · If I ever come into your dream, I’ll be riding an eggship :)
Experienced Forum User, Published Author, Active player
(450)
Joined: 10/6/2011
Posts: 1690
Location: RU · ID · AM
Было бы круто, если бы существовал хостинг input-файлов, автоматически рендерящий видео… Проблема была бы только с определением игрушки, но эту проблему можно было бы решить, позволив аплоадить ROM вместе с файлом ввода, или даже модифицировав gmv так, чтобы он включал md5 ROM-а… Ну или даже не модифицировать, а просто кушать только те мувики, в описании которых стоит md5 ROM-а :)
S3&A [Amy amy%] improvement (with Evil_3D & kaan55) — currently in SPZ2
my TAS channel · If I ever come into your dream, I’ll be riding an eggship :)
Experienced Forum User, Published Author, Active player
(450)
Joined: 10/6/2011
Posts: 1690
Location: RU · ID · AM
Programming today is like a bunch of layers… Assembly languages are an abstraction from binary codes, C/C++ are higher levels, next layer is represented by interpreted languages like Python, Ruby, PHP, Perl… Also bytecode interpreters like Java, .NET and erlang. And it’s even not the last level — there are many implementations of language interpreters in interpreted languages — PHP’s Twig and Django’s template engine, elixir and so on.
If you program on the highest level, you’ll find it terribly hard to switch to the lowest, even if you are very nerdy with what you do…
S3&A [Amy amy%] improvement (with Evil_3D & kaan55) — currently in SPZ2
my TAS channel · If I ever come into your dream, I’ll be riding an eggship :)
Experienced Forum User, Published Author, Active player
(450)
Joined: 10/6/2011
Posts: 1690
Location: RU · ID · AM
I would prefer minimizing in-game time instead of real life time.
How fast you can beat certain level is usually more interesting than the same question about the whole game.
Hovewer, I do not like the idea to abuse checkpoints to save in-game time by dying after them… Heavy death abuse %)
S3&A [Amy amy%] improvement (with Evil_3D & kaan55) — currently in SPZ2
my TAS channel · If I ever come into your dream, I’ll be riding an eggship :)
Experienced Forum User, Published Author, Active player
(450)
Joined: 10/6/2011
Posts: 1690
Location: RU · ID · AM
Btw, my old Amy@S2 TAS needs to be started from scratch too. I’ve made a short test run (not optimized at all) of EHZ1 using the route from Aglar’s S2 run, and the result is faster than an optimized run using the upper route
Link to video
Amy in this hack is hard to control, because she easilly looses speed, but despite this, I am quite sure that it’s possible to get 0:16 here.
S3&A [Amy amy%] improvement (with Evil_3D & kaan55) — currently in SPZ2
my TAS channel · If I ever come into your dream, I’ll be riding an eggship :)
Experienced Forum User, Published Author, Active player
(450)
Joined: 10/6/2011
Posts: 1690
Location: RU · ID · AM
I began with Pascal at school several years ago… Do not remember anything >_<
Now I work as a PHP programmer (and sometimes team collaboration manager, UNIX administrator and so on) in a small web studio, which is a bit boring.
When I have spare time, I write simple applications in C++/Qt, but yes, sometimes I use some «outdated» things from C. Tried to write in pure C (using libjpeg) as well (not so successfull).
I have great experience with XMPP.
My current interest is learning Django — a Python web framework.
S3&A [Amy amy%] improvement (with Evil_3D & kaan55) — currently in SPZ2
my TAS channel · If I ever come into your dream, I’ll be riding an eggship :)