• Cocos2d-x: Пишем на Lua

    • Tutorial


    Доброго времени суток.
    Начнем с того, что я не нашел на хабре туториалов по Cocos2d и Lua, поэтому мне пришлось много страдать и чтобы вы не повторяли моих ошибок я решил написать пост. В этой статье я расскажу как создать простую игру используя Сocos2d-x, Cocos Code IDE и Lua. Ранее, я уже писал про создание игр на Love2d. В этой статье я адаптирую старый туториал для кокоса и как это запустить на андроиде (Ни яблока, ни мака у меня нет).
    Читать дальше →
  • Приглашаем на Lua Workshop 2014

      13 и 14 сентября (суббота и воскресенье) в Москве, в офисе Mail.Ru Group пройдёт крупнейшая ежегодная конференция, посвящённая языку программирования Lua — Lua Workshop 2014. Эта международная англоязычная конференция проводится в этом году в 9-й раз. В 2012 году она проходила в Рестоне (США), в 2013 — в Тулузе (Франция), ну а в этом году конференция приезжает в Москву.

      Если вы пишете на Lua, вопрос посещать или не посещать конференцию не возникнет: когда ещё будет возможность вживую пообщаться с создателем языка и автором «Programming in Lua» Роберто Иерусалимским? Да и просто (бесплатно!) поучаствовать в конференции, узнать больше о вашем языке программирования из первых рук.
      Читать дальше →
    • Эволюция языка расширений: история Lua

      • Перевод
      от пер. Исходный материал датируется 2001 годом, так что некоторые моменты могут показаться забавными. Так же все отсылки на «сегодня», «в настоящий момент» и т.п. относятся к тому периоду.
      Изложение ведется от лица автора, как и в оригинале.
      Все ссылки добавлены мною.


      Изложение организовано в хронологическом порядке. Мы начнем с наших экспериментов, легших в основу создания Lua в 1993, и пройдемся через восемь лет обсуждений, решений, работы и развлечений.
      Читать дальше →
      • +39
      • 17,8k
      • 8
    • LUA в nginx: лапшакод в стиле inline php


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

        Думаю, что все разработчики на PHP (включая меня) так или иначе проходили через период, когда код представляет из себя жуткую смесь html и php, напиханных в одном файле. И речь не о шаблонах, а вообще о всей логике в лапше/спагетти-коде.
        И в качестве концепта я решил к первому апреля набросать реализацию чего-то подобного, но на lua под nginx. Прямо как на картинке.
        Читать дальше →
      • LUA в nginx: горячий кеш в памяти


          Решил пополнить копилку статей на Хабре про такой замечательный ЯП, как lua, парой примеров его использования под капотом nginx. Разбил на два независимых поста, второй тут.

          В этом посте nginx используется как «горячий кеш» неких постоянно пополняемых данных, запрашиваемых клиентами по интервалу с опциональным группированием (некий аналог BETWEEN и GROUP BY/AGGREGATE из SQL). Подгрузка данных в кеш осуществляется самим же lua+nginx из Redis. Исходные данные в Redis складываются ежесекундно, а клиенты хотят их от сих до сих (интервал в секундах, минутах, часах...) с агрегацией по N (1<=N<=3600) секунд, отсортированные по дате и в json формате.
          С хорошим hitrate на имеющейся машине получается обеспечить 110-130к «хотелок» в секунду, правда с плохим — только 20-30к. Что, в общем-то, тоже приемлемо для нас на одной инстанции nginx.
          Читать дальше →
          • +58
          • 23,5k
          • 3
        • AdBlock похитил этот баннер, но баннеры не зубы — отрастут

          Подробнее
          Реклама
        • LUA в nginx: слегка интеллектуальный firewall


            Данный пост является продолжением применения lua в nginx.

            Там обсуждалось кеширование в памяти, а тут lua будет использоваться для фильтрации входящих запросов в качестве этакого фаервола на nginx-балансере. Нечто подобное было у 2GIS. У нас свой велосипед :) В котором разделяем динамику и статику, стараемся учесть NAT и белый список. И, конечно же, всегда можно навернуть еще специфичной логики, что не выйдет при использовании готовых модулей.
            Данная схема сейчас спокойно и ненапряжно (практически не сказывается на использовании cpu) обрабатывает порядка 1200 запросов/сек. На предельные величины не тестировалось. Пожалуй, к счастью :)
            Читать дальше →
          • Что такое скрипты и с чем их едят — Lua & C++

            • Tutorial
            Добрый день, Хабрахабр!
            Решил написать этот топик на тему скриптов

            Что нужно знать?


            • С++ на приличном уровне (в уроке будут шаблоны — template)
            • Lua, очень легкий скриптовый язык. Советую этот урок.

            Почему писать диалоги игры в .cpp файле было большой ошибкой


            Если вы разрабатывали большие проекты (к примеру, масштабные игры), замечали, что с каждой новой сотней строк кода компиляция идет медленней?
            В игре создается больше оружия, больше диалогов, больше меню, больше etc.
            Одна из самых главных проблем, возникающих в связи с нововведениями — поддерживать бессчетное множество оружия и бейджиков довольно сложное занятие.
            В ситуации, когда просьба друга/босса/напарника изменить диалог или добавить новый вид оружия занимает слишком много времени, приходится прибегать к каким-то мерам — например, записи всей этой фигни в отдельные текстовые файлы.
            Почти каждый геймдевелопер когда-нибудь делал карту уровней или диалоги в отдельном текстовом файле и потом их считывал. Взять хотя бы простейший вариант — олимпиадные задачи по информатике с файлом ввода

            Но есть способ, на голову выше — использование скриптов.

            Читать дальше →
          • Использование Lua и C++ для обработки и хранения данных

            Код статьи можно посмотреть здесь.
            Чем так хорош Lua?

            Когда-то я разрабатывал свою игру и задался вопросом: а какой формат данных лучше использовать для конфигурационных файлов?
            Ведь удобно, когда создаёшь какой-либо объект, задавать различные начальные параметры не в самом коде, а в отдельных файлах. Это позволяет изменять некоторые параметры объектов без рекомпиляции, да и вообще даёт возможность менять их людям далёким от программирования.
            Разработчики используют разные форматы: одни используют JSON, другие — XML, либо другие форматы данных. Ну а некоторые вообще хранят данные в .txt файлах или пишут свои парсеры. После рассмотрения различных форматов я остановился на Lua.

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

            Вот, что выделяет Lua на фоне других форматов:
            • Lua легко использовать без дополнительных зависимостей (кроме одной библиотеки Lua и трёх .h файлов).
            • В Lua файлах данные можно инициализировать с помощью математических выражений или функций, написанных на Lua. Например:
              some_variable = math.sqrt(2) * 2
              some_variable2 = 64 * 16 - 32
              

            • Lua — очень быстрый язык, который к тому же не занимает много памяти.
            • У Lua лицензия MIT, которая позволяет использовать этот язык как в бесплатных, так и в коммерческих проектах, причём без всякой возни с бумагами. Как написано на сайте: «просто скачайте и пользуйтесь».
            • Lua комплируется практически везде, т.к. он написан на чистом C без использования дополнительных библиотек.
            • Данные можно хранить и сортировать в приятном глазу виде. Их легко читать и модифицировать в любом текстовом редакторе.

            Начнём с простого примера, а затем я перейду к реализации класса.
            Читать дальше →
          • Создание несложного бота для WoW, программирование маршрутов

            Введение


            Прочитал недавно пост, в котором автор рассказал о своём боте для торговли на аукционе в игре World of Warcraft. Его персонаж бегал челноком на небольшие расстояния и выполнял конкретные действия, строго заданные в управляющей программе. Воспользовавшись его идеями, я решил пойти немного дальше: пусть персонаж будет способен бегать по маршруту длительностью хотя бы пять минут, при этом должна быть возможность записывать маршрут и выполняемые действия извне, не прибегая к изменению самой программы управления. Описанное мной является развитием поста-оригинала, тем не менее я постарался, чтобы его чтение не было обязательным.
            В посте я опишу
            1. Процесс создания тривиального аддона для пользовательского интерфейса WoW на языке Lua
              • Сериализация данных для передачи между частями системы
              • Передача с помощью цвета пикселей
            2. Процесс управления персонажем на языке AutoIt
              • Программа для записи выполняемых действий
              • Программа для воспроизведения
              • Мат.расчеты направления перемещения
              • Почему не стоит прибегать к чтению/записи памяти процесса
            3. Программа управления (ро)ботом с командами, понятными непрограммисту

            Читать дальше →
          Самое читаемое