Что такое твин в онлайн играх
Твины за рамками анимации
Оглавление
Вступление
Эта статья про твины (tween, tweenline, tween animation) и их нестандартное использование. Обычно о твинах вспоминают когда нужно что-то анимировать, будь то объект в игре или всплывающее меню на сайте. Но область их применения гораздо шире.
В статье будут приведены примеры кода — они будут написаны на языке C#.
Что такое твины
Твин (Tween) — аббревиатура для «In-between». В анимации твины описывают движение объекта (или изменение его свойства) между ключевыми кадрами.
Твины используются тогда, когда у вас есть следующие исходные данные:
- Положение A — начальное (текущее)
- Положение B — конечное (желаемое)
- Время T — время, за которое объект должен переместиться из положения A в положение B
Допустим, вы хотите анимировать персонажа. Вы хотите, чтобы персонаж в начале анимации был в левой части экрана, а через две секунды — уже в правой. Благодаря твинам, вам не нужно анимировать всю сотню кадров между этими двумя положениями — достаточно указать только два ключевых положения — начальное в первом кадре анимации и конечное в том кадре, в котором объект должен достигнуть точки B. Большинство инструментов для анимации интерполируют этот переход из положения A в положение B самостоятельно. Это и будет твин.
Применять твины можно не только к положению объекта, но и к любым другим его свойствам, будь то: цвет, размер, прозрачность и т.д.
Проблема
Если уйти от анимации — в общем случае твины будут полезны также тогда, когда вам нужно синхронизировать несколько продолжительных действий во времени или одно действие в зависимости от другого.
Наша команда занимается разработкой различных интерактивных и вспомогательных элементов для российского телевидения. Один из текущих проектов над которым мы работаем это робот-оператор. Вместо того, чтобы находится на съёмочной площадке и ловить планы в видоискатель руками — оператор может сидеть в офисе на удобном кресле и управлять камерой с джойстика ориентируясь по картинке на мониторе.
План зависит от следующих параметров — ориентации и наезда (zoom) камеры.
На репетициях в софт вносятся основные планы которым уделяется 90% времени. Между этими планами нужны переходы — был план `A`, нам нужно аккуратно перейти на план `B` за время `T`.
Управление ориентацией камеры производится с помощью робота-манипулятора, а её наезд управляется через API объектива. Роботом и объективом нужно управлять синхронно.
Робот имеет команду «Перевести камеру из положения `A` в положение `B` за `T` миллисекунд», а вот объектив имеет только команду «Установить наезд в значение `Z`».
Сотрудник, который занимался этим функционалом, столкнулся с проблемой — рассинхрон в 1-2 кадра (40-80 мс.) между тем когда робот занимает финальное положение и тем когда на объективе выставляется финальный наезд. При том рассинхрон был как в одну сторону, так и в другую, т.е. то объектив наводился раньше чем заканчивалось движение, либо наоборот.
Изначальная реализация работала следующим образом:
1. Отправляется команда роботу о том, чтобы он переходил в положение `B` за `T` мс.
2. В отдельном потоке раз в `N` мс. на объектив отправляется команда, чтобы он выставил наезд в текущее значение `Z`, это значение меняется перед каждой отправкой на шаг `S`.
3. Текущее значение `S` считается сразу после отправки команды роботу и представляет собой шаг который нужно прибавить к текущему значению наезда каждые `N` мс., чтобы за `T` мс. из текущего значения достигнуть финального. Т.е. `S = (B.Zoom – A.Zoom) / (T / N)`
4. После `T / N` шагов отправка команд на объектив прекращалась.
Вот упрощенный пример кода который делал переход из плана A в план B:
Основная проблема была в том, что Thread.Sleep не всегда делает задержку именно на заданное количество миллисекунд. В основном это зависело от того, что в определенные моменты времени у системы есть более приоритетные задачи и наш поток каждый раз мог спать немного больше положенного времени, но за 100+ вызовов набиралось до 80 мс. отставания, что является 2 кадрами телевизионной съёмки (25 кадров в секунду, 40мс на кадр). Из-за этого было отставание наезда от положения камеры. Если из-за чего-либо происходил большой лаг, допустим в пол секунды — фокусировка производилась как минимум на полсекунды позже того как робот занимал финальное положение.
Также Thread.Sleep всегда делает задержку не равную указанному значению, а +- рядом. Если замерять сколько времени прошло между вызовами Thread.Sleep более точными инструментами — разброс будет +-3 мс. от заданной задержки, что и давало нам случаи, когда наезд происходил слегка быстрее изменения положения камеры.
Рассмотрим эту проблему графически.
Состояние робота описывается его ориентацией в пространстве, это шесть значений: `X`, `Y`, `Z`, `RX`, `RY`, `RZ`. Первая тройка отвечает за положение объектива относительно центра робота, а вторая за направление в котором направлен объектив. Для упрощения, чтобы не указывать все значения — будем рассматривать только первую тройку отвечающую за положение — `X`, `Y` и `Z`. Эти значения не зависят друг от друга и могут меняться по отдельности, но чтобы переход был плавным — их изменение должно как начинаться, так и заканчиваться в одно время. Функционал робота из коробки уже позволяет сделать это одной командой.
Так выглядит график перехода робота из состояния A в состояние B:
Координаты начинают изменяться в начале перехода, а заканчивают ровно через выделенное на переход время.
А так выглядит переход наезда:
Наезд не успевает достичь требуемого значения за отведенное на переход время, и продолжает меняться уже после запланированной точки завершения перехода.
Анимированные примеры правильно перехода:
И не правильного перехода:
В обоих случаях начальное конечное состояния систем одинаковые, но вот достигаются они по-разному.
Решение
Как я упоминал выше — твины отлично подходят для синхронизации различных действий во времени, в чем и является наша проблема!
Нам нужно чтобы два перехода начавшихся в одно время — в одно время и завершились.
Для этого опишем два простых класса:
Первый класс `Tween` — абстрактный класс который описывает общий интерфейс всех твинов и принимает в конструкторе начало и конец перехода.
Второй класс `LinearDoubleTween` — класс который унаследован от `Tween` и реализует линейный переход для вещественных чисел.
В этом коде интересен только один момент — функция `GetValueAtProgress`. Вместо того, чтобы каждый шаг высчитывать на сколько значение должно было измениться — мы будем считать каким значение должно быть в эту единицу времени.
У нас уже есть значения `start` и `end` для функции `GetValueAtProgress` — это начальный и конечный наезды (`A.Zoom` и `B.Zoom`) соответственно, что же такое `progress`?
Для пояснения возьмём `start` и `end` равными каким-либо константам `A` и `B` соответственно (Для упрощения допустим что `A` всегда меньше `B`). Расположив значения `start` и `end` на числовой прямой мы получим простой отрезок:
Так как этот отрезок представляет переход из значения `start` в значение `end` мы можем представить эти значения в новой системе отсчета как 0 и 1 соответственно:
Так вот, `progress` — это точка на отрезке между 0 и 1 включительно в нашей новой системе отсчёта. Это какой-то момент внутри перехода между значениями `start` и `end`, началу перехода соответствует 0, середине 0.5, а окончанию 1. Взяв любую точку на этом отрезке, например 0.7, мы можем получить значение которое должно быть на изначальной числовой прямой в этот момент перехода:
В нашем случае ограничение на то что `progress` должен быть в границах от нуля до единицы — сделано для упрощения. Возможны такие твины, которые работают на бесконечной числовой прямой прогресса, но это уже будет не твин перехода, а циклический твин (НПример — функция синуса).
Чтобы получить значение `progress` в текущий момент времени нужно сделать следующее: сразу после начала перехода мы будем запоминать текущее время Tstart. И зная сколько должен занимать переход `T` — мы сможем перевести в прогресс перехода любую временную метку Tcurrent между началом перехода Tstart и его окончанием Tstart + `T` включительно, по следующей формуле: `progress` = (Tcurrent — Tstart) / `T`.
Вот упрощенный пример кода который делает переход из плана A в план B с использованием твинов:
Всё! Теперь независимо от задержек вызываемых Thread.Sleep — посылаемое на объектив значение всегда будет соответствовать прогрессу перехода.
Заключение
В этой статье мы рассмотрели только самое базовое использование твинов — линейная зависимость от времени, но твины становятся намного интереснее когда они становятся сложнее. Внеся небольшие изменения в функцию `GetValueAtProgress` мы можем сделать переход, например:
Если скомбинировать несколько твинов в зависимости от одного значения `progress` — мы получим таймлайн. Если мы запустим несколько объектов по одному твину, но с разными значениями `progress`, когда каждый следующий объект отстаёт от предыдущего на некоторое значение — мы получим змейку и т.д.
Твины являются очень простым инструментом для создания зависимостей от чего угодно — времени, расстояния, уровня заряда батареи и т.п. Их удобно использовать и заменять, т.к. все твины унаследованы от одного родительского класса — для изменения зависимости вам достаточно заменить используемый экземпляр твина с одного класса на другой и вы получите совсем другой эффект, т.к. независимо от того какой класс используется — то твин всегда в завершении оставит вам конечное значение `end` (если класс написан правильно).
Что такое твинк и зачем он нужен
Твинк (twink) -переводится с английского языка как персонаж. Твинком называют дополнительный аккаунт в компьютерной игре, в том числе и в популярной игре World of Tanks.
Многие игроки имеют низкую статистику при хорошей игре. Чаще такое случается, когда игрок освоил все нюансы игры и начал подробно исследовать информацию уже по прохождении большого количества боёв.
Согласно правилу, средний коэффициент побед высчитывается от общего количества боёв, поэтому, чем больше было проведено сражений, тем сложнее изменять все характеристики, в том числе процент побед.
Многие игроки решаются на такой шаг, как создание нового аккаунта. При этом чаще всего, изначально вкладывают в него большое количество денег, чтобы иметь привилегии. Будучи опытными, рейтинг у них с самого начала высокий, поэтому легче найти клан и воевать с хорошей репутацией.
Чтобы создать дополнительный аккаунт, нет необходимости использовать какие-либо программы или моды. Нужно просто пройти регистрацию. Опытные игроки часто сразу покупают премиум-технику 8 уровня, чтобы максимально быстро ускорить исследования нужных веток.
Не всем игрокам помогает твинк.
Например, при низких показателях ФПС, танкисту нет смысла создавать новый аккаунт, поскольку это не улучшит качество игры.
Как вариант, игроки создают себе дополнительные аккаунты (твинки), чтобы избежать клановых обязательств.
В кланах нужно часто принимать участие в сражениях, защите укрепрайона или нудных тренировках, а когда участник клана находится в режиме онлайн, его наверняка будут вызывать для участия. Вот в таких случаях, когда хочется поиграть в рандоме, пользователи создают твинки и спокойно маскируются под новыми никнеймами.
По сути, создание дополнительного аккаунта является незаконным действием, поэтому за это можно получить штраф. Однако разработчики не слишком глубоко погружаются в эту волокиту, поскольку создание твинка не влияет на игру.
Вам будет интересно:
Блокировка интернет-ресурсов на территории Украины
Стала доступна предзагрузка обновления 1.10.1.1 WOT
Инвайт-код для WOT на сентябрь 2018 [7 дней према, 500 голды и премиум танк Т-127]
Что такое твин в онлайн играх
Вы скажите, почему же? Я знаю что это означает, у меня 15 Твинков и я еще столько же сделаю! А теперь спросите у самого себя, раз у вас 15 Твинков, сколько же у вас тогда альтов? Вот именно. Твинк и Альт это два совершенно разных понятия, а мы постоянно их путаем. В последнее время и вообще все своих персонажей называют Твинками.
Если вы играете в World of WarCraft и гордо называете своего персонажа, который стоит возле аукциона, только для торговли “Твинком”, то вы глубоко заблуждаетесь. И я хочу помочь вам разобраться кто может гордо называть себя “Твинком”, а кто может создавать кучу “Альтов” и продолжать их плодить на всех серверах для торговли и прочей ереси.
Итак давайте копнем очень глубоко и разберемся откуда вообще произошло это слово «Твинк». В русском словаре этого слова не существует, но не могло же оно взяться с лампочки и поэтому давайте посмотрим англ. словарь, что же мы там найдем? А мы найдем там полное объяснение происхождения этого слова, собственно кто с англ. дружит смотрите сами источник википедия
В этой статье говориться, что слово зародилось еще в 20-х годах прошлого века. «Твинков» в то время называли женоподобными мужчинами (Геями). В 20-х годах во Франции появился ресторан с названием «TwinkL», что в последствии дало толчок названию неких батончиков с золотой корочкой и белой начинкой (не на что не намекает?). Корень слова “Twin” с англ. переводится как “близнец” (двойник). Отталкиваясь от этого можно предположить как близнец в постели, т.е мальчик – мальчик, но имейте ввиду, что слово Твинк имеет неодносвойственный характер и в каждой сфере он может означать разные понятие и нести разные последствия. В середине 70-х «Твинки» создали свою культуру, и это слово переросло как быть физически сильным, здоровым, опрятным, честолюбивым человеком. В последствии слово «Твинк» перебралось в другие страны и стало употребляться в качестве одежды (китайских шарфиков), музыкальных групп (Япония) и другие.
И вот пришли 90-е года в мир ворвались компьютерные игры. В конце 90-х годов в какой то игре зарождается слово «Твинк», но эта терминология несла в себе совсем иное значение как и в других странах. В каждой игре есть свой геймерский язык и он похож чем то друг с другом. Вот и слово “Твинк” тоже появилось у геймеров, но термин означал совсем другой смысл, нежели “женоподобный мужчина”. А сейчас мы разберем, что означает “Твинк” в игре World of WarCraft.
Почти во всех играх где процветала компьютерная эра термин «Твинк» несло одно понятие, сильный игрок которому нету равных на том прогрессе игры на который он рассчитан.
Мы выяснили происхождение слова Твинк, теперь давайте разберемся, что это слово означает в мире World of WarCraft.
Как только появились БГ в игре, с ними появились и Твинки, не мало игроков хотели заточить персонажа под БГ с максимальным обмундированием и всеми возможными способами выделиться из толпы игроков. Много времени прошло с тех пор, очень много было написано статей как сделать себе Твинка в условиях получения опыта. Самый популярные БГ для Твинков стали 19, 29 и 39 брекеты (брекет – с англ. категория). Твинков стало очень много, появились целые гильдии и при чем много гильдий на разных игровых мирах. Появилось куча сайтов, где в буквальном смысле слова объясняют чуть ли не пошагово как сделать достойного Твинка. Вот пример гайд опубликованный в далеком 2006 году. Вместе с появлением Твинков, в игре был колоссальный приток игроков. Прошло несколько лет и в 2009 году компания Близард убрали Твинков с обычного БГ и сделали для Твинков в патче 3.2.2 такую функцию как остановка опыта. Эта функция дала возможность Твинкам забыть думать о таких вещах как, получить конкретный предмет в игре, открыть локации и.т.д., дабы не апнуться до следующего брекета. Но самый большой минус это то, что вместе с этой функцией Твинк не может попасть на обычное БГ где получают опыт за какие либо действия. Твинк изначально задумывался для игр на БГ с максимально заточенным под свой брекет экипировкой, а эта функция просто напросто убила возможность играть на БГ, так как Твинки могли в любое время апнуться и потерять персонажа, который делался несколько месяцев. После патча 3.2.2 Твинки составляли малый процент заселения БГ и конкретно с ориентироваться в первые дни после патча успели не все.
Много хороших Твинков апнули свой брекет, кто то по глупости, кто то специально, кто то по не знанке, а кто просто плюнул и не стал больше оплачивать игру. Твинков стало совсем мало, единицы живых я бы сказал, которые готовы объединяться и играть на БГ с отключенным опытом (но эта другая история).
Через пол года после рокового патча про Твинков забыли совсем. И термин Твинк стал употребляться вместо слова «Альт». 80% игроков стали называть своих «Альтов» Твинками (в основном те кто не видел живьем Твинков на БГ, а это новички), а ведь это совсем два разных понятия. Прошу в дальнейшем не путать понятия этих двух разных слов «Альт» и «Твинк».
Опять же для тех кто дружит с англ. на вовики можно прочитать понятие этих слов Альт (альтернативный персонаж мейну), и Твинк (значит быть одним из лучшим в своей культуре)
Давайте подведем итоги и составим понятие термина «Твинк» в игре World of WarCraft. Не буду придумывать сверхъестественных слов и придумывать что-то новое, я просто вам скопирую обозначение этого слова с самого большого гайда , на котором выросло не одно поколение Твинков. Итак:
“Твинк – это персонаж, экипированный наилучшим возможным для своего уровня образом и созданный только для игр на БГ. У нас закрепилось неверное определение твинка как второго персонажа. Для этого есть слово “альт” (им играют в свободное от игры мейном время). “Твинк” (ЛЛД персонаж) характеризует не значимость чара, а его экипировку, полное использование “ресурса” (сильнее он быть уже не может).”
Вот почитайте что пишет «Jua» с форума твинков:
«Сама аббревиатура ЛЛД (LLD) неофициальная, а значит пониматься может двояко.
Вероятнее всего ЛЛД как и ПК это отголоски Ультимы Онлайн. Там действительно существовали ПК, но это были не ганкеры, а в большинстве скорей именно хардкорные ПвПшники, по скольку мотивации для убийств в Ультиме не ограничивались ничем, они (ПК-PK) убивали всех, в том числе и персонажей низкоуровневых, для них это была легкая добыча и имелся стимул – вещи с трупа врага. Там, как и везде существовали свои “кадры” для коих важны были не награды, а именно убийство заведомо слабейших и более ничего, да, и чем больше этих убийств, тем лучше (тот же “ресcкилл”). Позднее видимо эта биомасса перекочевала в Диабло 2, а позднее в ВоВ и появился такой термин как ганкер. Ганкер – это тот же ПК (но в худшем варианте), в большинстве случаев убивающий заведомо слабейшего врага и редко сражающийся с равными (учитывая хотя бы лвлы персонажей), большая часть ганкеров это не ПвПшники, основная их масса это гопники.
ЛЛД – это так же своего рода ПвП и ПвЕ “культура” или направление, для некоторых еще и РП ориентируемое, здесь многое акцентируется на низкоуровневом бг (ПвП) и соотв. брекетах , а так же добывании наилучшего шмота (как правило ПвЕ), так же есть и свои ПК – Твинки и свои гопники (ганкеры).
Cаму аббривеатуру LLD – можно расшифровать как Low Level Distract, т.е. низкоуровневое разбитие игроков по брекетам 19-29. вплоть до 79, не утверждаю это как окончательный и единственный правильный термин, но он поясняет суть движение и его направленность.
Для меня LLD – это Low Level Dream.»
ЛЛД как и термин «Твинк» в World of WarCraft перешла из другой игры и зародило свое понятие. Теперь же ЛЛД можно отнести ко всем активным Твинкам. ЛЛД – это что то вроде определенной культуры в игре. ЛЛД можно сравнить с понятием «рейдеры» – это собственно тоже своя культура или «аренщики», сейчас же «ачивщики» и.т.д. Все кто делает Твинка и относится к этому серьёзно, смело могут отнести себя к ЛЛД движению.
Собственно зачем я все это пишу? Я раньше когда то играл Твинком, играл даже после патча 3.2.2 попал пару раз на игры, но есть реаллайф и я бросил ВоВ, а интерес тогда еще остался, но сейчас уже давно утих.
Мне стало интересно, а откуда вообще произошло это слово «Твинк» и как оно перешло в ВоВ. Когда искал понятие этого термина я перечитал десятки гайдов, десятки статей. Собрал множества материала, но я не стал вносить весь собранный материал, так как получилась бы целая диссертация и поэтому пришлось выложить в кратцие что и как!
Постараюсь разнести эту информацию на другие сайты, возможно кому то даст толчок моих стараний в этом развитии. Да и столько времени потратил, жаль будет, если не увидят их те кто думает про Твинков как про своих альтов. Хотелось бы донести до них всю суть.
Я чистил свой компьютер и наткнулся на данную статью написанную мною еще пол года назад в своем домашнем ПК случайно (а мог и удалить) и ведь совсем про неё забыл. Сейчас постараюсь занести эту информацию на старые форумы твинководства на Гохе или Вохе, если эти сайты еще кто читает, а они уже сами разберутся. Прискорбно прощаюсь с ВоВ-ом, хотя знаю что выйдет катаклизм, но жизнь повернулась иначе.
В оригинале можно прочитать в моем блоге на Blooger , оставляйте свои комментария. Так же данная статья размещена на Google
Пора прощаться. Приятных вам бессоных ночей по себе знаю!
Всем спасибо кто оценит мои старания.
Что такое твин в онлайн играх
Руководство по созданию Твинка для чайников V1.0
-Глава 1-
Расчет требуемого кол-ва твинков.
Знайте ,чем больше твинков тем больше вы уделяете время игре.
Знайте, чем больше твинков тем труднее играть.
Знайте, чем больше твинков тем быстрее растёт ваш основной замок.
Я рекомендую заводить до 3-шт. твинков. Выше трех, это уже извращение и очень тяжкий труд. Очень тяжкий. На такой труд не каждый из вас способен.
-Глава2-
Подключение твинков.
После того как вы определились с кол-вом твинков.
Вам нужно создать такое же кол-во Google аккаунтов.
Сразу присваивайте названия такие что бы вы не запутались, к примеру
Ferma#1@gmail.com;
Ferma#2@gmail.com;
Ferma#3@gmail.com;
И так далее.
После создания аккаунтов создавайте новые замки и привязывайте их к появившимся аккаунтам.
Вы можете скачать клон игры и привязать аккаунт к нему, и тогда играть станет проще и быстрее.
Для того, что бы подключить аккаунт к клону. Вы должны запустить нужный аккаунт на основном клиенте, затем зайти на клон, убедиться что этот аккаунт отображается в клоне.
Затем зайти в настройки телефона, в настройки Аккаунтов и удалить аккаунт который подключился к клону игры. Затем зайти в основной клиент переключиться на другой аккаунт, закрыть клиент.
Зайти на клон и проверить ,что бы на нем остался подключенный твинк.
Всю процедуру повторить столько раз, сколько вы хотите иметь клонов.
-Глава 3-
Твинки- как их правильно готовить!
И так с первых же минут развития твинков вы должны уяснить, твин это не ЗАМОК, твинк это не игра, ТВИНК – ЭТО ИНСТРУМЕНТ ДЛЯ СБОРА РЕСУРСОВ.
Так, как твин это инструмент, он требует особой настройки, а это значит, что развитие на твинки не похоже на развитие основного замка.
Поэтому вы должны ЖЕСТКО следовать следующим инструкциям (что бы получить правильного твинка)
ВСЕ ТВИКИ качаются до 11 уровня замка, на этом уровне доступна наука легион II, которая даст нам 3 армии для сборов ресурсов.
ВСЕ твинки должны иметь 1 уровень, казарм, стрельбища, завода колесниц, конюшни.
ВСЕ твинки должны иметь армию 55к и только первого уровня.
Все твинки должны иметь 0к-пехоты, 0к-лучницков, 0к-конницы, 55к-катапульт.
ВСЕ твинки должны МАКСИМАЛЬНО прокачать сбор ресурсов в колледже и в перках лорда.
ВСЕ твинки должны закинуть 5 очков лорда в ВОЕННУЮ ВЕТКУ В самый первый талант Грузоподъёмность и больше туда ничего не вкладывать, весь упор на вторую ветку.
ВСЕ твинки должны иметь 10шт. фермерских полей- 11 уровня, а так же 8 военных полаток, 9 больничек, 11уровень – фонтан желаний, 11уровень- военный плац,9 уровень-склада.
КАЖДЫЙ ЛОРД, решает для себя что он выбирает железные фермы или лесопилки. И забивает оставшиеся места только ими. Не нужно делать и то и то.
К примеру НЕЛЬЗЯ ставить 5 ферм, 5 лесопилок, 5 шахт.
НЕТ. НЕТ и нет.
10 ФЕРМ, а остальное по желанию. Но либо 5 лесопилок либо 5 шахт железа.
При таком раскладе, ВАША ЕДА НЕ БУДЕТ УМЕНЬШАТСЯ, ваши твинки ну будут жрать еду вообще.
Вы там можете хранить сколько угодно еды любое время.
-Глава 4-
Психология твинков, не видитесь на разводку.
Как вы поняли твинки это не замки, это инструмент.
Поэтому НИКАКИХ РАЗВИТИЙ ВОЕННЫХ наук, ЗАЩИТНЫХ наук.
НИКАКИХ ПРОКАЧЕК зданий до 11 уровня.
Никаких Военных операций, никаких строек альянса, НИКАКИХ черных рыцарей и прочего.
ЭТО НЕ ЗАМОК, ЭТО ИНСТРУМЕНТ.
НЕ ТРАТТЕ свое время и ресурсы на развитее БЕСПОЛЕЗНОГО ФУНКЦИОНАЛА для ИНСТРУМЕНТОВ, как бы вам этого не хотелось.
Если вы будете следовать своим инструкциям по созданию твинков, к примеру вы настроите арму 3 уровня, прокачаете замок до 10 или 13 уровня. И прочее.
ВЫ потратите время зрая. Вы получите на выходе фигового твинка
Ни в коем случае не качайте на твинках СКЛАДЫ и прочие навыки на увеличение Склада/погреба.
Для того что бы отстроить 55к катапульт. Вы должны сначала отстроить 60к смешанных войск, затем строить по 400 катапульт и удалять по 400 войск другого типа, пока у вас не станет 55 к катапульт
Что такое Twine (для разработчиков)?
Многие разработчики (и некоторые геймеры) в курсе, что есть такая штука, как Twine, чтобы делать браузерные игры, но не все знают, что именно она из себя представляет. Они не знают, в чём причина её популярности и как она используется – многие уже слышали про Depression Quest, но это предел их информированности. Пока что нет толковой системы для поиска игр, сделанных в Twine.
Я сделала несколько игр с помощью Twine, и это один из моих любимых инструментов быстрой разработки, так что частенько я и оказываюсь тем, кто объясняет его особенности моим сотоварищам. Это навело меня на мысль о создании статьи, срывающей покров тайны с того, «Что такое Twine?», для людей, уже знакомых с разработкой игр и желающих узнать больше подробностей.
Что же такое Twine?
Так выглядит типичная Twine-игра без всяких модификаций.
Twine – это утилита для создания интерактивной литературы, где игроки читают текст, а интерактивность заключается в нажатии на строчки-ссылки. Она использует очень простую визуальную блок-схему, и скриптинг представляет собой создание гиперссылок между отдельными узлами или «переходами». На выходе получается файл .html, содержащий всю информацию, то есть, игру сразу можно запускать в онлайне, и вместе с этим она поддаётся глубокой настройке – всё, что вы можете сделать с веб-страницей, вы можете сделать с помощью Twine. Большая часть интерактивности в Twine-играх – это нажатие на ссылки.
Так выглядит сама утилита – 1.4 слева, 2.0 справа.
Система невероятно проста в использовании. Большинству хватит и пяти минут, чтобы во всём разобраться и набросать голый костяк своей игры, даже при полном отсутствии опыта в разработке.
Встроенный функционал включает в себя базовые элементы программирования, такие как переменные и операторы «если». Сообщество Twine написало множество разных макросов на Javascript, значительно расширяющих возможности утилиты, и их можно добавлять в любой проект простым копированием. Также можно скачивать темы для смены оформления программы (цвета, фоны, эффекты). Вы можете создать свою таблицу стилей (как это сделала я) для самостоятельной настройки внешнего вида.
Многие серьёзно перерабатывают оформление Twine.
Конечно, у Twine есть свои ограничения. Она создана именно для текстовых игр, поэтому в работе над серьёзными модификациями утилита больше мешает, чем помогает. Игры, полагающиеся на логику, в ней чувствуются громоздкими из-за отсутствия хорошего редактора, помогающего выделять и анализировать код – всё размещается в одной текстовой куче. Всё, что требует обширных познаний в программировании, лучше создавать на своём собственном движке, чем при помощи Twine. Что хорошо в javascript и html, так это доступный всем желающим простор для экспериментов, а популярность этих языков позволит новичкам в программировании легко найти нужное руководство.
- Сайт Twine: https://twinery.org/
- Скачать Twine 1.4.2: https://twinery.org/downloads/twine_1.4.2_win.exe
- Twine 2.0.2 Beta (работает в браузере оффлайн): https://twinery.org/2/
- Подробные уроки скриптинга от Дэна Кокса (Dan Cox) на английском: Learning Twine (Part 2, Part 3)
Виды интерактивной литературы
На заметку: Twine работает с интерактивной литературой, основанной на выборе, такой стиль иногда называют «выбери-свое-приключение» (сокращённо CYOA, от choose-your-own-adventure). Вы можете помнить старые книги-игры, где писалось: «Если вы выбираете левую дверь, перейдите к странице 123. Если вы выбираете правую дверь, перейдите к странице 91». Такие книжки издаются и до сих пор, как и развлекательные книги «для кофейных столиков», вроде To Be Or Not To Be.
Типичная CYOA-книга (Which Way Batman?).
В Twine вместо перелистывания страниц игрок, продвигаясь по сюжету, переходит по ссылкам. Есть немало примеров интерактивных историй, основанных на выборе – какое-то время их выпускал успешный издатель Choice of Games, inkle наделала шуму с играми наподобие 80 Days, и я бы причислила к таковым Device 6 – великолепную игру для iOS от Simogo. Преимущество цифровой природы таких игр над книжными вариантами CYOA-историй в том, что игра скрывает все используемые значения, и игрок о них даже не задумывается.
Типичная CYOA-игра (Creatures Such as We).
Популярная в Японии, но практически отсутствующая на западе разновидность CYOA – это визуальные новеллы. Многие из них представляют собой прокликивание линейного сюжета (с текстом, фонами, персонажами и звуками) с редкими выборами, влияющими на концовку. Симуляторы свиданий следуют схожему формату, но обычно демонстрируют некоторые значения, которые вам предстоит балансировать. Звуковые новеллы в сущности, такие же, но без вариантов выбора. Для знакомства с жанром могу посоветовать Digital: A Love Story, Analog: A Hate Story, и Hatoful Boyfriend (сама я мало во что играла, так что большего посоветовать не могу).
Типичная визуальная новелла (Clannad).
Ещё один немаловажный вид интерактивной литературы – игры «с парсерным вводом» или просто «парсерные». Так описывается способ взаимодействия в олдскульных квестах вроде Zork, когда игроку необходимо вводить текстовые команды вида глагол+существительное, например, «взять лампу». Фразы могут быть намного сложнее, вроде «узнать у Дженни стоимость лампы». Среди мейнстрим-игр этот жанр был вытеснен графическими квестами, но он никогда не вымирал. Узкий круг авторов и игроков поддерживает среду и по сей день – просто мало кто обращает на неё внимание. Если заинтересовались, рекомендую ознакомиться с работами Эмили Шорт (Emily Short).
Типичная парсерная игра (Zork).
Есть и другие разновидности интерактивной литературы. Некоторые комбинируют несколько приёмов, другие представлены в мультимедийных формах. Twine работает с форматом .html, так что в некоторых Twine-играх есть ограниченная поддержка ввода текста.
Для сравнения приведу примеры других инструментов по созданию интерактивной литературы – это Inform 7, Choicescript, Quest, Inklewriter, Undum, и Ren’Py.
Почему Twine пользуется популярностью и кто с ней работает?
Многие слышали про Twine или натыкались на игры, сделанные в этой утилите, но не всем понятно, почему она так популярна и что выделяет её на фоне похожих программ.
Всё благодаря следующим ключевым аспектам:
- Экстремально низкий входной порог. Всё, что вам требуется, это рабочий компьютер и умение читать и писать. Навыки художника или программиста, равно как и дорогостоящее оборудование или софт, не понадобятся.
- Обнародовать своё творение очень просто. Итоговый html-файл можно сразу размещать где угодно в сети. Можно делиться им через dropbox или бесплатно загружать на philome.la. Установка не потребуется, никакие плагины не нужны, играть можно прямо в браузере. Я могла бы встроить Twine-игру прямо в эту статью.
- Основная группа разработчиков продвигает Twine в массы и помогает другим делать свои игры с помощью руководств, геймджемов и семинаров.
Я впервые услышала о Twine через Анну Антропи (Anna Anthropy), инди-разработчика, которая распространяет средства игровой разработки среди меньшинств и маргинальных слоёв населения, не имеющих «традиционного» опыта в компьютерных науках или разработке игр. Насколько я понимаю, она создала первое руководство по Twine, когда программа была лишь недоделанной гипертекстовой утилитой за авторством Криса Климаса (Chris Klimas).
Несколько других женщин, занимающиеся queer-играми, начали делать с помощью утилиты собственные игры, обучать этому других и организовывать геймджемы по созданию «твайнов», как стали называть интерактивную литературу, сделанную в Twine. Даже не знаю, как описать сцену «queer-игр», поскольку сама не являюсь её частью, и она не описывает сама себя, так же, как и «инди-сцена». Их игры часто (но не всегда!) обращаются к проблемам, близким для них самих – поднимаются вопросы гендерной принадлежности, секса, сексизма, классизма, притеснения, транссексуализма.
Благодаря этим людям Twine получила широкое распространение в качестве общедоступного инструмента для создания игр. В результате «те, кто пользуется Twine» – это постоянно развивающаяся группа. Несомненно, Twine непропорционально популярнее среди женщин и писателей/разработчиков queer-игр, а также среди людей без опыта в игровой разработке. Конечно, это не определяет рамки сообщества создателей Twine-игр, только основную группу.
В большинстве случаев разработка игр предполагает значительные финансовые вложения (компьютер или консоль, программные средства), временные затраты (время на изучение 3D-моделирования или программирование на досуге), поэтому разработка как хобби становится непозволительной роскошью. Twine «демократизирует» процесс, избавляясь от лишних препятствий и делая разработку доступной – что получается у неё лучше любых известных мне программ.
Из этого следует, что сообщество Twine-разработчиков не сильно пересекается с людьми, делающими, скажем, игры на Unity или клоны рогаликов. Авторы Twine-игр больше склонны высказываться от лица аутсайдеров, в сравнении с мейнстримом. Для стороннего наблюдателя это полезно тем, что люди, иначе не попавшие бы в разработку игр, используют эту среду для самовыражения, часто в очень необычной (и даже подрывающей основы) манере. Конечно, есть и обычные разработчики, вроде меня, кто делает небольшие игры на Twine, и со временем этим будут заниматься самые разные люди.
Могу сказать, что благодаря своей гибкости и простоте Twine может стать отличным средством прототипирования – возможно, я ещё напишу продолжение на эту тему. Люди собираются вместе, создавая целые антологии твайнов, что нехарактерно для других инструментов разработки, но отлично работает при такой простоте использования. Большинство твайнов распространяются бесплатно, но можно встретить их и продающимися за небольшую сумму на gumroad или itch.io.
О популярности Twine и её сообществе писали и до меня. Если хотите подробностей, оставлю несколько ссылок:
Разновидности игр, созданных в Twine
Из тех, кто создаёт игры в Twine, большинство людей не делают их обычным образом, не интересуются значением слова «игра» или же специально выворачивают всё наизнанку, преследуя собственные цели. Всё это привело к по-настоящему необычной коллекции игр.
Я использую слово «игра» в очень пространном значении – многие твайны не впишутся в более строгие определения других людей. В них обычно нет победы/поражения, и вместо выбора с последствиями переходы по ссылкам зачастую скорее предоставляют возможность изучать игровой мир и сюжет, чем «проходить» игру. Многие сложно критиковать, потому что они явно основаны на чём-то очень личном и их критика будет сродни критике записи в публичном дневнике.
Ниже я представлю свою классификацию Twine-игр, хотя список никоим образом нельзя считать исчерпывающим. В каждом отдельном типе игр я буду советовать те, на которые стоит взглянуть всем, чтобы ознакомиться с возможностями утилиты. Многие игры входят сразу в несколько категорий, и я причисляла их к тем, что казались мне более подходящими.
Обратите внимание, что большинство этих игр очень короткие, и я даю ссылки только на бесплатные.
Игроподобные
Я специально выбрала такой термин для твайнов, в которых есть элементы, знакомые обычным геймерам: ролевая система, головоломки, очки и прочее. Они не будут так сильно разрушать ожидания и послужат хорошим знакомством с Twine-играми.
Адвенчуры
Ближе стоят к книгам-играм с их нелинейным сюжетом и интересными решениями. Как Mass Effect без боёвки или Walking Dead.
Эмпатические машины
Балансируют на грани симуляторов, помещая игрока в чужие – зачастую очень личные – переживания. Одни из них служат в образовательных или информирующих целях, другие созданы исключительно, чтобы самовыразиться или поделиться наболевшим.
- Depression Quest
- Explain Menstrual Periods to Me Like IAMA [cis] Male
- Cis Gaze
Сюрреализм и сатира
Игры с причудливыми историями и необычными механиками, использующие свободу текста, чтобы творить всё, что им взбредёт в голову. Большинство таких игр содержат элементы сатиры или выражают мнение автора по определённому вопросу.
- Cry$tal Warrior Ke$ha
- Horsemaster
- The Uncle Who Works for Nintendo
Социально-политическое комментирование
Под эту категорию попадают многие Twine-игры. Они используют среду для прямого выражения мнения по политическим или социальным вопросам (эту тему затрагивают многие игры, но некоторые, в том числе и отобранные мной, делают это недвусмысленно).
- Choice: Texas
- Five Words (go go go)
- Hey, Free Cheesecake
- Misogyny Island
Комментирование игр
Эти твайны пользуются игровой природой среды Twine, комментируя геймплей и структуру игр.
- Tower of the Blood Lord
- HHH.exe
- RocketJump-Ification
Интерактивные рассказы
Это линейные игры, где интерактивность сводится к изучению сюжета. Я выбрала наиболее литературные (включайте звук во всех).
Интерактивная поэзия
Подвид с говорящим названием, эти игры сосредоточены на особенном стиле прозы или расположении слов.
Нестандартный подход
Некоторые люди используют Twine для необычных целей, не вписывающихся в другие категории.
Что такое Твинк в играх?
В рамках данной заметки, я расскажу вам что такое твинк в играх, а так же некоторые особенности. И начну с определения.
Твинк – это, в компьютерных играх, персонаж мнопользовательской онлайн видеоигры, безвозмездно получивший от высокоуровневых пользователей достаточно мощное снаряжение, которое обычные геймеры того же уровня не могут себе позволить. Так же под твинком могут понимать специально созданного персонажа “для статы” в тех онлайн играх, где важны статистические характеристики за всю историю персонажа. В последнем случае суть в том, что неопытный игрок по первости много проигрывает, из-за чего в последующем поднять статистику существенно сложнее, но об этом чуть позже.
Нередко, твинки создаются самими пользователями, например, для фарминга и лута ресурсов, которые в первых уровнях проще добыть (за счет различных плюшек для начинающих или потому, что высокоуровневый игрок этим заниматься не будет). Таких людей называют твинководами. При чем масштабы могут быть внушительными, например, измеряться в сотнях и тысячах.
Что не является твинком? Во-первых, стоит понимать, что если пользователь получил снаряжение собственными силами или в рамках обмена с высокоуровневыми геймерами, то такое не считается твинком. Во-вторых, далеко не каждый альтернативный (альт) персонаж является твинком. Например, если человеку захотелось поиграть за разные классы и многопользовательская онлайн игрушка это предполагает, то ничего негативного в этом нет, при условии, что альт не “упаковывается по самое не могу”.
Почему твинк считается негативным термином? Наличие повышенного “шмота” делает из нуба некое подобие ИМБЫ, который в местах, где другим хардкорно, крошит все подряд Иными словами, это вносит существенный дисбаланс. Кроме того, это может порождать неэтичное поведение, ведь что мешает твинку “кичиться” своей халявно добытой снарягой?
А если же речь идет о “выравнивании” статистики, то тут возникает проблема разницы в количестве побед. К примеру, если пользователь проиграл 100 битв, то чтобы его статистика была в районе 70% побед, ему необходимо порядка 234 удачный матча. В этом смысле, если у твинка будет 30 поражений, то для такого процента пользователю нужно всего 70 удачных матчей. Не сложно заметить, насколько больше необходимо потратить времени и сил обычному геймеру, чем твинку.
Второй момент в том, что если твинк создан под фарминг, то это может приводить как минимум к двум проблемам: дисбалансу среди высокоуровневых геймеров и проблеме доступных локаций для начинающих (и со временем для средних). В первой ситуации речь о том, что боты-твинки позволяют не тратить время на рутинный сбор ресурсов. Во второй ситуации речь о том, что твинки занимают локации для фарминга в компьютерной игре. И если эти локации являются общими для всех игроков (а не под каждого или небольшую группу отдельная), то толпа ботов быстро сделает их бессмысленными для остальных геймеров, так как доступных монстров или свободных мест добычи ресурсов банально не будет.
Так же вам может быть интересен обзор почему олдфагам нравятся старые игры.
Понравилась заметка? Тогда время подписываться в социальных сетях и делать репосты!