• Пишем игровую логику на C#. Часть 2/2

    • Tutorial
    Это продолжение предыдущей статьи. Мы шаг за шагом создаем движок, на котором будет работать игровая логика нашей экономической стратегии. Если вы видите это впервые — настоятельно рекомендую начать с Части 1, так как это зависимое продолжение и требует ее контекста.

    Как и раньше — внизу статьи вы можете найти полный код на ГитХаб и ссылку на бесплатное скачивание.



    Читать дальше →
  • Пишем игровую логику на C#. Часть 1/2

    • Tutorial
    Всем привет. В связи с выходом моей игры SpaceLab на GreenLight я решил начать серию статей о разработке игры на C#/Unity. Она будет основываться на реальном опыте её разработки и немного отличаться от стандартных гайдов для новичков:

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




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

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

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

    Кого заинтересовало узнать, что за игра — внизу есть видео и ссылка на бесплатное скачивание.
    Читать дальше →
  • Пользовательские плагины в JavaScript играх

      Wargaming сейчас разрабатывает тактическую карточную игру WoT: Generals. Веб-версия написана на JS, используются LibCanvas и AtomJS. Я принимал непосредственное участие в разработке и хочу рассказать про функционал, который мне кажется интересным и может быть полезным во всех веб-играх. А именно — о системе плагинов игры, которая вдохновлялась пакетными менеджерами в Linux и имеет следующие возможности:

      — История изменений плагинов
      — Автоматическое обновление плагина при обновлении версии игры
      — Разработка плагинов на localhost
      — Неограниченное количество веток, например, для нестабильных версий
      — Зависимости (плагин А автоматически подключает плагин Б)
      — Встроенная возможность делать паки (следствие предыдущего пункта)
      — Легкое изменение любой части клиента игры
      — Полный административный контроль авторов игры над всеми плагинами
      — Поиск по базе плагинов
      — При этом простая установка юзером и удобная работа для плагинописцев.
      Читать дальше →
    • Изометрический сапёр на LibCanvas (html5)

      • Tutorial

      Этот топик будет отличаться от предыдущего топика Классический сапёр на html5 и LibCanvas. Его даже, скорее, можно назвать продолжением. И первая часть содержала пошаговую и детальную инструкцию, как заставить работать игрушку, то в этой части будет пару интересных приёмов, как её «оказуалить».

      Играть в изометрический «Сапёр»






      Если вы новичок в этом деле, то стоит начинать с первой части. Для тех, кто хочет углубляться я рассмотрю следующие темы на примере изометрического сапёра, построеного на базе LibCanvas:

      • Изометрическая проекция
      • Оптимизация скорости отрисовки через грязный хак
      • Спрайтовые анимации
      • Draggable слои
      • Оптимизация обработчика мыши согласно особенностей приложения

      Читать дальше →
    • Классический сапёр на html5 и LibCanvas

      • Tutorial


      В этой статье я пошагово расскажу, как писать самый обычный, классический сапёр при помощи Html5 Canvas, AtomJS, и тайлового движка LibCanvas.

      А также смотрите продолжение — "Изометрический сапёр на LibCanvas (html5)"

      Читать дальше →
    • Солнечная система на LibCanvas



        Вчера был отличный топик, "История одного хабраспора", о создании «галактики» на HTML5 Canvas, который сам по себе да своими комментариями вдохновил меня на ответный код. Думал, до окончания документации, не писать новых вещей на Хабру, но, как видите, сорвался) Спасибо kibizoidus за это.

        В топике вы увидите описание процесс создания звёздной системы на последней версии LibCanvas. Быстро, оптимизированно, кратко.
        Читать дальше →
      • ЗdMax: создаём клип с космическими сценами

          ЗdMax: создаём клип с космическими сценами
          Привет всем! С наступающим днём космонавтики!

          Мы написали песню на космическую тему и сняли клип (не коммерческий, с нулевым бюджетом). Всё было сделано не выходя из дома, на домашнем оборудовании и это доступно каждому, кто владеет ЗdMax'ом.

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



          Если будет интерес – мы опишем и другие подходы, которые мы использовали во время его создания.

          Под хабракатом – много текста, картинок и несколько видео.
          Читать дальше →
        • Flash vs JavaScript, V8 Benchmark Suite

            iq12 (что примечательно, это студия, которая профессионально занимается разработкой при помощи Flash) портировали на Flash V8 Benchmark Suite — набор тестов предназначенный для определения скорости исполнения JavaScript в разных средах. Основной целью этого было сравнить скорость исполнения Flash vs JavaScript (вычислений, но не отрисовки). И, в итоге, они получили очень интересные результаты — за последние два года все популярные JavaScript-движки обогнали Flash по скорости вычислений:


            Читать дальше →
          • Основы LibCanvas — практика



              Это продолжение статьи про основы LibCanvas. Если первая часть затрагивала теоретические засады, то в этой части мы перейдём к практике и постараемся реализовать совсем базовые и простые вещи. Цель статьи — осилить самые основы LibCanvas, мы напишем очень простые скрипты, малопригодные для использования в реальной жизни, но вы их можете развить во что-то великое.

              Читать дальше →
            • Основы LibCanvas — теория



                Добрый день. Один из самых частых вопросов про LibCanvas сейчас — «С чего начать?». Согласен, порог вхождения в эту библиотеку чуть выше, чем в более простые canvas-библиотеки, потому в этом топике я раскрою основы LibCanvas — базовые понятия и принципы, отрисовка примитивных фигур, события мыши, клавиатуры, анимация, расширенный контекст, поведения. Постараюсь описать всё это с множеством примеров и максимально доступным языком.

                Надеюсь, статья даст ответы на вопросы: Что такое LibCanvas? Зачем он нужен и какие его преимущества? С чего начать?

                В этой статье будет только теория, а как применить эти знания на практике раскрыто в следующей статье
                Читать дальше →