Перед отъездом на фестиваль решил написать один рассказик…а сейчас нашёл рукопись на столе.И посетила меня мысль выложить сюда начало. И вот итог.
31 Август 2009 г.
30 Август 2009 г.
КЕФИР
Только что вернулся домой с фестиваля под названием КЕФИР. Расшифровывается это как Кемеровский Ежегодный Фестиваль Игр Ролевых. Да-да, именно так.
Пока что фотографий нет, расскажу всё просто так. Дневника я не вёл, так что буду по памяти, благо провёл там не так много времени. Внимание: пост будет длинным.
Новость о готовящемся фестивале ходила по ролевой среде в предстоящую неделю особенно сильно.Идея простая: все ролевики города собираются в одном месте и занимаются…логично, любимым делом.
Я отправился на фестиваль с командой родного клуба. Это не совсем верное определение, но правильное. Мы поехали в пятницу днём,и попали в переделку ещё до того, как попали на место. Наш автобус остановился напротив ДК Кировского района, и кондуктор объявила,что дальше он не пойдёт, потому что сломался.Нас заверили,что из депо уже выехал новый на замену, поэтому проблемы нет – одни неудобства. Пока мы ждали автобус, я успел сбегать в магазин рядом и купить 2 банки шпрот и 2 банки кильки в томате. Кстати, в автобусе мы встретили ещё ролевиков – но они пошли в магазин в Щегловке, когда мы сразу попёрлись вперёд. Поэтому мы обогнали их примерно на полчаса.
Дорогу до полигона знало два или три человека. Один из них (Юля) была там только в июне, поэтому знала лучше всех. Мы прошли мимо руин, по полям, через объединение каких-то там садоводов и вышли на огромную кошеную площадку.
Тропа как таковая на площадке терялась, потому что скошенная трава скрывала под собой всё. Поэтому мы пошли прямо, держа прежний курс – но через несколько минут девушки начали сомневаться, по той ли дороге мы идём. Даже звонок мастеру фестиваля ничего толком не прояснил. Мы прошли вперёд, чтобы немного разведать дорогу, и поняли,что она ведёт куда-то намного выше нужного. Поэтому мы вернулись на кошеную площадку и послали Юлю прояснить дорогу на другой её стороне.
Тут нас догнали ролевики с автобуса. С их помощью мы быстро нашли дорогу и даже подобрали Юлю на ней.
Полигон там довольно мал. Все размещаются на одном большом склоне, под которым находится озеро. Лагеря стоят прямо в поле, только один из четырёх стоял в берёзовой роще.Мы разместились в самом низу, у озера; я тут же поставил палатку по старой привычке ставить её как можно раньше, чтобы точно успеть поставить вовремя. К тому времени уже было часа четыре вечера.
Мы славно поужинали, съели одну из шпрот, разведали другой берег озера. Озеро проточное, через ручей лежит импровизированный мостик чуть правее въезда.На другом берегу полно черёмухи и сплошное болото…это по слухам,лично я не переправлялся. Наши попутчики встали наверху, около рощицы.
Тут подъехали люди со следующего автобуса. На нашу голову, это был по большей части «13й район», своеобразный ролевой клан, сильно сплочённый и, по-видимому, сильно отмороженный. Они встали рядом с нами и удивительно быстро сумели достать матерными песнями, кричалками «Кто чемпион? Тринадцатый район!!», пивом и просто наездами «Привет соседи! А чего вы тут не пьёте? А мы вам принесли, а сыграйте на гитаре, а вот мы тут просто посидим, можно?». У нас в команде люди исключительно непьющие (вот так, да) и не матерящиеся. Некоторые могут сматериться и выпить, если захотят, но тем не менее. Поэтому соседство с таким буянством нам очень не понравилось, и примерно часов в девять мы стали перемещаться.
Легко сказать! Я уже полностью построил свой лагерь.Пришлось срочно скидывать всё более-менее весомое в рюкзак, оставляя в палатке только лёгкие вещи и коврики.Слава богу, мне помогли перенести всё в новый лагерь наверх, но ведь палатку надо было где-то там ставить! И вот, я в полной темноте раскидывал дрова, чтобы поставить там палатку, чтобы при свете фонаря закрепить все колья…Кошмар настоящий. Но зато я хорошо поработал, и выбрал хорошее место. Прямо посреди палатки стояла огроооомная кочка, но я же спал один в двухместке – так что проблемы это не составило. На том и кончился первый день. Мы ещё варили шару, горланили песни у костра..Я ушёл спать примерно в пол-первого, чтобы успеть выспаться до следующего дня; а у костра сидели до пяти утра. Но небо в ту ночь было удивительно звёздным.
На следующее утро никто не встал. Я сам провалялся до девяти и с удивлением обнаружил, что встал ну о-о-о-очень рано. Силами пробудившихся мы сварили лапшу с тушёнкой. Утром благополучно уехал весь «13й район», к нашему облегчению.
Первые игры пошли уже днём, ближе к часу. Одновременно стартовали два ланга: Ира с «Упавшими с неба» и Лёна с «Между небом и землёй». Я играл в
обе игры (да, это было в золотые времена, когда в клубе проводилось много игр и все интересные), поэтому просто ходил и фотографировал. Больше времени я провёл на ланге Иры, потому что он всё-таки интереснее и там больше людей. Очень бы хотелось пройтись по технике, ролям и прочее, но – нельзя рассказывать сюжет, нельзя портить игру. День выдался очень дождливым, все игровые документы подпортил дождь. Под конец игры Главный Рейтинг Родов (это самый важный документ в игре) съел один из игроков,и пришлось писать заново.
Из-за дождя, кстати, много игр не удалось провести. (Второй причиной было то,что все просыпались не раньше 12ти, а завтракали не раньше первого часа). На фестиваль привезли много хороших качественных игр: Расфуфыр, Ойсингову Топь, ещё две или три, не помню названий – но из-за дождливой погоды и недостатка времени провести их не получилось.
«Между небом и землёй» после этого поставили ещё раз, и тут появилась Гоблёнок. Я ждал её уже полтора дня, и постоянно волновался, приедет ли она.
Ночью прошли ещё две игры: что-то вроде однодневки по Миру Тьмы (сие было довольно быстро и, похоже, довольно кроваво) и игра Герды, названия которой я уже не помню (не очень плотно связанная, и меня поразило полное отсутствие имён в загрузах…импровизация зашкаливала, а всё равно продул по всем статьям). С тем и пошёл спать. Примерно в три ночи.
Сегодня же утром проснулся я, повернулся на бок…и понял,что справа от меня лежит блондинка. Через пару секунд я понял, что чуть подальше лежит брюнетка. День начинался прекрасно, хотя, продрав глаза, я понял, что это не брюнетка, а Мел. Оказалось, что он и Катя ночью полезли ко мне, потому что все перепутались и всем негде было спать. Я стелил коврики с таким расчётом, чтобы не спать на кочках самому и кому-то ещё…на трёх людей они рассчитаны не были, поэтому Мел спал всю ночь как на разделочной доске.
Сегодня особенной движухи не было: все собирались домой. Была одна игра Герды про крыс (очень интересная), но из наших в ней были только я и Валя. С погодой я не прогадал: удалось собраться под солнцем и у меня даже сухие вещи, включая палатку. Мы собрались и вышли на автобус; на половине пути нас встретил папа Юли за рулём небольшого пикапа.
Девушек – в салон, рюкзаки – в кузов, парней туда же. С ветерком весело добрались до остановки.Я взял свой рюкзак, чтобы потом не забирать его у друзей. Немного подождали автобуса; нас догнали остальные с полигона, потом тоже уехали на машине…Извините,что рассказ мой сбивчив и отрывист, но я уже устаю и тороплюсь.
Вроде всё…как найду фотографии, постараюсь рассказать подробнее и в лицах.
23 Август 2009 г.
Мне парадоксально не везёт в MMORPG.Сейчас расскажу, как именно.
U.N.I.T.
Я весело бродил по городу,когда меня окликнул какой-то парень. «Хочешь штаны классные?» Я посмотрел – классные, и правда. После сделки оказалось,что мало того что я остался без ничего, так ещё я и приобрёл штаны для персонажа 2 уровня (когда сам 1го) по завышенной цене. Класс. Пришлось бегать голым.Было стыдно вдвойне. Да, ещё мародёры сильно впечатление от игры потом попортили, но это ещё ничего оказалось по сравнению с…
FOnline
Я вообще не смог играть, поскольку повсюду бегают мародёры. Через пять секунд после того,как я вошёл в первый же город после начала игры, я получил заряд из дробовика и – привет, станция репликации. Вернулся в город, по пути наткнулся на междусобойчик рейдеров и какого-то каравана, разжился дробовиком,стимулятором и ещё полезными штучками, на том и выключил игру.
Во второй раз я включил игру, чтобы показать её другу. Забавы ради ходил по городу, подрался с NPC – меня убили.»Ну,ладно, хотя бы Ад покажу ему» – подумал я и мы стали ждать Ада. И тут ко мне подходит мародёр, сгребает всё с трупа и уходит. У меня отвисает челюсть. Да. Больше я в эту игру не играл. Я понимаю,что мир Fallout злой и выжить любой ценой – это главное,но когда у тебя ничего в карманах и достать можно только слепой удачей…да,я не хочу быть мясом. Больше я в это не играл.
World of Warcraft
Да,я решил посмотреть,что это за игра. Кстати, качественно сделана – но это я к слову. Шок у меня был,когда на втором уровне я услышал рык за спиной. Оборачиваюсь – никого. Меня бьют. Рык, зубы, когти. Никого вокруг нету. Что такое? Тут я гляжу под ноги – и вижу…кошку. Бьёт меня и я не могу ничем ответить почему-то. Я попытался убежать, но она была быстрее. Она настигла и растерзала меня в клочья. Мне было очень стыдно.
Не знаю,что будет в следующей игре,когда я её запущу. Персонаж повернётся и покроет меня матом? Что за невезение.
19 Август 2009 г.
The Thin Ice (Тонкий Лёд)
Мама любит чадо,
И папа любит его.
И море тебе не бывает прохладным,
И небо светит синевой.
Ноооооо малыш,
Бееедный малыш
Поедешь если кататься
По жизни тонкому льду,
Под взгляд укоризный таскаться
У миллиона глаз на виду.
И не кричи, когда лёд затрещит,
Под ногами лёд будет вскрыт.
Ты теряешь основу, и рассудок за ней,
И твой страх за тобой вьётся сильней,
В лёд ты цепляешься сильней.
Не очень мне нравится пока что…слово «лёд» слишком часто повторяется, а последняя строчка выбита..Хотя,быть может,это просто перекочевало из оригинала.
Труднее всего пока мне даётся держаться с оригиналом рядом. У меня какой-то безумный талант коверкать смысл слов: третья строчка второй строфы была как «С укором тихим таскаться», что диаметрально противоположно нужному.Но я стараюсь.
18 Август 2009 г.
Firefox Minimalistic
Долгое время собирался сделать это как видео, но – лень.
Итак,
Как минимизировать интерфейс Mozilla Firefox
Firefox – очень хороший браузер, но очень перегруженный в интерфейсе. По сравнению с Google Chrome и Opera он вообще занимает своими панелями чрезмерно много места; на нетбуках это особенно заметно. Как же увеличить площадь рабочей области?
По счастью, Firefox – настраиваемый браузер (если бы не это, он бы был идиотской ненужной гадостью…Mozilla мало что делает для его функционала).Наведите курсор на панель инструментов, нажмите правую кнопку мыши и отключите всё, кроме строки меню и стандартной панели инструментов. После этого выберите пункт меню «Настроить…»
Теперь вы можете настроить интерфейс панелей. Для начала: всё, кроме стандартной панели мы уже отключили. Можете включить обратно, если оно действительно вам надо; лучше, если вы перетащите самое нужное на открытые панели. А ещё лучше – отказаться вообще.
Перетащите на панель меню: кнопки назад\вперёд, обновить, остановить, кнопку домашней страницы (если вы ей пользуетесь), кнопку новой вкладки и адресную строку (но не строку поиска).
Что мы получили? Получили упрощённый интерфейс. Адресная строка Firefox также служит поиском в Google (Yandex для версии 3.5+), когда не может распознать введённое вами как интернет-адрес.От других поисковых систем, к сожалению, придётся отказаться.На мой взгляд, потеря невелика.
Теперь можно отключить всё, кроме строки меню. Уже намного лучше, правда? Но адресная строка слишком мала, особенно на небольших мониторах. Есть способ исправить и это.
Скачайте дополнение Personal Menus. Оно мало, около 12 Кб. После перезагрузки браузера опять откройте окно настройки панелей инструментов и создайте новую панель; перенесите на неё всё, кроме панели меню.Теперь добавьте справа три новых кнопки: журнал, закладки и меню. Диалог настройки можно закрыть.
Отключите строку меню, оставив только новую панель.Откройте новую кнопку «Меню» и отредактируйте её. Добавьте туда всё меню программы, которые вы скрыли.
Что получилось в итоге? На одной строке уместился почти весь стандартный функционал Firefox (исключая поиск не в Google).Если у вас большой монитор, можете добавить туда ещё строку поиска и дополнительные команды с других панелей инструментов.
Думаю,вам понравится новый интерфейс. Во всяком случае, он намного удобнее для глаза и оставляет большую часть экрана страницам, а не браузеру.
Спасибо за внимание.
17 Август 2009 г.
Действие или объект?
Продолжаю работу над новым квестом…тут я опять возвращаюсь к прошлой проблеме.
Со времён Z-машины существует простой алгоритм парсинга строки. Она делится на 3 части: действие, объект и уточнение. К примеру: «отрубить голову напильником».
Сразу же возникает первая сложность: русский язык формализован меньше английского. Наши люди могут это же сказать как «голову отрубить напильником», и «напильником отрубить голову», и «голову напильником отрубить», как и «отрубить напильником голову».Эти варианты каждый в своей мере приемлимы и – что самое важное – все грамотны.Таким образом, в парсинге строки порядок слов не важен.
Возникает интересная ситуация. С чего начинать? Искать ли первое слово строки по дереву объектов, чтобы выцарапать нужный и производить все действия уже над ним, либо делать классический разбор действия, затем уточнять объект и анализировать остаток строки?
Оба варианта имеют право на жизнь. Если мы идём со стороны объектов, то логично сделать систему объектов – наследуемую систему объектов. Так, мы находим объект «красный шкаф» – и мы знаем, что это уже как минимум, шкаф. Значит, ему присущи все свойства шкафа. Это тем более удобно, что объектно-ориентированное программирование вошло в нашу жизнь довольно давно и прочно.
Если же мы выбираем путь действия? Мы определяем в точности, что собственно от нас хотят – и дальше уточняем, к чему и как это применять. Этот подход классически императивен и использовался во многих известных квестах – но не стоит забывать, что многие известные текстовые квесты были сделаны годах эдак в 80-х.Проверка временем не всегда говорит в пользу выбора, скорее наоборот – современные подходы часто оказываются лучше.
И тут у меня лично встаёт ещё один выбор. Выбор языка. В настоящий момент я веду разработку на C++, так как на нём очень продуман механизм ООП. Но также у меня есть выбор Perl, и чем я ближе приближаюсь к парсеру, я сильнее склоняюсь в его сторону. Там очень просто получить строку, преобразовать из Unicode, разбить по словам, обработать. Можно вспомнить,что существует такая вещь, как mod_perl и мне не обязательно выполнять программу в виде CGI, а можно предоставить её для Apache…Идеально? Почти. В Perl нет никакого механизма ООП – одни «заглушки».
Ну, вот он и выбор: к чему писать костыли. Либо я собственноручно пишу (подключаю из недр Интернета) модули AVL-дерева, работы с Unicode, работы со строками, либо я пишу (на этот раз действительно пишу) кучу-кучу классов с интересным интерфейсом, ещё более интересным наследованием и совсем уже интересным механизмом инкапсуляции.
До сего момента я писал на двух языках, практически. Обкатывал алгоритм на Perl и доводил до ума на C++, спускаясь на более низкий уровень. Это позволяло решать проблемы проектирования чуть-чуть раньше, чем они действительно и неисправимо появятся, и немного отвлекаться от реализации очевидно-неважных структур (в первую очередь это AVL-дерево).
Кстати: если кто-нибудь знает, где достать исходники РУССКИХ квестовых движков, я буду очень признателен.Переводы с английского меня никоим образом не интересуют.Спасибо.
11 Август 2009 г.
Первые аранжировки
Сегодня кое-как доделал начало.
Это предполагается ремикс на мелодию Криса Вренны Flying On The Wings of Steam (саундтрек к игре American McGee’s Alice).
Законченное начало трека можно прослушать ниже:
или скачать по ссылке.
06 Август 2009 г.
Скрипка
Только что купил себе новую скрипку 4\4.
В Кемерово есть лишь один магазин, в котором продаются акустические скрипки – и даже там осталась последняя целая1!
Мне продали со скидкой, потому что одна девочка,когда смотрела, порвала на ней струну. И тут я обнаружил,что во всём городе нет ни одного магазина, где бы продавали струны для скрипки!!!
Наваждение. Достать струны сложнее,чем достать инструмент.
P.S. Обнаружил,что я совершенно не знаю, как с ней обращаться. У меня никогда не было новой скрипки: все мои скрипки были либо школьными, либо б\у. Она хрипит у меня в руках и я не знаю,в чём дело – то ли смычок недоканифолил (опять же, канифолить его надо непривычно долго), то ли разучился, то ли струны недотянул. И очень не хватает камертона, мне не с чем струны настраивать. Ну не включать же на компьютере синтезатор?!
1: Скрипки делятся по своим размерам на 1\4 (четвертинка; это для малышей), 2\4 (половинка), 3\4 и взрослая – 4\4 (целая),самая большая.Названия, понятно, идут по длительностям нот.
04 Август 2009 г.
Perl и преобразование регистра
Недавно хорошо промучился с преобразованием регистра в Perl. Дело в том,что Perl и Юникод не на короткой ноге, поэтому простым путём lc() ничего сразу не получится. Вот как следует преобразовывать в нижний регистр строку с Юникод-терминала:
#!/usr/bin/perl -wuse strict;use Encode;chomp(my $input = <STDIN>);my $string = decode("UTF-8",$input);$string = lc($string);print encode("UTF-8",$string);
Я был удивлён,что совершенно не требуется прагма use locale. Наоборот, при её использовании всё только ухудшается.Также существуют функции decode_utf8 и encode_utf8, которые принимают только один параметр; работают аналогично.Юникод – двухбайтовая кодировка, и требует подобного обращения при любом использовании. В конце хочу добавить,что замечание интерпретатора «Wide character in print at …» сигнализирует о том,что вы забыли закодировать строку обратно в UTF-8, и выводите её на экран во внутренней кодировке (попробуйте заменить последнюю строку на обычный print $string).