В Lua ООП нет. И оно, в общем-то и не нужно: удобной модульности и функций первого класса достаточно для реализации многих вещей. На этом можно было бы и закончить, но пост не про это. В данном случае я распишу работу с метатаблицами, где в качестве примера шаг за шагом будет реализовываться системка по работе с классами в несколько таком python-стиле. Для понимания нужен хотя бы основной базис языка: таблицы, upvalues.
Метка «lua»
Возможности метатаблиц в Lua на примере реализации классов
2014-06-29 в 10:57, admin, рубрики: Lua, метки: lua, оопМосковская встреча по Corona SDK в это воскресенье
2014-06-13 в 14:37, admin, рубрики: corona sdk, Lua, meetup, moscow, Разработка под android, разработка под iOS, метки: corona sdk, lua, meetup, moscow
Приглашаю на неформальную встречу разработчиков, использующих Corona SDK.
Будем знакомиться, делиться опытом, показывать свои проекты и просто весело проводить время!
С собой приносите вопросы и свои проекты на телефонах/планшетах или компьютерах.
Встреча состоится в воскресенье 15 числа во второй половине дня.
Регистрация по ссылке
docs.google.com/forms/d/1N6MynGgM24sMSTbobCXgIhPyCkWHkgonJx4bFcWcQrA/viewform?usp=send_form
Точное время и место проведения будет выслано на email.
LUA в nginx: лапшакод в стиле inline php
2014-03-31 в 22:26, admin, рубрики: Lua, nginx, лапша, ненормальное программирование, спагетти-код, метки: lua, nginx, лапша, спагетти-код
Не стоит воспринимать данный пост всерьез. Несмотря на то, что это работает, в текущем виде данное решение является исключительно забавным концептом и не более того. Так же пост ни в коей мере не является усмешкой над php, который является одним из основных моих рабочих инструментов.
Думаю, что все разработчики на PHP (включая меня) так или иначе проходили через период, когда код представляет из себя жуткую смесь html и php, напиханных в одном файле. И речь не о шаблонах, а вообще о всей логике в лапше/спагетти-коде.
И в качестве концепта я решил к первому апреля набросать реализацию чего-то подобного, но на lua под nginx. Прямо как на картинке.
Читать полностью »
Moai SDK 1.5 — кроссплатформенный 2д игровой движок
2014-03-31 в 7:54, admin, рубрики: android, game development, game engine, iOS, Lua, moai sdk, mobile development, метки: android, game engine, iOS, lua, moai sdk
Сегодня я хочу рассказать об одном малоизвестном игровом движке, который мы используем уже год для кроссплатформенной разработки мобильных игр. Для 2д он нас полностью устраивает, а единственным конкурентом может быть только Unity3d из-за своего редактора. Отсутствие должного внимания к MOAI SDK, очевидно, связано с высоким порогом входа — сами разработчики (Zipline Games) позиционируют свой продукт как «The mobile platform for pro game developers», хотя разобравшись с установкой и настройкой окружения можно очень быстро и просто клепать игры на Lua.
Читать полностью »
Подсчет статистики загрузок в Google Analytics
2014-03-11 в 4:19, admin, рубрики: Lua, nginx, метки: lua, nginx
Продолжая тему использования связки Nginx + Lua решил поделиться небольшой инструкцией подсчета загрузки статических данных и учетом всего этого в Google Analytics.
Читать полностью »
LUA в nginx: горячий кеш в памяти
2014-03-10 в 11:34, admin, рубрики: cache, Lua, nginx, redis, Серверная оптимизация, метки: cache, lua, nginx, redis
Решил пополнить копилку статей на Хабре про такой замечательный ЯП, как lua, парой примеров его использования под капотом nginx. Разбил на два независимых поста, второй тут.
В этом посте nginx используется как «горячий кеш» неких постоянно пополняемых данных, запрашиваемых клиентами по интервалу с опциональным группированием (некий аналог BETWEEN и GROUP BY/AGGREGATE из SQL). Подгрузка данных в кеш осуществляется самим же lua+nginx из Redis. Исходные данные в Redis складываются ежесекундно, а клиенты хотят их от сих до сих (интервал в секундах, минутах, часах...) с агрегацией по N (1<=N<=3600) секунд, отсортированные по дате и в json формате.
С хорошим hitrate на имеющейся машине получается обеспечить 110-130к «хотелок» в секунду, правда с плохим — только 20-30к. Что, в общем-то, тоже приемлемо для нас на одной инстанции nginx.
Читать полностью »
Использование Lua скриптов в .NET с LuaInterface
2014-01-28 в 16:34, admin, рубрики: clr, csharp, game development, Lua, метки: clr, csharp, luaПривет!
Этот небольшой пост родился после того, как я решил узнать, как можно запускать скрипты Lua совместно с игрой на C# (либо на другом .NET-языке). с использованием библиотеки LuaInterface. Я был впечатлен легкостью этого интерфейса по сравнению с lua.h на C++
Что нужно знать
C# на приличном уровне, иметь понятие об основах программирования, а также о подключении ссылок в проекте на Visual Studio
Разработка одной игры — новый заход, Ч2
2014-01-23 в 13:59, admin, рубрики: cross-platform development, game development, Lua, mobile development, метки: cross-platform development, game development, lua Вот и пришло время продолжить рассказ об увлекательном хобби — геймдеве — разработке казуальных игр.
Ранее в статье я рассказал о первой своей игре под Андроид — «Draw and ride», которая подтолкнула меня пересмотреть подход в этапах создания и продвижения мобильного приложения. Сегодня я хочу поделится тем, к чему же я все-таки пришел после своего первого опыта и рассказать о создании новой, кросспалтформенной игры под Android и iOs, так же по дороге была сделана html5 и Tizen версия, но обо всем по порядку…
Читать полностью »
Делаем звонок в один клик
2014-01-14 в 8:07, admin, рубрики: json, Lua, push notifications, push-уведомления, XML, Блог компании 2ГИС, разработка, метки: 2ГИС, json, lua, push notifications, push-уведомления, XML«Звонок в один клик» или Push2Dial (P2D) — ещё одна функция, которая была анонсирована с новым 2ГИС. Суть проста — выбираете организацию, кликаете на номер телефона — и он готов к набору на вашем смартфоне.
Фича избавляет от необходимости самостоятельно набирать номер телефона, а значит шансы ошибиться и попасть не туда стремятся к нулю.
Простой publish-subscribe для мультиплеера на CoronaSDK, Gideros, Moai
2014-01-09 в 13:53, admin, рубрики: game development, Gamedev, Lua, node.js, socket, метки: Gamedev, lua, node.js, socketОднажды с коллегой столкнулись с проблемой реализации рилтайм мультиплеера на CoronaSDK. Сначала попробовали сервис pubnub.com, но со временем поняли, что не устраивает их latency (у них все через http) и цены. Не найдя ничего получше, решили на скорую руку создать на Node.js свой велосипед (или скорее самокат, потому как весь серверный код умещается в 90 строк с комментариями).
Назвали в шутку NoobHub. Распространяется под лицензией WTFPL.
Читать полностью »