fceux/web/help/taseditor-ru/TASingMethodology.html

211 lines
39 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<html>
<head>
<title>4. Методология ТАСинга</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="generator" content="HelpNDoc Personal Edition 3.9.1.648">
<link type="text/css" rel="stylesheet" media="all" href="css/reset.css" />
<link type="text/css" rel="stylesheet" media="all" href="css/base.css" />
<link type="text/css" rel="stylesheet" media="all" href="css/hnd.css" />
<!--[if lte IE 8]>
<link type="text/css" rel="stylesheet" media="all" href="css/ielte8.css" />
<![endif]-->
<style type="text/css">
#topic_header
{
background-color: #EFEFEF;
}
</style>
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/hnd.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
if (top.frames.length == 0)
{
var sTopicUrl = top.location.href.substring(top.location.href.lastIndexOf("/") + 1, top.location.href.length);
top.location.href = "index.html?" + sTopicUrl;
}
else if (top && top.FrameTOC && top.FrameTOC.SelectTocItem)
{
top.FrameTOC.SelectTocItem("TASingMethodology");
}
});
</script>
</head>
<body>
<div id="topic_header">
<div id="topic_header_content">
<h1>4. Методология ТАСинга</h1>
<div id="topic_breadcrumb">
<a href="BeginnersGuide.html">Курс для новичка</a> &rsaquo;&rsaquo; </div>
</div>
<div id="topic_header_nav">
<a href="BeginnersGuide.html"><img src="img/arrow_up.png" alt="Parent"/></a>
<a href="TASingProcess.html"><img src="img/arrow_left.png" alt="Previous"/></a>
<a href="TraditionalTASing.html"><img src="img/arrow_right.png" alt="Next"/></a>
</div>
<div class="clear"></div>
</div>
<div id="topic_content">
<p></p>
<p><span class="rvts20">Методология ТАСинга</span></p>
<p class="rvps10"><span class="rvts22"><br/></span></p>
<p class="rvps10"><span class="rvts22"><br/></span></p>
<p class="rvps10"><span class="rvts22">Эта глава посвящена центральному занятию в ТАСинге созданию оптимального </span><span class="rvts22">Ввод</span><span class="rvts22">а на отдельно взятом участке мувика. Именно благодаря упорной ручной шлифовке </span><span class="rvts22">Ввод</span><span class="rvts22">а ТАСы выглядят так блестяще. Размер участка может быть любым, критерии и факторы оптимальности могут быть разными, но метод в сущности один и тот же:</span><span class="rvts22"> перепробовать всевозможные подходы и выбрать самый лучший. </span><span class="rvts22">Вопрос только в том, как сделать это с минимальными затратами времени и усилий.</span></p>
<p class="rvps10"><span class="rvts22"><br/></span></p>
<ul style="text-indent: 30px; margin-left: 0px; list-style-position: inside;">
<li class="rvps10"><span class="rvts37">Геймеры</span><span class="rvts22"> ошибочно считают, что для создания ТАСа достаточно просто один раз пройти игру, пользуясь сэйвами только в тех случаях, когда совершаются фатальные ошибки, приводящие к невозможности пройти текущий участок (например, смерть персонажа).</span></li>
<li class="rvps10"><span class="rvts37">ТАСеры-новички</span><span class="rvts22"> понимают, что для красивого ТАСа нужно исправлять </span><span class="rvts26">все</span><span class="rvts22"> замеченные ошибки (например, такие мелочи, как спотыкание о порог). Они тоже проходят каждый участок лишь один раз, но затрачивают на прохождение больше времени, чем простые игроки, так как сохраняются и загружают сэйвы гораздо чаще. При ТАСинге простых игр этого может быть достаточно.</span></li>
<li class="rvps10"><span class="rvts37">Опытные ТАСеры</span><span class="rvts22"> знают, что для совершенного ТАСа не достаточно исправления всех замеченных ошибок. Нужно также исправлять незамеченные ошибки. Учитывать неизвестные факторы. Подходить к задаче с неочевидной стороны. Для всего этого они проходят один и тот же участок несколько раз, исправляя все замеченные ошибки и пытаясь как-то не совершить незаметные.</span></li>
</ul>
<p class="rvps10"><span class="rvts22"><br/></span></p>
<p class="rvps10"><span class="rvts22">Нелегко убедить себя тратить время на альтернативные способы прохождения участка, когда он уже пройден, и в нём уже исправлены все явные ошибки. После достижения текущей внутриигровой цели хочется сразу ставить перед собой следующую цель в рамках игры. Однако следует помнить, что цель ТАСера сильно отличается от целей игрока. Поэтому нужно абстрагироваться от правил игры и не отступать от участка, пока не выполнена реальная цель, а не просто мелкая цель игрока.</span></p>
<p class="rvps10"><span class="rvts22">Это вообще самое сложное изобретать новые подходы к решению одной и той же задачи. Главным образом на ум ТАСеру приходит тот же самый подход, который использовал бы в этом месте игры обычный игрок. Поэтому в большинстве случаев вместо революционного пути используется эволюционный. ТАСер производит постепенную модификацию имеющегося базового подхода, то исправляя его ошибки, то проводя эксперименты. В ходе таких вдумчивых модификаций ТАСер пополняет свою базу знаний об игре, и в результате получается Ввод, до которого невозможно было догадаться сразу.</span></p>
<p class="rvps10"><span class="rvts22">Конечно, иногда приходит озарение, и некая революционная идея даёт потрясающие улучшения, превосходящие все выгоды от полировки. Ради таких эмоциональных моментов многие и любят ТАСинг. Только это не отменяет необходимость отшлифовывать новый революционный подход теми же самыми методами, чтобы сделать его ещё ближе к идеалу.</span></p>
<p class="rvps10"><span class="rvts22">Вместо чтения описываемых здесь техник вы можете сразу приступить к реальному ТАСингу, чтобы по завершении нескольких проектов выработать собственную методику. Но, вероятнее всего, через год ТАСинга вы придёте к описываемой здесь схеме работы.</span></p>
<p class="rvps10"><span class="rvts22"><br/></span></p>
<p class="rvps10"><span class="rvts22">Итак, процесс создания наилучшего </span><span class="rvts22">Ввод</span><span class="rvts22">а на оптимизируемом участке можно условно представить в виде зацикленного процесса исправления ошибок в предыдущих версиях </span><span class="rvts22">Ввод</span><span class="rvts22">а на этом участке. Ошибкой мы называем </span><span class="rvts22">любое отличие текущего Ввода от неизвестного идеального Ввода.</span><span class="rvts22"> В такой постановке вопроса хорошо то, что к совершенному Вводу можно приближаться постепенно, совершая небольшие шаги, которые реально разработать, даже не будучи гением. </span><span class="rvts26">Большинство ошибок успешно исправляются многократным осмотром и модификацией. </span><span class="rvts22">То есть, даже когда у вас нет никаких оригинальных идей, вы можете достигать успехов за счёт упорства. Успехи мотивируют продолжать работу, и это подготавливает почву для прорывных идей.</span></p>
<p class="rvps10"><span class="rvts22"><br/></span></p>
<p class="rvps10"><span class="rvts22">Чтобы исправить ошибку во Вводе мувика, нужно:</span></p>
<ol style="text-indent: 30px; margin-left: 0px; list-style-position: inside;">
<li class="rvps10"><span class="rvts22">Осознать факт ошибки.</span></li>
<li class="rvps10"><span class="rvts22">Предположить способ решения.</span></li>
<li class="rvps10"><span class="rvts22">Осуществить навигацию к месту исправления.</span></li>
<li class="rvps10"><span class="rvts22">Внести изменения.</span></li>
<li class="rvps10"><span class="rvts22">Оценить результат и подтвердить факт исправления.</span></li>
</ol>
<p class="rvps10"><span class="rvts22"><br/></span></p>
<p class="rvps10"><span class="rvts26">1. </span><span class="rvts22">Осознание ошибки происходит либо во время просмотра мувика в режиме Read-Only, либо прямо во время Записи/редактирования </span><span class="rvts22">Ввод</span><span class="rvts22">а.</span></p>
<div class="rvps10"><table width="100%" border="1" cellpadding="6" cellspacing="2" style="border-color: #000000; border-style: solid;">
<tr valign="top">
<td style="border-color: #000000; border-style: solid; height: 15px;"><p class="rvps10"><span class="rvts47">Примечание: </span><span class="rvts48">Зачастую вместо обнаружения осязаемой ошибки ТАСер только предполагает, что данный участок ещё можно улучшить. Всегда полезно усомниться в идеальности текущего результата и поэкспериментировать с Вводом порой действительно обнаруживаются нереализованные возможности.</span></p>
</td>
</tr>
</table>
</div>
<p class="rvps10"><a name="loop"></a>
<span class="rvts22"><br/></span></p>
<p class="rvps10"><span class="rvts26">2. </span><span class="rvts22">Способы решения либо очевидны сразу, либо находятся экспериментальным путём. В редких случаях требуются расчёты и сравнения. В правильно выбранных участках все ключевые факторы оптимальности находятся внутри участка. Информация из предыдущих или последующих участков требуется редко.</span></p>
<div class="rvps10"><table width="100%" border="1" cellpadding="6" cellspacing="2" style="border-color: #000000; border-style: solid;">
<tr valign="top">
<td style="border-color: #000000; border-style: solid; height: 15px;"><p class="rvps10"><span class="rvts47">Примечание: </span><span class="rvts48">Иногда, исправляя одну ошибку, мы незаметно создаём другую. В этом случае процесс оптимизации мог бы пойти в неправильном направлении, но, к счастью, в ТАСинге такие ситуации возникают крайне редко, потому что видеоигры гораздо нагляднее и линейнее реальной жизни, поэтому игрок может обнаружить все факторы и верный критерий оптимальности. Тасэдитор дополнительно облегчает этот процесс благодаря визуализации данных.</span></p>
</td>
</tr>
</table>
</div>
<p class="rvps10"><span class="rvts22"><br/></span></p>
<p class="rvps10"><span class="rvts26">3. </span><span class="rvts22">Возможность навигации к месту ошибки является главным отличием ТАСинга от обычных спидранов. Простые игроки могут осознать ошибку, но только ТАСеры всегда возвращаются назад для её коррекции.</span></p>
<p class="rvps10"><span class="rvts22">В традиционном методе ТАСинга навигация может занимать заметное количество времени и усилий. Тасэдитор же делает навигацию молниеносной..</span></p>
<div class="rvps10"><table width="100%" border="1" cellpadding="6" cellspacing="2" style="border-color: #000000; border-style: solid;">
<tr valign="top">
<td style="border-color: #000000; border-style: solid; height: 15px;"><p class="rvps10"><span class="rvts47">Примечание: </span><span class="rvts48">Иногда место совершения ошибки находится на более раннем участке, а обнаруживается только на текущем. В этом случае нужно выявить участок совершения ошибки и отредактировать его согласно полученной информации от проигрываемого участка. И в этом случае скорость навигации ещё более критична.</span></p>
</td>
</tr>
</table>
</div>
<p class="rvps10"><span class="rvts22"><br/></span></p>
<p class="rvps10"><span class="rvts26">4. </span><span class="rvts22">Внесение изменений во Ввод это воплощение мыслей ТАСера в жизнь. Чем меньше задержка между мыслью и её реализацией, тем лучше.</span></p>
<p class="rvps10"><span class="rvts22">В традиционном методе ТАСинга модификация Ввода длится дольше, так как помимо перезаписи ошибочных кадров требуется ещё перезаписать соседние </span><span class="rvts22">кадры.</span><span class="rvts22"> В Тасэдиторе это обычно не требуется.</span></p>
<div class="rvps10"><table width="100%" border="1" cellpadding="6" cellspacing="2" style="border-color: #000000; border-style: solid;">
<tr valign="top">
<td style="border-color: #000000; border-style: solid; height: 15px;"><p class="rvps10"><span class="rvts47">Примечание: </span><span class="rvts48">Так как любое изменение Ввода влечёт за собой изменения игрового процесса, иногда и в Тасэдиторе может потребоваться пересинхронизация Ввода, следующего за местом исправления ошибки.</span></p>
</td>
</tr>
</table>
</div>
<p class="rvps10"><span class="rvts22"><br/></span></p>
<p class="rvps10"><span class="rvts26">5. </span><span class="rvts22">Чтобы увидеть результат, достаточно возобновить просмотр мувика с начала участка или прямо с кадра исправления ошибки, не перепроверяя предшествующие участки, так как исправление ошибки влияет только на последующие события.</span></p>
<div class="rvps10"><table width="100%" border="1" cellpadding="6" cellspacing="2" style="border-color: #000000; border-style: solid;">
<tr valign="top">
<td style="border-color: #000000; border-style: solid; height: 15px;"><p class="rvps10"><span class="rvts47">Примечание: </span><span class="rvts48">Хотя, если вы записываете не спидран, а развлекательный мувик, после исправления ошибки (например, перемещение спрайта по более плавной траектории) всё-таки желательно просмотреть предшествующие события, чтобы это исправление удачно смотрелось не только в контексте своего участка, но и в общей последовательности игровых событий.</span></p>
</td>
</tr>
</table>
</div>
<p class="rvps10"><span class="rvts22">Досмотреть участок требуется до конца, то есть до момента, когда в игре происходит целевое событие, и к нему можно надёжно применить критерий оптимальности. Потому что может оказаться, что это исправление только поначалу кажется выгодным, но в итоге только ухудшает участок.</span></p>
<p class="rvps10"><span class="rvts22">После оценки результата ошибка либо считается исправленной/несуществующей, либо требуется вернуться к </span><a class="rvts28" href="TASingMethodology.html#loop">шагу 2</a><span class="rvts22"> и переобдумать ситуацию.</span></p>
<p class="rvps10"><span class="rvts22"><br/></span></p>
<hr style="height: 1px; color : #000000; background-color : #000000; border-width : 0px;"/>
<p class="rvps10"><a name="linear-tasing"></a>
<span class="rvts22"><br/></span></p>
<p class="rvps10"><span class="rvts22">До Тасэдитора все ошибки (как явные, так и предполагаемые) исправлялись с помощью создания и загрузки сэйвов. Если вы не знакомы с традиционным методом ТАСинга, вот его основные принципы:</span></p>
<ul style="text-indent: 30px; margin-left: 0px; list-style-position: inside;">
<li class="rvps10"><span class="rvts22">Эмуляция игры почти всё время стоит на паузе. Пауза отпускается только при просмотре готовых участков.</span></li>
<li class="rvps10"><span class="rvts22">ТАСер последовательно впечатывает </span><span class="rvts22">Ввод</span><span class="rvts22"> в кадры, на которые указывает Курсор Проигрывателя. Он видит результат совершённого </span><span class="rvts22">Ввод</span><span class="rvts22">а на следующий кадр после впечатывания (а иногда через несколько кадров). Опытный ТАСер создаёт новый сэйв после любого </span><span class="rvts31">сложно воспроизводимого действия</span><span class="rvts22">, чтобы иметь возможность быстро возвращаться назад и не переигрывать весь участок с начала.</span></li>
<li class="rvps10"><span class="rvts22">Чтобы исправить ошибку, ТАСер возвращается к предполагаемому месту ошибки и переписывает весь </span><span class="rvts22">Ввод</span><span class="rvts22">, начиная с кадра, требующего изменения. Если на этом кадре был сделан сэйв, можно сразу загрузить этот сэйв в режиме Read+Write и начать впечатывать кнопки. Если же имеются только сэйвы на некотором расстоянии перед этим кадром, существует два варианта. </span><span class="rvts37">Вариант 1:</span><span class="rvts22"> загрузить ближайший сэйв в режиме Read-Only и досмотреть мувик до нужного кадра, затем переключиться обратно в режим Записи и начать исправление, тем самым не затронув Ввод на промежутке между кадром сэйва и кадром ошибки. </span><span class="rvts37">Вариант 2:</span><span class="rvts22"> сразу, не переключаясь из режима Записи, загрузить ближайший сэйв и по памяти повторить старый Ввод, дойдя до кадра ошибки, а затем начать исправление. Второй способ используется чаще, потому что после ближайшего сэйва обычно располагается </span><span class="rvts31">легко воспроизводимый Ввод</span><span class="rvts22"> (например, простое зажатие </span><span class="rvts32">R + B</span><span class="rvts22">). Также, по прибытии на предполагаемый кадр ошибки, опытный ТАСер машинально создаёт сэйв (на всякий случай!), чтобы в следующий раз быстро возвращаться прямо к кадру, не тратя время на навигацию. Такая предусмотрительность имеет смысл, потому что ошибки редко исправляются с первой попытки, обычно требуется многократно переписывать один и тот же кусочек </span><span class="rvts22">Ввод</span><span class="rvts22">а, начиная примерно с одного кадра.</span></li>
<li class="rvps10"><span class="rvts22">Неудобства этого традиционного метода наглядно проявляются, когда нужно увидеть отдалённый результат </span><span class="rvts22">Ввод</span><span class="rvts22">а (например, кнопка выбора была нажата сейчас, а шарик рулетки остановится только через несколько секунд). В таком случае ТАСер делает сэйв перед началом </span><span class="rvts22">Ввода</span><span class="rvts22">, записывает решающий </span><span class="rvts22">Ввод</span><span class="rvts22"> и делает сэйв после него, а затем отпускает паузу и наспех (неоптимально) проходит игру до появления результата. При удовлетворительном результате ТАСер загружает сэйв, идущий после решающего Ввода, и покадрово записывает оптимальное прохождение, уже будучи уверенным в успешном исходе. А при неудовлетворительном результате он загружает начальный сэйв, меняет решающий </span><span class="rvts22">Ввод</span><span class="rvts22"> и повторяет все действия снова (создаёт сэйв после </span><span class="rvts22">Ввод</span><span class="rvts22">а и наспех проходит до результата). И так может продолжаться довольно долго.</span></li>
<li class="rvps10"><span class="rvts22">Чтобы скопировать старый </span><span class="rvts22">Ввод</span><span class="rvts22"> (например, хитроумный разгон Марио в начале каждого уровня), ТАСер либо зазубривает комбинацию кнопок, либо копирует её по частям с помощью нескольких прыжков между местом-источником и местом-приёмником. Игра посылается то на сэйв предыдущего </span><span class="rvts22">Ввод</span><span class="rvts22">а (посмотреть нажатия в режиме Read-Only и запомнить парочку в уме), то на сэйв текущего места записи (переключиться на Read+Write и выложить запомненные нажатия). Если после каждого прыжка пододвигать тот и другой сэйв на пару кадров вперёд, навигация между источником и приёмником </span><span class="rvts22">Ввод</span><span class="rvts22">а будет не очень утомительной. И всё же, когда требуется скопировать длинную последовательность нажатий, используется внешний редактор </span><span class="rvts22">Ввод</span><span class="rvts22">а с функциями копипаста. Но переключение между разными программами сильно отвлекает ТАСера, поэтому зачастую проще скопировать </span><span class="rvts22">Ввод</span><span class="rvts22"> вручную.</span></li>
<li class="rvps23" style="text-indent: 30px"><span class="rvts22">Чтобы осмотреть текущий прогресс, ТАСер сохраняется, отключает Запись и загружает сэйв, оставленный в начале уровня (обычно для этого служит редко используемый слот на клавише </span><span class="rvts27">F10</span><span class="rvts22">). Затем он отпускает паузу и смотрит мувик, словно посторонний зритель. Для продолжения записи он включает режим Read+Write и возвращается точно к последнему записанному кадру, загрузив последний сэйв (обычно это наиболее часто используемый слот, </span><span class="rvts27">F1</span><span class="rvts22">). А если во время просмотра ТАСер принял решение изменить старый Ввод, он делает сэйв на этом месте, переключается на Read+Write и загружает только что созданный сэйв. Предварительно следует убедиться, что последнее актуальное состояние мувика сохранено не только в </span><span class="rvts27">F1</span><span class="rvts22">, но и в другой слот, который вы не будете трогать во время экспериментов со старым Вводом. Это нужно для того, чтобы в случае провала эксперимента можно было восстановить старый мувик, даже если слот </span><span class="rvts27">F1</span><span class="rvts22"> уже затёрт в ходе экспериментов.</span></li>
<li class="rvps10"><span class="rvts22">Таким образом, большинство из имеющихся 10 слотов используется для навигации между различными моментами игры. Используя термины Тасэдитора для навигации Курсором Проигрывателя по мувику. Даже на больших участках десяти слотов должно с лихвой хватить для быстрой телепортации между всеми интересующими местами. Обычно хватает 3-5 слотов, которыми опытный ТАСер жонглирует с поразительной скоростью.</span></li>
<li class="rvps10"><span class="rvts22">Парочка других слотов обычно используется для хранения альтернативных стратегий прохождения. Когда ТАСер заранее не знает, какой подход к прохождению большого участка (например, целого уровня игры) окажется лучше, он сначала отшлифовывает первый подход и сохраняет его в отдельный слот (например, </span><span class="rvts27">F8</span><span class="rvts22">), а затем отшлифовывает второй подход и делает сэйв в соседний слот (например, </span><span class="rvts27">F7</span><span class="rvts22">). Затем попеременно загружает то один, то другой слот (или даже просматривает оба ответвления мувика поочерёдно) и выбирает лучший из них, пересохраняет его в слот </span><span class="rvts27">F1</span><span class="rvts22"> и продолжает работу в этом ответвлении.</span></li>
</ul>
<p class="rvps10"><span class="rvts22"><br/></span></p>
<p class="rvps10"><span class="rvts22">Как видите, почти всё в традиционном методе ТАСинга делается благодаря сэйвам (Закладкам). </span><span class="rvts22">В Тасэдиторе они частично заменены Гринзоной и Журналом Истории, но и здесь они по-прежнему играют немаловажную роль, в основном для хранения альтернативных ответвлений. Навигацию Курсором Проигрывателя теперь быстрее осуществлять либо перетаскиванием, либо с помощью колеса мыши. </span><span class="rvts22">Более того, при редактировании Ввода теперь вообще не требуется возвращать Курсор Проигрывателя к кадру исправления, достаточно проскроллировать Piano Roll к этому месту и изменить </span><span class="rvts22">Ввод</span><span class="rvts22"> мышкой.</span></p>
<p class="rvps10"><span class="rvts22">Так как вместо Записи в Тасэдиторе эффективнее использовать редактирование, отпадает необходимость постоянно переключать режимы. Теперь эмулятор всё время находится в режиме Read-Only.</span></p>
<p class="rvps10"><span class="rvts22">Игра по-прежнему всё время стоит на паузе, но ТАСер теперь видит результат своего </span><span class="rvts22">Ввод</span><span class="rvts22">а не всегда, а только когда пожелает. Поначалу это может показаться неудобством (отсутствует привычная отдача от совершаемых нажатий), но на самом деле в этом скрывается большой плюс более высокий уровень независимости игрока от игры. Вместо механизма стандартной "вовлечённости в игровой процесс" задействуются другие механизмы передачи информации. Так что вы всё равно получите все необходимые сведения о том, как игра воспринимает ваши изменения </span><span class="rvts22">Ввода, просто этот</span><span class="rvts22"> информационный поток не будет вливаться в вас постоянно, а будет доставляться по команде.</span></p>
<p class="rvps10"><span class="rvts22">Ну а при необходимости можно получить в Тасэдиторе многократно усиленную отдачу. Для этого нужно использовать третий метод ТАСинга.</span></p>
<p class="rvps10"><span class="rvts22">Рассмотрим преимущества и недостатки всех трёх методов по порядку.</span></p>
<p class="rvps10"><span class="rvts22"><br/></span></p>
<div class="rvps10"><table width="100%" border="1" cellpadding="1" cellspacing="2" style="border-color: #000000; border-style: solid;">
<tr valign="top">
<td style="border-color: #000000; border-style: solid; height: 39px;"><p class="rvps10"><span class="rvts23"><br/></span></p>
<p class="rvps10"><span class="rvts23">Три метода ТАСинга в Тасэдиторе:</span></p>
<p class="rvps10"><span class="rvts22"><br/></span></p>
<ul style="text-indent: 0px; margin-left: 50px; list-style-position: outside;">
<li class="rvps14" style="text-indent: 0px"><a class="rvts49" href="TraditionalTASing.html">Традиционный метод</a></li>
</ul>
<ul style="text-indent: 0px; margin-left: 55px; list-style-position: outside;">
<li class="rvps14" style="text-indent: 0px"><span class="rvts22">навигация по Вводу Курсором Проигрывателя через прыжки по Закладкам</span></li>
<li class="rvps14" style="text-indent: 0px"><span class="rvts22">запись последовательностей </span><span class="rvts22">Ввода</span><span class="rvts22"> с клавиатуры/джойстика</span></li>
<li class="rvps14" style="text-indent: 0px"><span class="rvts22">автоматический просмотр промежуточных результатов </span><span class="rvts22">Ввода</span></li>
</ul>
<p class="rvps10"><span class="rvts22"><br/></span></p>
<ul style="text-indent: 0px; margin-left: 50px; list-style-position: outside;">
<li class="rvps14" style="text-indent: 0px"><a class="rvts50" href="NonlinearTASing.html">Нелинейный метод</a></li>
</ul>
<ul style="text-indent: 0px; margin-left: 55px; list-style-position: outside;">
<li class="rvps14" style="text-indent: 0px"><span class="rvts22">навигация </span><span class="rvts22">по Вводу </span><span class="rvts22">мышкой</span></li>
<li class="rvps14" style="text-indent: 0px"><span class="rvts22">редактирование Ввода мышкой/клавиатурой/джойстиком</span></li>
<li class="rvps14" style="text-indent: 0px"><span class="rvts22">по команде пользователя: просмотр промежуточных или итоговых результатов </span><span class="rvts22">Ввода</span></li>
</ul>
<p class="rvps10"><span class="rvts22"><br/></span></p>
<ul style="text-indent: 0px; margin-left: 50px; list-style-position: outside;">
<li class="rvps14" style="text-indent: 0px"><a class="rvts51" href="SemiautomaticTASing.html">Полуавтоматический метод</a></li>
</ul>
<ul style="text-indent: 0px; margin-left: 55px; list-style-position: outside;">
<li class="rvps14" style="text-indent: 0px"><span class="rvts22">навигация </span><span class="rvts22">по Вводу </span><span class="rvts22">мышкой</span></li>
<li class="rvps14" style="text-indent: 0px"><span class="rvts22">редактирование </span><span class="rvts22">Ввода</span><span class="rvts22"> мышкой/клавиатурой/джойстиком</span></li>
<li class="rvps14" style="text-indent: 0px"><span class="rvts22">автоматический просмотр промежуточных или итоговых результатов </span><span class="rvts22">Ввода</span></li>
</ul>
<p class="rvps14"><span class="rvts22"><br/></span></p>
</td>
</tr>
</table>
</div>
<p class="rvps10"><span class="rvts22"><br/></span></p>
<p class="rvps10"><span class="rvts22"><br/></span></p>
<p class="rvps10"><span class="rvts22"><br/></span></p>
<p class="rvps10"><span class="rvts22"><br/></span></p>
<p class="rvps10"><span class="rvts22"><br/></span></p>
<p></p>
<p class="rvps8"><span class="rvts18">Created with the Personal Edition of HelpNDoc: </span><a class="rvts19" href="http://www.helpndoc.com/feature-tour">Easily create Web Help sites</a></p>
</div>
<div id="topic_footer">
<div id="topic_footer_content">
&copy; 2011-2013 АнС</div>
</div>
</body>
</html>