• Дизайн низкополигональных персонажей

    • Translation
    image

    Персонаж — это личность. Без истории нет индивидуальности. Каждый хороший персонаж начинается с истории, а дизайн персонажа должен рассказать эту историю.

    В своей предыдущей статье How To Make Low Poly Look Good я говорил, что главная цель низкополигонального (low poly) дизайна — донести сообщение через наименьшее количество форм.

    Это особенно справедливо, когда вы создаёте низкополигонального персонажа. Нужно рассказать историю, использовав как можно меньше форм.

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



    Я буду работать в Blender. В Maya, Max и других 3D-редакторах есть похожие инструменты, так что не беспокойтесь об этом.
    Читать дальше →
  • Двойной обман. Как ФБР использовало украинского хакера Максима Попова

    • Translation


    Холодным днём 18 января 2001 года Максим Игоревич Попов, 20-летний украинский парень, нервно толкнул двери американского посольства в Лондоне. Его можно было принять за участника программы по студенческому обмену, который пришёл получать визу, но самом деле Максим был хакером, участником восточноевропейской хакерской группы, которая атаковала американские коммерческие компании, зарабатывая на вымогательстве и фроде. Прокатившаяся волна таких атак выглядела словно предвестник нового этапа Холодной войны между США и организованными хакерскими группировками в странах бывшего советского блока. Максим Попов с детским лицом, в очках и с короткой стрижкой, собирался стать первым перебежчиком в этой войне.
    Читать дальше →
  • Простыми словами о преобразовании Фурье

    Я полагаю что все в общих чертах знают о существовании такого замечательного математического инструмента как преобразование Фурье. Однако в ВУЗах его почему-то преподают настолько плохо, что понимают как это преобразование работает и как им правильно следует пользоваться сравнительно немного людей. Между тем математика данного преобразования на удивление красива, проста и изящна. Я предлагаю всем желающим узнать немного больше о преобразовании Фурье и близкой ему теме того как аналоговые сигналы удается эффективно превращать для вычислительной обработки в цифровые.

    image (с) xkcd

    Без использования сложных формул и матлаба я постараюсь ответить на следующие вопросы:
    • FT, DTF, DTFT — в чем отличия и как совершенно разные казалось бы формулы дают столь концептуально похожие результаты?
    • Как правильно интерпретировать результаты быстрого преобразования Фурье (FFT)
    • Что делать если дан сигнал из 179 сэмплов а БПФ требует на вход последовательность по длине равную степени двойки
    • Почему при попытке получить с помощью Фурье спектр синусоиды вместо ожидаемой одиночной “палки” на графике вылезает странная загогулина и что с этим можно сделать
    • Зачем перед АЦП и после ЦАП ставят аналоговые фильтры
    • Можно ли оцифровать АЦП сигнал с частотой выше половины частоты дискретизации (школьный ответ неверен, правильный ответ — можно)
    • Как по цифровой последовательности восстанавливают исходный сигнал


    Я буду исходить из предположения что читатель понимает что такое интеграл, комплексное число (а так же его модуль и аргумент), свертка функций, плюс хотя бы “на пальцах” представляет себе что такое дельта-функция Дирака. Не знаете — не беда, прочитайте вышеприведенные ссылки. Под “произведением функций” в данном тексте я везде буду понимать “поточечное умножение”

    Итак, приступим?
  • Продвижение вашей инди-игры: самые важные нюансы, о которых никто не знает

    • Translation
    Приветствую!
    В этом материале собраны лучшие советы для начинающих разработчиков игр. Мне в работе очень помогли некоторые из этих советов, особенно те, что касаются составления имейлов для игрожуров. Материал будет интересен как тем, кто уже имеет опыт и хочет его проанализировать, так и начинающим инди-разработчикам во избежание самых распространенных клише и ошибок.


    Давным-давно разработчики инди-игр признали маркетинг ненужным и стали его практически полностью игнорировать. Зато сейчас большинство разработчиков признают его необходимость и прилагают какие-то усилия в этом направлении, однако их знаний не хватает для того, чтобы действительно как-то выделиться. В этой статье мы рассмотрим искусство маркетинга и расскажем, как вы можете использовать его для повышения узнаваемости вашей игры.


    Читать дальше →
    • +12
    • 50.6k
    • 6
  • Парадокс дней рождения для трёх человек

    Многим известен парадокс дней рождения: в группе из 23-х случайно отобранных людей вероятность того, что хотя бы двое из них имеют совпадающий день рождения, превышает 1/2.

    Проблема, которую я буду рассматривать, сформулирована в виде упражнения в книге Алгоритмы: построение и анализ:
    «Сколько нужно взять человек, чтобы с той же вероятностью 1/2 встретить хотя бы трёх с совпадающим днём рождения.»

    Читать дальше →
  • Базовые алгоритмы нахождения кратчайших путей во взвешенных графах

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

    Сформулируем определения и задачу.
    Графом будем называть несколько точек (вершин), некоторые пары которых соединены отрезками (рёбрами). Граф связный, если от каждой вершины можно дойти до любой другой по этим отрезкам. Циклом назовём какой-то путь по рёбрам графа, начинающегося и заканчивающегося в одной и той же вершине. И ещё граф называется взвешенным, если каждому ребру соответствует какое-то число (вес). Не может быть двух рёбер, соединяющих одни и те же вершины.
    Каждый из алгоритмов будет решать какую-то задачу о кратчайших путях на взвешенном связном. Кратчайший путь из одной вершины в другую — это такой путь по рёбрам, что сумма весов рёбер, по которым мы прошли будет минимальна.
    Для ясности приведу пример такой задачи в реальной жизни. Пусть, в стране есть несколько городов и дорог, соединяющих эти города. При этом у каждой дороги есть длина. Вы хотите попасть из одного города в другой, проехав как можно меньший путь.
    Читать дальше →
  • .NET/Mono в Java? Легко!

      Здравствуйте. Хочу представить свой проект – компилятор .NET/Mono в Java. Целью проекта является создание компилятора, и набора стандартных библиотек позволяющих переносить написанные приложения и библиотеки на платформу Java, версии 1.6 и выше. Из аналогичных проектов мне известен лишь проект dot42. Но он заточен под Android и имеет собственную стандартную библиотеку не совсем совместимую с .NET/Mono.

      Пока есть только альфа версия, и поэтому для реального использования компилятор пока не годится, однако уже частично работоспособен, генерирует валидный код Java и поддерживает часть стандарта ECMA-335.

      Исходные коды на github.com: https://github.com/zebraxxl/CIL2Java

      Подробнее о том, что не поддерживается, что поддерживается и как это все работает.
    • LÖVE + Android + AdMob = дружба

      Однажды возникло желание изучить для своих скромных нужд Lua. Но просто прочесть спецификации и примеры не интересно, и давно была мысль написать свою логическую игру под Android, начались поиски подходящего фреймворка для комфортной работы.
      Читать дальше →
      • +10
      • 10.9k
      • 5
    • Pyxel Edit: пиксельарт тайлсет редактор

        image
        http://pyxeledit.com/

        image

        Когда я полгода или чуть больше назад решил ради разнообразия попробовать Flixel и сделать свой платформер, то меня сначало удивило, а потом начало злить отсутствие нормального редактора тайлов. С платформером и флешем я уже наигрался, но наткнувшись на бету не могу не поделиться с хабрасообществом.
        Пара роликов c использованием под катом.
        Читать дальше →