Первый npc

Мне хватило времени не только разрешить все дела по-работе  и встретить мою прекрасную девушку, которая вернулась с конференции, но и немного покодить для моего хобби-проекта. Скриншот:

Как вы видите, игра начинает обретать форму: наш зеленокожий орк уже не стоит среди каменной равнины, а находится в привычной среде для любой roguelike – в подземелье. Кроме того, в ходе исследования подземелья, ему преградил путь человек-солдат. Чем закончится эта встреча – неизвестно, т.к. npc в моем roguelike могут не только быть враждебным мяском, сквозь которое продирается ваш альтер-его в поисках прохода вглубь подземелья, но еще они могут быть драконами, которым не страшен никакой орк дружественными неигровыми персонажами, которые будут снабжать игрока квестами, вещами и полезными советами.

Интерфейс игры

Современные средства разработки предоставляют программисту чрезвычайно много возможностей, которые нельзя пренебрегать при разработке программного продукта. Когда я планировал свой roguelike, я думал идти проторенной дорогой, но потом мне в голову пришла мысль, что я могу сделать все по-своему – более современную игру, которая одновременно не потеряет особого шарма, присущего roguelike играм. Уверен, что увидев ее, вы разделите со мной это мнение.

К сожалению, у меня не будет возможности сегодня поведать вам об изменениях, которые я внес в движок игры, но вчера мною не был запощен последний скриншот (как будто я знал, что сегодня навалится столько работы), который я и предлагаю вам посмотреть.

интерфейс игры roguelike

На скриншоте виден первый элемент интерфейса игры – полосочки здоровья, маны и опыта игрового персонажа. Я думаю это отличная замена привычным: “HP: 5/78″! Особо зоркие зрители наверняка заметили наличие теней под орком и интерфейсом – это то самое использование альфа-каналов, о котором я писал в прошлом посте. Возможно, с разработкой, я сделаю тени зависимые от формы тела персонажей (как я сейчас представляю, это потребует не больше усилий, чем кружок, который нарисован сейчас).

Передвижение и fog of war

Сегодня реализовал алгоритмы передвижения, расчета линии обзора для персонажа и покрытия карты туманом войны (fog of war). Также, кроме этого, заложил два фундаментальных класса, которые будут основой для персонажа и объектов на карте (не npc).

fog of war roguelike

На данный момент туман войны выглядим схематично и очень грубо. Я планирую позже, к появлению релизных версий, перерисовать его, чтобы он выглядел более натурально и не резал взгляд. Кстати, перемещение реализовано полностью на мышке, никаких стрелочек на клавиатуре.

PS Вечером добавил функциональности для графического движка – теперь он умеет нормально обрабатывать эффект полупрозрачности. Под нормально я имею ввиду не Булеву логику (есть прозрачность или отсутствует), а полноценный альфа-канал. Возможно, в эпоху шейдеров не первого поколения это и не большое достижение, но в целом для моего проекта – это существенное достоинство (на которое, надо сказать, не было потрачено много времени). Решил сразу использовать где-то альфа-каналы, и, в итоге, перерисовал тайл орка-игрока (он теперь отбрасывает тень, чем, вероятно, будут хвастать тайлы других игроков и npc), а также нарисовал такой неотъемлемый элемент интерфейса, как полосочки здоровья, маны и опыта. Получилось неплохо, как на мой вкус, и с использованием все тех же альфа-каналов :)

Еще скриншот You aren`t SPECIAL

Публикую второй скриншот You aren`t SPECIAL.

roguelike генерация персонажа Как вы видите, игра обжилась фоновой заставкой и в ней будут присутствовать симпатичные менюшки. Пока не будет готов игровой движок в самом первом приближении, интерфейс создания персонажа (а это именно он изображен на скришоте) развития не получит.

PS и я все еще думаю о языке, на котором должна быть написана игра (сейчас я говорю не о C#, а о русском или английском) . Или быть может писать сразу с расчетом на поддержку двух языков?

PPS А вот снимок того, как выглядит наш орк в игре:

roguelike orc Я отказался от первоначальной идеи использования тайловых персонажей поверх ASCII “графики” в сторону использования тайлов везде. С ходом разработки, когда процесс перейдет в сторону улучшения существующих функций, я планирую разнообразить графику в угоду меньшей ее повторяемости.

О ходе разработки DeviantWatch

Сегодня продолжил разработку своей программы для раскрутки в социальной сети “Deviant Art”. Программу переписываю с нуля (из-за потери исходников в связи с форматированием не того раздела в ext4 :) ). Сегодня реализовал основную “фишку” в продвижении на deviant art. В тестовом режиме программа уже работает.

Из-за того, что движок программы пришлось переписывать с чистого листа, я смог быстро решить часть проблем, которым был подвержен релиз deviantwatch от прошлого года. В результате исходный код был уменьшен более чем в 5 раз, значительно ускорилась скорость работы программы, получилось избежать появление неприятного бага, которому был подвержен предыдущий релиз (на последнее очень надеюсь, т.к. тогда я так и не понял причину появления того окошечка с ошибкой).

На данный момент не реализовано:

  • автологин на сайт
  • автоматизация работы с getwatchers (кстати, с ними можно и в ручную работать)
  • сохранение данных о работе программы, формирование статистики, обратные изменения по требованию

Часть лога работы программы:

DeviantWatch v. 0.0329 loaded succesfuly.
http://browse.deviantart.com/photography/?order=5 loaded.
http://mikerollerson.deviantart.com/art/Anime-Conji-2011-Abyss2-202826498?q=in%3Aphotography%20sort%3Atime&qo=0 loaded.

Увеличение безопасности пароля

Сегодня задался вопросом о безопасности своих паролей и решил дать количественную оценку увеличения безопасности паролей. Как известно, увеличить безопасность (или устойчивость к взлому) можно двумя путями: увеличить количество символов в пароле (очевидно) и увеличить базовый словарь (использовать символы, не входящие в алфавит, цифры, буквы в верхнем регистре). В итоге вычислений (спасибо Google.Docs) появилась на свет две зависимости, которые я объединил в чудесный график:

Read the rest of this entry »

Отчет о работе DeviantWatch 10.2010

DeviantWatch – программа, призванная автоматизировать раскрутку в социальной сети deviantART. Сегодня я публикую месячный отчет о результатах работы программы, разрабатываемой мною. Стоит помнить, что стабильно работающую версию, я собрал только полторы недели назад и результаты работы второго месяца будут несколько выше. Итак, за первый месяц раскрутки я получил:

  • 59,524 раз были просмотренны фотографии из них 30,536 уникальных просмотров.
  • 523 человека подписалось следить за обновлениями фотографий.
  • Получено 888 комментариев и 3,308 раз фотографии были добавленны в избранное.
  • Самая комментируемая фотография имеет 88 комментариев, самая добавляемая в избранное – 368 добавлений, наиболее часто просматриваемая – 4,213 просмотра.
  • В среднем каждая фотография была просмотрена 838 раз.
  • В среднем в день полученно 940 просмотров.
  • Получено в подарок 65 deviant points (за 1,5 дня) и премиум подписка на 3 месяца.

Теперь считаем экономический эффект от работы программы:

  • 59,524 просмотра по цене deviantArt – это примерно 2,045 $
  • за месяц работы можно было бы получить 65 / 1,5 * 30 = 1300 deviant points, что равно 15$ на мелкие расходы.
  • премиум подписка на 3 месяца (была получена в подарок на 2й день, после того, как я опубликовал, что нуждаюсь в ней) – 8 $

Итого: экономический эффект от работы программы составил 2.068 $ за октябрь 2010года, если платить за все аналогичные меры, которые программа выполняет автоматически.

Раскрутка DeviantArt

Привет! Я продолжаю развивать идею продвижения в социальной сети DeviantArt !

Сегодня 6й день со времен начала этого проекта и на данный момент у меня следующие результаты:

  • 4,141 человек посетили титульную страницу моего профиля.
  • 46 , загруженных мною (и снятых, конечно) были увидены 16,607 раз
  • 5 человек подписались следить за обновлениями моей галереи
  • получено 66 комментариев к фотографиям и 285 раз они были добавлены в избранное
  • самая популярная фотография была просмотрена 1945 раз и добавлена в избранное 61 раз
  • полученно 27 лам :)

Рассмотрим каждый из этих дней подробно:

Раскрутка deviantart

  1. 407 просмотров. Возникла идея этого проекта и выработалась концепция продвижения. Результаты невысоки, т.к. работа велась вечером и …
  2. 1115 просмотров. … плавно перетекла в утро второго дня. Скрипт работал всю ночь, в результате чего самые высокие результаты за весь период.
  3. 639 просмотров. Продолжается работа, только теперь без ночи, только свободное время.
  4. 241 просмотр. Экспериментальный день, когда я практически не делал ничего для активного привлечения зрителей, на 95% пассивный приход.
  5. 782 просмотра. Изменяю подход к раскрутке, отхожу от использования скрипта, пишу программный интерфейс для взаимодействия с DeviantArt . До утра отлавливаю и исправляю ошибки в коде. На данный момент программа имеет функционал скрипта с особой защитой от поимки защитой сайта. Есть еще несколько фич, которые увеличат отдачу от раскрутки, но за из разработку еще не садился.
  6. 893 просмотра. Экспериментальный день – смотрю за работой программы, пытаюсь словить последний баг. 900 просмотров за 5-6 часов работы, 150-180 просмотров в час.

Целью эксперимента я ставлю попадание в топ DeviantArt по просмотрам профиля. На данный момент это 7000 просмотров в день.

Как получить 100500 просмотров на DeviantArt уже сегодня.

Здраствуй, дорогой читатель! Я уверен, что тебе хорошо известен сайт deviantArt, где каждая посредственность может выложить свои высеры и тем самым не дать настоящим гениям достойных их 5 минут славы , где каждый может похвастаться своими творениями. Уверен, что если ты уже выкладывал на этот сайт фотографии или даже студенческие рисуночки ручкой на полях тетрадки, то уже успел заметить и задаться вопросом, наполненным яростью и силой: “Почему же никто не смотрит на то, что я тут явил миру?” – потому что толпа лемингов заспамила этот сайт по самое нихачу рисунками Наруто!

Вчера я написал скрипт, самый банальный и простой скрипт для UOPilot, который призван решать проблему забвения. Давай посмотрим, каковы результаты его работы за ночь? Смог ли он оправдать оказанное ему доверие и не подвел ли своего создателя в трудную минуту, когда сотни, нет, тысячи пользователей DeviantArt отвернулись от него? Картинки говорят сами за себя.

Увеличить pageview на DeviantArt

Красная стрелка рассказывает нам, трепетно прильнувшим к экранам наших мониторов, что просмотры профиля и фотографий начались вчера и продолжились сегодня. 1082 просмотра профиля! Профиля, фотографий посмотрели больше.

… has 1,090 pageviews total and his 44 deviations were viewed 4,303 times.

Я даже получил одного ласкового зрителя, который будет следить за всеми обновлениями моей галереи.

.. но, как говорится в глупых телевизионных рекламах:

- Это еще не все, Джон, что еще мы можем сказать о нашем скрипте?

- Джоан, ты <очень глупая женщина>, что ты у меня постоянно спрашиваешь? У тебя же и так на бумажке все написано!

Массовый исход пользователей интернетов DeviantArt на мою страничку, я смог получить с помощью группы GetWatchers , где ты смотришь одного пользователя и в результате другой пользователь смотрит тебя. За один просмотр можно получить 0,5-9 просмотров в ответ. И, естественно, этот скрипт легко палится и я уже жду, когда черные вертолеты вылетят за мной.

Увеличить pageview на deviantart Увеличить количество просмотреов на DeviantArt

Да, они работают в долг: ты уже посмотрел и заработал баллы, а они распределяются постепенно (видимо, никто не рассчитывал, что балы будут приходить по 5 за 10 сек %) ). И первая же оценка работы скрипта показала, что не менее тупые его аналоги уже давно серфят эту группу вдоль и поперек. Присоединяйся!

На этой ноте, разрешите откланяться xD

Read the rest of this entry »

Утилита AddUrl

С этого дня блог плавно морфирует из “Фотография и цифровой арт” в “Фотография и программирование”. Гип-гип, ура и т.д.

Сегодня я представляю вам утилиту для целей SEO (Search Engine Optimization) – AddUrl .

Всем людям, не далеким от сетевой оптимизации, требуется добавлять сайты и отдельные их странички в так называемые “адддурилки” – специальные формы на сайтах поисковых систем, с помощью которых можно добавить свой сайт в очередь для индексации робота поисковой системы (Яндекс, google и т.д.).

Утилита AddUrl позволяет добавлять сайт в индекс google и Яндекс одним кликом (не считая ввода каптчи на сайте яндекса).

Основное применение, которое я нахожу для этой утилиты – это добавление в индекс поисковой системы жирной ссылки на ваш ресурс, которую вы собственноручно разместили где-то на просторах интернета(это тема для отдельной статьи, ищите на сайтах, посвященных SEO). Использование адддурилки в данном случае увеличивает шанс нахождения вашей ссылки поисковой системой до 100% и значительно снижает время индексации ссылки.

Скачать AddUrl

Все пожелания и баг репорты отавляйте тут в комментариях.