... сделать простую арт-
в жанре таймкиллера ...
Перевод статьи. Англоязычный оригинал опубликован на SitePoint – "Introducing GraphicsJS, a Powerful Lightweight Graphics Library".
HTML5 – основа основ современного веба. И сегодня, когда встает задача создать интерактивную графику, выбор чаще всего падает на такие технологии, как SVG и Canvas. Flash позабыт, Silverlight – редкая птица, обитающая на задворках веба, и почти никто не помнит сторонние ActiveX и Java-плагины.
Плюсы и минусы SVG и Canvas хорошо известны – в целом все сводится к тому, что для создания интерактивных элементов и работы с ними больше подходит SVG. Это векторный формат, основанный на XML, и, когда изображение загружается на страницу с использованием тега
<svg>
, каждый его внутренний элемент становится доступен в SVG DOM.
В данной статье я хочу рассказать о GraphicsJS. Это мощная графическая JavaScript-библиотека с открытым исходным кодом, основанная на технологии SVG (VML для старых версий IE). Начну с краткого введения в основы GraphicsJS, а затем проиллюстрирую возможности библиотеки двумя небольшими, но наглядными примерами. Первый из них посвящен изобразительному искусству. Второй покажет, как менее чем за 50 строк кода сделать простую арт-игру в жанре таймкиллера. Читать дальше →
... хлоп! --
вдруг заканчивается.
игра -- а ...
-- Неправильно ты, дядя Федор, бутерброд ешь!
Ну, все помнят. Конечно. Кот Матроскин оказался говорящим, а бутерброды с колбасой надо держать колбасой вниз, чтоб прилегала к языку -- вкуснее получается.
Так вот. Сейчас мы будем говорить не столько об игре Bomb Squad Academy, сколько о том, как в нее правильно играть.
Почему так? А вот смотрите сами:
Переключатели, логические элементы, провода (конечно, конечно, их можно перекусывать!) -- ну и таймер. С обратным отсчетом. Уже из одного этого скриншота понятно, что в игре вообще надо делать. Кроме вот этих схем там нет ничего. Вообще.
Отдадим должное крайне немногочисленному коллективу авторов: разных элементов, из которых эти схемы составляются, действительно много. От обычных выключателей до триггеров и импульсных генераторов. Разные их комбинации подчас дают довольно неожиданные эффекты.
Ну и хотелось бы похвалить графику. Нет, я не шучу. И вы не шутите насчет того что пасьянс "Косынка" тоже безупречно отрисован. Вроде бы и рисовать-то особо нечего -- но то, что есть, выглядит именно так как надо. Ничего лишнего. И вот еще такой мелкий штрих, который подкупает с удивительной силой. Когда перекусываешь провод, он перекусывается именно в той точке, по которой ты щелкнул пиктограммой с кусачками. Мелочь из мелочей -- а как действует.
А вот дальше, увы, начинаются проблемы.
В целом Bomb Squad Academy хвалят. Но если начинают ругать, то всегда за одно и то же. Слишком короткая! Слишком простая! Нулевая реиграбельность! И далее следует вердикт: очень миленько, но своих денег не стоит.
Во многом это, к сожалению, справедливо. Хотя лично я и не жалею, что отдал 169 рублей.
Как совершенно справедливо отмечается в тех же отзывах, игре очень не помешал бы редактор схем с мастерской Steam, дабы люди могли обмениваться своими бомбами, плюс какие-нибудь доски почета. Кто-то даже заикнулся о случайной генерации схем, но такое, наверное, просто не сделать.
Вот тут мы и переходим к вопросу о том, как правильно есть бутерброд.
Помните, в какой-то из "Цивилизаций", когда выходил из игры уже после победы, опции были такими: "OK, exit" и "Wait! One... More... Turn..!".
По неизвестной причине вот здесь этот фактор -- ONE MORE TURN! -- работает просто с устрашающей силой. Стоит обезвредить бомбу, как вас спросят: а не хотите еще одну? Вы отвечаете "ДА!", вообще не раздумывая. А потом еще раз. И еще. А потом хлоп! -- игра вдруг заканчивается.
Единственная бомба, где сложность создается в основном за счет перепутанности проводов. Больше такого не будет; наверное, авторы и сами считают, что это чересчур вульгарно.
Мораль: не старайся слопать все сразу. Растягивай удовольствие. (Необычный совет для компьютерной игры, ага)?
Слишком просто? Ну... пожалуй, да. Некоторые схемы решаются секунд за десять, а капитально застрять и вовсе невозможно. (Заметим в скобках, однако, что мозги здесь все же приходится включать, пусть и далеко не на полную мощность). Некоторые в отзывах пишут такое: я все проходил обучающий раздел, ждал, когда начнется настоящая игра -- а она вдруг взяла и кончилась. Совсем.
В общем-то, эту вещь можно рассматривать, как чисто обучающую. Вот тебе XOR, он же "исключающее ИЛИ", вот на него идет сигнал, вот другой, вот что из этого получается. Не знали, что это такое -- логические элементы и операции? Вот и узнали.
Сделаем, впрочем, и еще одно замечание на полях. Лично я не почерпнул для себя ровным счетом ничего нового, но играл все равно с интересом.
Подытоживаем:
а) не хапать слишком много зараз;
б) представьте на своем месте какого-нибудь гуманитария до мозга костей. Разноцветные фитюльки на схеме вызывают у него глубочайшую фрустрацию, граничащую с полным отчаянием. А неумолимый писк таймера действует не хуже тех самых капель воды, любимых инквизицией. Представили? А теперь наслаждайтесь, НАСЛАЖДАЙТЕСЬ своим превосходством;
в) бутерброд -- только колбасой вниз.
Облегченный вариант: таймер тикает аж вчетверо дольше, чем предполагалось. Не знаю, рекомендовать ли его. Впрочем, если вы понятия не имеете, что такое логическое AND...
Такие дела. Впрочем, мне пришла в голову и такая шальная мысль. Что, если вставить в качестве мини-игры нечто похожее в какой-нибудь командный шутер? Да чего -- в "какой-нибудь"? В CS, конечно. А то что это такое -- нажал Е и десять секунд на разминирование без саперского набора, а с набором -- и вовсе пять.
А тут толковый сапер ценился бы на вес золота. А хорошие, хитренькие такие взрывные схемы продавались бы на торговой площадке Steam за приличные деньги.
А потом мега-опытный сапер делает ошибку и БАЦ! -- все усилия команды насмарку. Вот веселья-то будет!
Мечты, мечты...
Коул Фелпс уже долгое время работает в полиции Лос-Анджелеса 40-х годов. За это время ему довелось ...