Метка «lua» - 2

Привет. Во время использования awesome-wm (легкий тайлинговый оконный менеджер), даже когда всё нужное, казалось бы, уже настроено, всё равно замечаешь, что чего-то таки не хватает. Не может радовать то, что в большинстве случаев готового решения нету. Cлава б-гу, разработчики позаботились о хорошей документации и прокомментированному коду, что позволяет в короткие сроки дописать то, что тебе нужно. Горячие клавиши, управление окнами, собственные виджеты, даже создание собственных layout'ов — всё это делается проще, чем может сперва показаться. Но в ситуации с виджетами, как оказалось, не всё так гладко, как хотелось бы. Можно заметить, что добавив пару-тройку, обновляющихся посредством сети, либо просто занимающих сравнительно большое время на обновление информации, на панель, ваш awesome стал тормозить с реакцией на нажатие клавиш, кнопок мыши и всего прочего. Становится очевидно, что уже по менее очевидным причинам обработка событий находится в одном потоке с обновлением виджетов.
Читать полностью »

Продолжаем изучать Love2d
В предыдущем посте я рассказал как рисовать картинки и, вроде как, объяснил, что к чему в love2d. Сегодня я решил написать змейку, всем, кому интересно, прошу под кат.Читать полностью »

Доброе утро!

Если вы еще не в курсе, спешим сообщить, что у разработчиков приложений для Tizen есть уникальная возможность получить лицензию на Marmalade SDK сроком на полгода от компании партнёра Tizen Association Marmalade Technologies Ltd, а также возможность получить денежное вознаграждение от appbackr.

Специальное предложение от Marmalade Technologies Ltd для разработчиков Tizen приложений
Читать полностью »

Компания Ciklum с продолжает ряд открытых мероприятий под названием Speakers’ Corner на которых, за короткое время можно узнать массу полезной информации и пообщаться с единомышленниками в неформальной обстановке.
На этот раз 16го декабря мы приглашаем всех желающих расширить свои гоизонты и погрузиться в мир Lua, получить краткий обзор и узнать о его возможностях.
Проливать луч света на Lua и открывать новые горизонты будет Владимир Безобюк (Senior Linux Developer, IntroPro).
image
Читать полностью »

Что же такое Love2d и о чем этот пост? Это кроссплатформенный фреймворк для разработки 2d игр. Почему именно love2d? Потому что это бесплатный, легкий, кроссплатформенный, с открытым исходным кодом, а главное сделанный с любовью движок.
Любовь в пикселях или что такое Love2d
Читать полностью »

Задумывались ли вы когда-нибудь над тем, как могли бы выглядеть ваши любимые игры времён 90-х, если бы среди кнопок джойстика была кнопка «Zoom out»? Как заядлого любителя (и ассистирующего спидраннера) игр Sonic the Hedgehog и их современных модификаций-хаков, меня однажды заинтересовала эта тема. Подробности под катом.

Читать полностью »

Для обеспечения работы всех наших внешних продуктов мы используем популярный nginx. Это быстро и это надежно. Проблем с ним почти нет. Наши продукты также постоянно развиваются, появляются новые сервисы, добавляется новый функционал, расширяется старый. Аудитория и нагрузка только растет. Сейчас мы хотим рассказать о том, как мы ускорили разработку, неплохо увеличили производительность и упростили добавление в наши сервисы этого нового функционала, при этом сохранив доступность и отказоустойчивость затронутых приложений. Речь пойдет о концепции “nginx as web application”.
А именно, о сторонних модулях (в основном LUA), позволяющих делать совершенно магические вещи быстро и надежно.
image
Читать полностью »

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

Что такое скрипты и с чем их едят — Lua & C++

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

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

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

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

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

Читать полностью »

Код статьи можно посмотреть здесь.

Чем так хорош 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 без использования дополнительных библиотек.
  • Данные можно хранить и сортировать в приятном глазу виде. Их легко читать и модифицировать в любом текстовом редакторе.

Начнём с простого примера, а затем я перейду к реализации класса.
Читать полностью »

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

Определение веса значимости пользователей по отношению друг к другу на основании их действий (Tarantool+Lua)

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

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js