Search
Write a publication
Pull to refresh
-7
Артем @cyber_uaread⁠-⁠only

Пользователь

Send message

Игровые циклы или ЭлектроКардиоГама

Reading time11 min
Views52K
Игровой цикл — это пульс каждой игры. Ни одна игра не будет работать без этого. Однако, к несчастью каждого нового разработчика игр, в сети нет хороших статей, в которых уделено достаточное внимание этой теме. Но не печальтесь, потому как только что вы получили возможность прочитать единственную в своем роде статью, уделяющую вопросу игровых циклов заслуженное внимание. По долгу службы мне часто приходится иметь дело с большим количеством кода мелких мобильных игр. И я каждый раз удивляюсь сколь много существует реализаций игрового цикла. Вы тоже можете удивиться как можно для такой, казалось бы простой, вещи можно придумать множество имплементаций. А ведь можно! И в статье я постараюсь рассказать о достоинствах и недостатках наиболее популярных вариантов игровых циклов. Также я постараюсь описать наилучший на мой взгляд вариант реализации игрового цикла.
(Thanks to Kao Cardoso Félix this article is also available in Brazilian Portuguese) (Thanks for me, in Russian also, прим. перев.)
Читать дальше →

Алгоритм поиска пути Jump Point Search

Reading time6 min
Views125K
Этот алгоритм является улучшенным алгоритмом поиска пути A*. JPS ускоряет поиск пути, “перепрыгивая” многие места, которые должны быть просмотрены.  В отличие от подобных алгоритмов JPS не требует предварительной обработки и дополнительных затрат памяти. Данный алгоритм представлен в 2011 году, а в 2012 получил высокие отклики. Что из себя представляет данный алгоритм и его реализацию можно прочитать дальше в статье.


Читать дальше →

Как написать игру в стиле Tower Defense

Reading time19 min
Views63K
Жанр Tower Defence один из самых популярных жанров игр на iOS. Причиной тому веселое времяпрепровождение, сдобренное постройкой башен для создания последней точки обороны против орд монстров, пытающихся эту самую оборону прорвать.
Представляю вашему вниманию перевод статьи, написанной Pablo Ruiz, и найденной мной на сайте raywenderlich.com.
В этом уроке будет показано, как создать игру Tower Defense с нуля, с помощью Cocos2D.
В процессе вы выучите следующее:
  • Как создавать волны врагов и настраивать время их появления.
  • Как заставить этих врагов двигаться по заданным точкам(waypoint'ам).
  • Как строить башни на специально отведенных местах на карте.
  • Как заставить башни стрелять во врагов.
  • Как визуально представить waypoint'ы и радиусы атак башен.

В конце урока, у вас будет свой фрэймворк для создания игр такого типа, который вы сможете расширять, добавляя новые типы врагов, башен и карт.
Для понимания этого урока, вам нужно базовое понимание Cocos2D. Если вы новичок, то можете взглянуть на более легкие уроки на сайте Рэя.
Читать дальше →

Бесплатная англоязычная книга «Programming Windows 8 Apps with HTML, CSS, and JavaScript»

Reading time1 min
Views14K

С каждым днём появляется всё больше материалов по разработке приложений для Windows 8. На прошлой неделе я уже писал о том, что стала бесплатно доступна наша книга «Разработка приложений для Windows 8 на языке C#». Многие интересовались, есть ли что-то подобное для HTML и JavaScript разработчиков?

На русском языке, к сожалению, бесплатной книги пока нет, но вы можете скачать англоязычную 834 страничную книгу «Programming Windows 8 Apps with HTML, CSS, and JavaScript»:

PDF: http://go.microsoft.com/FWLink/?Linkid=270056 (17.9 MB)
EPUB: http://go.microsoft.com/FWLink/?Linkid=272592 (37.3 MB)
MOBI: http://go.microsoft.com/FWLink/?Linkid=272591 (69.5 MB)
Читать дальше →

[Перевод] Современный веб-разработчик, или 6 вещей, которые вы должны знать, чтобы выжить

Reading time4 min
Views97K
Это статья об изменениях, которые произошли в мире веб-разработки. Я наблюдаю огромное количество веб-разработчиков, которые буквально застряли в устаревших технологиях, особенно в мире .NET. Если вы еще не начали совершенствовать свои навыки, и адаптироваться к изменяющимся трендам, вы должны начинать уже сегодня.
Читать дальше →

Когда не нужна тригонометрия

Reading time4 min
Views54K
Просматривая различный код по выводу на экран какой-нибудь даже примитивной графики, я заметил чрезмерную любовь некоторых программистов к тригонометрии. Часто код пестрит синусами, косинусами и арктангенсами там, где без них можно обойтись. Этим грешат даже хорошие программисты, которые способны спроектировать сложную систему, но почему-то не освоили вектора в объёме школьной программы. Буквально азов векторной алгебры хватает для решения многих насущных проблем. В этом топике я хочу провести краткий ликбез, напомнить основные действия с векторами на плоскости и в качестве примера решить две задачи без тригонометрии: поиск отражённого луча по падающему лучу и произвольно расположенному зеркалу, а также рисование наконечника стрелки. Если вы можете представить в голове рисование произвольно направленной стрелки без синусов и косинусов, смело пропускайте этот топик. Для остальных постараюсь объяснять попроще.
Читать дальше →

Как заставить компилятор C/C++ генерировать плохой код

Reading time4 min
Views37K
Это перевод статьи «How to trick C/C++ compilers into generating terrible code?», автор оригинала — Aater Suleman.

На курсе архитектуры ЭВМ мне сказали, что процессор похож на машину. Руль и педали — это ISA, двигатель — микроархитектура, а программа — водитель. Продолжая эту аналогию, скажу, что использование компьютера похоже на управление машиной через пульт дистанционного управления. Пульт — это клёвая вещь, но в то же время важно понимать, как он работает. Даже в профессиональном ПО я видел много примеров кода, который может смутить даже самый умный компилятор. В этой статье я расскажу об основных методах запутывания компиляторов.

Читать дальше →

Установка зашифрованной (TrueCrypt) Windows при Ubuntu по умолчанию

Reading time6 min
Views63K
Нужно: поставить на одну машину одновременно Windows и Ubuntu таким образом, чтобы нельзя было посмотреть содержимое Windows, не имея пароля. CD-ROM'а нет, USB Only.
Работа с виртуалкой из под Ubuntu не понравилась по многим причинам, основная — существенные проблемы производительности.
Решено: ставить параллельно 2 операционки (Windows & Ubuntu) таким образом, что по умолчанию грузится Ubuntu, а Windows размещается на загрузочном разделе.
Читать дальше →

История борьбы с трояном-файлошифровальщиком – поход в центр управления за ключом

Reading time7 min
Views175K

Введение


История началась с того, что в начале дня раздался звонок. Взволнованный голос клиента рассказал, что комп не загружается, документы не открываются, а вместо привычного рабочего стола на экране угрожающая надпись с приблизительным смыслом: «заплати нам деньги и мы вернем тебе рабочий стол и документы». Знакомая многим ситуация: вероятнее всего на компьютере очередной винлокер, работы по выпилу вымогателя займут максимум 10 минут.

Ради удаления винлокера за 10 минут не хотелось ехать в другой конец города, поэтому договорились о том, что системник привезут ко мне, я его приведу в порядок и верну обратно.

Получил системник, включил. Загрузился виндовс ХР. Появился рабочий стол – никаких признаков винлокера, с первого взгляда все нормально. Однако, попытавшись открыть первый попавшийся документ с рабочего стола, получил в ответ «страшное» сообщение:
Читать дальше →

Загрузка файлов на сервер в 2012 году

Reading time10 min
Views60K
В один прекрасный момент передо мной встала задача создать API для работы с файлами на клиенте и их загрузки на сервер.

Я работаю в Почте Mail.Ru, и моей прямой обязанностью является работа с JavaScript во всех его проявлениях. Прикрепление файлов к письму — одна из основных функций любой почты. Мы тут не исключение: у нас уже был Flash-загрузчик, который вполне исправно работал и долгое время нас устраивал. Однако у него был ряд недостатков. Вся верстка, графика, бизнес-логика, и даже локализация были зашиты в нем, в результате чего решение было громоздким, а внести правки мог только Flash-разработчик. В какой-то момент мы поняли, что нам необходим новый механизм. О том, как его создать, пойдет речь в этой статье.

Читать дальше →

Подходы к реализации адаптивного меню

Reading time6 min
Views57K
Когда мы начинаем работать с адаптивным дизайном, мы сталкиваемся с различными техниками того, как лучше обработать изменение нашего навигационного меню для экранов с низким разрешением. Возможности кажутся бесконечными. Поэтому, я покажу вам четыре главных подхода с их достоинствами и недостатками. Три из них сделаны с использованием только CSS и один — с небольшим количеством JavaScript.

image
Читать дальше →

Язык программирования Monkey

Reading time10 min
Views35K


Всем привет!

В этой статье я хотел бы рассказать о Monkey — языке программирования, направленного, в первую очередь, на создание кроссплатформенных 2D-игр. Этот инструмент, на мой взгляд, несколько незаслуженно обделен вниманием разработчиков и я хотел бы это исправить.

Monkey ни в коем случае не является «убийцей» Unity и других подобных инструментов. Но он может заинтересовать начинающих, а также независимых разработчиков игр, чей бюджет в значительной степени ограничен. Если мне удалось вас заинтересовать, добро пожаловать под кат.
Читать дальше →

NODE.JS + Windows: заглянем внутрь

Reading time3 min
Views21K
Статья для node.js программистов, понимающих принципы асинхронно-событийного программирования, но не знающих как это устроено изнутри. Если для вас уже недостаточно стандартной картинки с «зацикленными» кружочками и хочется хотя бы взглянуть, что же у цикла событий под капотом, то вам под кат.

Читать дальше →

Пишем вирус на c#

Reading time5 min
Views124K
Доброго времени суток читатели Хабра!
В этой статье я хотел бы поделиться опытом написания вредоносной программы на языке C# в Visual Studio. Для подтверждения своих слов я выложу пример полученного ПО для проверки.
Цели:

  • Написать вредоносную программу, которую не увидят антивирусы
  • Использовать только средства языка C#

Нам понадобится:

  1. Visual Studio 2005-2010 (я использовал 2010 Ultimate)
  2. Знания и опыт работы на языке c#
  3. Компьютер для опытов

Читать дальше →

Линейная алгебра для разработчиков игр

Reading time19 min
Views797K
Эта статья является переводом цикла из четырёх статей «Linear algebra for game developers», написанных David Rosen и посвящённых линейной алгебре и её применению в разработке игр. С оригинальными статьями можно ознакомиться тут: часть 1, часть 2, часть 3 и часть 4. Я не стал публиковать переводы отдельными топиками, а объединил все статьи в одну. Думаю, что так будет удобнее воспринимать материал и работать с ним. Итак приступим.
Читать дальше →

Разбираемся с шейдерами в Unity3D на конкретном примере

Reading time6 min
Views142K


Немного теории


Для понимания работы шейдеров, нужно хорошо ориентироваться в том, как видеокарта строит изображение. Общая структура визуализации 3D объекта на экране изображена на рисунке ниже:

Читать дальше →

Описание и валидация древовидных структур данных. JSON-Schema

Reading time6 min
Views82K

Многие сервисы и приложения (особенно веб-сервисы) принимают древовидные данные. Например, такую форму имеют данные, поступающие через JSON-PRC, JSON-REST, PHP-GET/POST. Естественно, появляется задача валидировать их структуру. Существует много вариантов решения этой задачи, начиная от нагромождения if-ов в контроллерах и заканчивая классами, реализующими валидацию по разнообразным конфигурациям. Чаще всего для решения этой задачи требуется рекурсивный валидатор, работающий со схемами данных, описанными по определённому стандарту. Одним из таких стандартов является JSON-Schema, рассмотрим его поближе.
Читать дальше →

Бесплатные VM с Windows для тестирования сайтов на старых версиях IE

Reading time1 min
Views152K
Microsoft уже несколько лет раздаёт бесплатные виртуальные машины с Windows XP, Vista и 7 для тестирования веб-сайтов на старых версиях браузера Internet Explorer.

Все образы укомплектованы соответствующей версией IE и апдейтами безопасности. Для XP установлены апдейты до октября 2012 года, для остальных — до марта 2011 года. В остальном — это чистая свежая инсталляция Windows без особенных модификаций. Образы в формате VHD можно загрузить в Microsoft Virtual PC или другой пакет виртуализации. Самораспаковывающиеся архивы RAR для удобства скачивания разбиты на части по 700 МБ.
Читать дальше →

WPF: Нестандартное окно

Reading time7 min
Views162K
На днях, после долгого перерыва, надо было поработать на WPF, и возникло желание заменить поднадоевший стандартный вид окон Windows 7 на что-нибудь более вдохновляющее, скажем в стиле Visual Studio 2012:



Читать дальше →

Надежный код при высоких нагрузках

Reading time6 min
Views38K
Когда речь идет о высоких нагрузках, как правило, в центре внимания оказываются вопросы производительности или масштабируемости кода и архитектуры.

При этом о надежности самого кода говорить как-то не принято, хотя в суровых условиях высоконагруженных проектов его качество приобретает особое значение. Вам нужен действительно «пуленепробиваемый» код, который будет работать корректно даже в случае большого количества одновременных запросов к одним и тем же данным. В этой статье представлен набор рекомендаций, которые могут помочь вам в написании такого кода.
Читать дальше →

Information

Rating
Does not participate
Date of birth
Registered
Activity