SlideShare a Scribd company logo
1 of 15
Cел и быстро написал
кроссплатформенную игру!
@SergeyLerg
http://spiralcodestudio.com
История
●
Основан в 1993
●
Создатель Роберто Иерусалимский
●
Получает известность в 1996
●
Используется в играх
Lua
●
Скриптовый язык
●
Простота как одна из основных целей
●
В том числе малый размер
●
Язык для людей, не инженеров
●
“Как можно проще, но не проще”
●
Динамически типизированный
●
Переносимый
●
Весь язык - библиотека на C
Использование Lua
●
Игры
●
Встраиваемые устройства
●
Камеры (Canon), клавиатуры (Logitech), принтеры (Olivetty &
Oce), микроконтроллеры
●
Встраивание в другие приложения
●
Wireshark, nginx, nmap, вирусы, Photoshop, Lightroom
Типы данных
●
number (doubles & integers)
●
string
●
boolean
●
nil
●
table (associative array)
●
function
●
userdata
●
thread
Факториал
function fact(n)
local f = 1
for i = 2, n do
f = f * i
end
return f
end
Table
array = {1, 23, 56, “yay”, -3.14, {“wat”}, 69}
array[1] == 1, array[2] == 23, array[0] == nil
dict = {name = “Sergey”, age = 29, isHandsome = true}
dict.name == “Sergey”
dict[“age”] == 29
map2d = {{1, 2}, {3, 4}}
map2d[1][2] == 2
set = {}
set[object1] =
true
set[object2] =
true
Table
object = {}
object.name = “Enemy”
object.damage = 20
function object:attack(player)
player:hit(self.damage)
end
Table - metatable
Vector = {}
Vector.__index = Vector
function Vector.__add(a, b)
return Vector.new(a.x + b.x, a.y + b.y)
end
function Vector.new(x, y)
return setmetatable({x = x or 0, y = y or 0}, Vector)
end
setmetatable(Vector, {
__call = function(_, ...)
return Vector.new(...)
end
})
Синтаксический сахар
t.prop ⇒ t[“prop”]
function f() end ⇒ f = function() end
object:method(arg) ⇒ object.method(self, arg)
method({1, 2, 3}) ⇒ method{1, 2, 3}
Corona SDK
●
Android, iOS, Windows Phone, Windows, OS X
●
Разработка на Windows и OS X
●
Только 2D (2.5D)
●
Lua
●
Быстрый и удобный симулятор
●
Без запуска Xcode
Corona SDK
●
Ядро на С++ и OpenGL
●
Objective-C и Java обёртки
●
Lua только на высоком уровне
Быстрая разработка
●
Одновременная разработка для iOS и Android
●
Быстрая разработка
●
Симулятор
●
Компиляция
●
Нерушимость
●
Мини фреймворк
Время Программировать!
Спасибо
@SergeyLerg
spiralcodestudio.com
spiralcodestudio@gmail.com
Lua
lua.org
Corona SDK
coronalabs.com
github.com/coronalabs-samples
Learn Lua in 15 minutes
tylerneylon.com/a/learn-lua/

More Related Content

Similar to Stop whining and make a cross-platform game already!

To Go или не to Go
To Go или не to GoTo Go или не to Go
To Go или не to GoIvan Zezyulya
 
игровая логика, проблемы и решения
игровая логика, проблемы и решенияигровая логика, проблемы и решения
игровая логика, проблемы и решенияВладимир Кожаев
 
Опыт работы с LuaJIT в нагруженных интернет-проектах / Александр Гладыш (Logi...
Опыт работы с LuaJIT в нагруженных интернет-проектах / Александр Гладыш (Logi...Опыт работы с LuaJIT в нагруженных интернет-проектах / Александр Гладыш (Logi...
Опыт работы с LuaJIT в нагруженных интернет-проектах / Александр Гладыш (Logi...Ontico
 
Scripting languages
Scripting languagesScripting languages
Scripting languagesLev Panov
 
Qasimli aysel 9 r2 klassifikasiya proqrammnoqo obespeceniya
Qasimli aysel 9 r2  klassifikasiya proqrammnoqo obespeceniyaQasimli aysel 9 r2  klassifikasiya proqrammnoqo obespeceniya
Qasimli aysel 9 r2 klassifikasiya proqrammnoqo obespeceniyaaysel9r2
 
Qasimli Aysel 9r2
Qasimli Aysel 9r2  Qasimli Aysel 9r2
Qasimli Aysel 9r2 aysel9r2
 
Alexandr Serbul "The Rust language for a high-load network service - a quick ...
Alexandr Serbul "The Rust language for a high-load network service - a quick ...Alexandr Serbul "The Rust language for a high-load network service - a quick ...
Alexandr Serbul "The Rust language for a high-load network service - a quick ...Fwdays
 
Как сделать веб-карту, сохранить здоровье и возненавидеть IE
Как сделать веб-карту, сохранить здоровье и возненавидеть IEКак сделать веб-карту, сохранить здоровье и возненавидеть IE
Как сделать веб-карту, сохранить здоровье и возненавидеть IEАртём Кудзев
 
Orxan9r2 klassifikasiya programmnoqo_obespeceniya
Orxan9r2 klassifikasiya programmnoqo_obespeceniyaOrxan9r2 klassifikasiya programmnoqo_obespeceniya
Orxan9r2 klassifikasiya programmnoqo_obespeceniyaorxan9r2
 
Переносные компьютеры
Переносные компьютеры Переносные компьютеры
Переносные компьютеры galinalugovskaya
 
Введение в Python и Django
Введение в Python и DjangoВведение в Python и Django
Введение в Python и DjangoTaras Lyapun
 
SECON'2016. Чубарь Алексей, Мобильные грабли Unity
SECON'2016. Чубарь Алексей, Мобильные грабли UnitySECON'2016. Чубарь Алексей, Мобильные грабли Unity
SECON'2016. Чубарь Алексей, Мобильные грабли UnitySECON
 
Wargaming.net: Архитектура современных 3D движков
Wargaming.net: Архитектура современных 3D движковWargaming.net: Архитектура современных 3D движков
Wargaming.net: Архитектура современных 3D движковDevGAMM Conference
 
Go для python-программистов
Go для python-программистовGo для python-программистов
Go для python-программистовKonstantin Cherkasov
 
HappyDev-lite-2016-весна 04 Анна Тарасенко. На каких языках говорят программисты
HappyDev-lite-2016-весна 04 Анна Тарасенко. На каких языках говорят программистыHappyDev-lite-2016-весна 04 Анна Тарасенко. На каких языках говорят программисты
HappyDev-lite-2016-весна 04 Анна Тарасенко. На каких языках говорят программистыHappyDev-lite
 
Не превращайте ваши логи в клинопись
Не превращайте ваши логи в клинописьНе превращайте ваши логи в клинопись
Не превращайте ваши логи в клинописьAndrey Rebrov
 

Similar to Stop whining and make a cross-platform game already! (20)

To Go или не to Go
To Go или не to GoTo Go или не to Go
To Go или не to Go
 
ОПК № 1 – Вводная
ОПК № 1 – ВводнаяОПК № 1 – Вводная
ОПК № 1 – Вводная
 
игровая логика, проблемы и решения
игровая логика, проблемы и решенияигровая логика, проблемы и решения
игровая логика, проблемы и решения
 
Опыт работы с LuaJIT в нагруженных интернет-проектах / Александр Гладыш (Logi...
Опыт работы с LuaJIT в нагруженных интернет-проектах / Александр Гладыш (Logi...Опыт работы с LuaJIT в нагруженных интернет-проектах / Александр Гладыш (Logi...
Опыт работы с LuaJIT в нагруженных интернет-проектах / Александр Гладыш (Logi...
 
Kranonit s16 (python). sergey burma
Kranonit s16 (python). sergey burmaKranonit s16 (python). sergey burma
Kranonit s16 (python). sergey burma
 
Scripting languages
Scripting languagesScripting languages
Scripting languages
 
Qasimli aysel 9 r2 klassifikasiya proqrammnoqo obespeceniya
Qasimli aysel 9 r2  klassifikasiya proqrammnoqo obespeceniyaQasimli aysel 9 r2  klassifikasiya proqrammnoqo obespeceniya
Qasimli aysel 9 r2 klassifikasiya proqrammnoqo obespeceniya
 
Qasimli Aysel 9r2
Qasimli Aysel 9r2  Qasimli Aysel 9r2
Qasimli Aysel 9r2
 
Alexandr Serbul "The Rust language for a high-load network service - a quick ...
Alexandr Serbul "The Rust language for a high-load network service - a quick ...Alexandr Serbul "The Rust language for a high-load network service - a quick ...
Alexandr Serbul "The Rust language for a high-load network service - a quick ...
 
Как сделать веб-карту, сохранить здоровье и возненавидеть IE
Как сделать веб-карту, сохранить здоровье и возненавидеть IEКак сделать веб-карту, сохранить здоровье и возненавидеть IE
Как сделать веб-карту, сохранить здоровье и возненавидеть IE
 
Orxan9r2 klassifikasiya programmnoqo_obespeceniya
Orxan9r2 klassifikasiya programmnoqo_obespeceniyaOrxan9r2 klassifikasiya programmnoqo_obespeceniya
Orxan9r2 klassifikasiya programmnoqo_obespeceniya
 
Переносные компьютеры
Переносные компьютеры Переносные компьютеры
Переносные компьютеры
 
Golang
GolangGolang
Golang
 
Введение в Python и Django
Введение в Python и DjangoВведение в Python и Django
Введение в Python и Django
 
SECON'2016. Чубарь Алексей, Мобильные грабли Unity
SECON'2016. Чубарь Алексей, Мобильные грабли UnitySECON'2016. Чубарь Алексей, Мобильные грабли Unity
SECON'2016. Чубарь Алексей, Мобильные грабли Unity
 
Wargaming.net: Архитектура современных 3D движков
Wargaming.net: Архитектура современных 3D движковWargaming.net: Архитектура современных 3D движков
Wargaming.net: Архитектура современных 3D движков
 
Go для python-программистов
Go для python-программистовGo для python-программистов
Go для python-программистов
 
Kirill Zolovkin, OctoBox Interactive
Kirill Zolovkin, OctoBox InteractiveKirill Zolovkin, OctoBox Interactive
Kirill Zolovkin, OctoBox Interactive
 
HappyDev-lite-2016-весна 04 Анна Тарасенко. На каких языках говорят программисты
HappyDev-lite-2016-весна 04 Анна Тарасенко. На каких языках говорят программистыHappyDev-lite-2016-весна 04 Анна Тарасенко. На каких языках говорят программисты
HappyDev-lite-2016-весна 04 Анна Тарасенко. На каких языках говорят программисты
 
Не превращайте ваши логи в клинопись
Не превращайте ваши логи в клинописьНе превращайте ваши логи в клинопись
Не превращайте ваши логи в клинопись
 

More from DevGAMM Conference

The art of small steps, or how to make sound for games in conditions of war /...
The art of small steps, or how to make sound for games in conditions of war /...The art of small steps, or how to make sound for games in conditions of war /...
The art of small steps, or how to make sound for games in conditions of war /...DevGAMM Conference
 
Breaking up with FMOD - Why we ended things and embraced Metasounds / Daniel ...
Breaking up with FMOD - Why we ended things and embraced Metasounds / Daniel ...Breaking up with FMOD - Why we ended things and embraced Metasounds / Daniel ...
Breaking up with FMOD - Why we ended things and embraced Metasounds / Daniel ...DevGAMM Conference
 
How Audio Objects Improve Spatial Accuracy / Mads Maretty Sønderup (Audiokine...
How Audio Objects Improve Spatial Accuracy / Mads Maretty Sønderup (Audiokine...How Audio Objects Improve Spatial Accuracy / Mads Maretty Sønderup (Audiokine...
How Audio Objects Improve Spatial Accuracy / Mads Maretty Sønderup (Audiokine...DevGAMM Conference
 
Why indie developers should consider hyper-casual right now / Igor Gurenyov (...
Why indie developers should consider hyper-casual right now / Igor Gurenyov (...Why indie developers should consider hyper-casual right now / Igor Gurenyov (...
Why indie developers should consider hyper-casual right now / Igor Gurenyov (...DevGAMM Conference
 
AI / ML for Indies / Tyler Coleman (Retora Games)
AI / ML for Indies / Tyler Coleman (Retora Games)AI / ML for Indies / Tyler Coleman (Retora Games)
AI / ML for Indies / Tyler Coleman (Retora Games)DevGAMM Conference
 
Agility is the Key: Power Up Your GameDev Project Management with Agile Pract...
Agility is the Key: Power Up Your GameDev Project Management with Agile Pract...Agility is the Key: Power Up Your GameDev Project Management with Agile Pract...
Agility is the Key: Power Up Your GameDev Project Management with Agile Pract...DevGAMM Conference
 
New PR Tech and AI Tools for 2023: A Game Changer for Outreach / Kirill Perev...
New PR Tech and AI Tools for 2023: A Game Changer for Outreach / Kirill Perev...New PR Tech and AI Tools for 2023: A Game Changer for Outreach / Kirill Perev...
New PR Tech and AI Tools for 2023: A Game Changer for Outreach / Kirill Perev...DevGAMM Conference
 
Playable Ads - Revolutionizing mobile games advertising / Jakub Kukuryk (Popc...
Playable Ads - Revolutionizing mobile games advertising / Jakub Kukuryk (Popc...Playable Ads - Revolutionizing mobile games advertising / Jakub Kukuryk (Popc...
Playable Ads - Revolutionizing mobile games advertising / Jakub Kukuryk (Popc...DevGAMM Conference
 
Creative Collaboration: Managing an Art Team / Nastassia Radzivonava (Glera G...
Creative Collaboration: Managing an Art Team / Nastassia Radzivonava (Glera G...Creative Collaboration: Managing an Art Team / Nastassia Radzivonava (Glera G...
Creative Collaboration: Managing an Art Team / Nastassia Radzivonava (Glera G...DevGAMM Conference
 
From Local to Global: Unleashing the Power of Payments / Jan Kuhlmannn (Xsolla)
From Local to Global: Unleashing the Power of Payments / Jan Kuhlmannn (Xsolla)From Local to Global: Unleashing the Power of Payments / Jan Kuhlmannn (Xsolla)
From Local to Global: Unleashing the Power of Payments / Jan Kuhlmannn (Xsolla)DevGAMM Conference
 
Strategies and case studies to grow LTV in 2023 / Julia Iljuk (Balancy)
Strategies and case studies to grow LTV in 2023 / Julia Iljuk (Balancy)Strategies and case studies to grow LTV in 2023 / Julia Iljuk (Balancy)
Strategies and case studies to grow LTV in 2023 / Julia Iljuk (Balancy)DevGAMM Conference
 
Why is ASO not working in 2023 and how to change it? / Olena Vedmedenko (Keya...
Why is ASO not working in 2023 and how to change it? / Olena Vedmedenko (Keya...Why is ASO not working in 2023 and how to change it? / Olena Vedmedenko (Keya...
Why is ASO not working in 2023 and how to change it? / Olena Vedmedenko (Keya...DevGAMM Conference
 
How to increase wishlists & game sales from China? Growth marketing tactics &...
How to increase wishlists & game sales from China? Growth marketing tactics &...How to increase wishlists & game sales from China? Growth marketing tactics &...
How to increase wishlists & game sales from China? Growth marketing tactics &...DevGAMM Conference
 
Turkish Gaming Industry and HR Insights / Mustafa Mert EFE (Zindhu)
Turkish Gaming Industry and HR Insights / Mustafa Mert EFE (Zindhu)Turkish Gaming Industry and HR Insights / Mustafa Mert EFE (Zindhu)
Turkish Gaming Industry and HR Insights / Mustafa Mert EFE (Zindhu)DevGAMM Conference
 
Building an Awesome Creative Team from Scratch, Capable of Scaling Up / Sasha...
Building an Awesome Creative Team from Scratch, Capable of Scaling Up / Sasha...Building an Awesome Creative Team from Scratch, Capable of Scaling Up / Sasha...
Building an Awesome Creative Team from Scratch, Capable of Scaling Up / Sasha...DevGAMM Conference
 
Seven Reasons Why Your LiveOps Is Not Performing / Alexander Devyaterikov (Be...
Seven Reasons Why Your LiveOps Is Not Performing / Alexander Devyaterikov (Be...Seven Reasons Why Your LiveOps Is Not Performing / Alexander Devyaterikov (Be...
Seven Reasons Why Your LiveOps Is Not Performing / Alexander Devyaterikov (Be...DevGAMM Conference
 
The Power of Game and Music Collaborations: Reaching and Engaging the Masses ...
The Power of Game and Music Collaborations: Reaching and Engaging the Masses ...The Power of Game and Music Collaborations: Reaching and Engaging the Masses ...
The Power of Game and Music Collaborations: Reaching and Engaging the Masses ...DevGAMM Conference
 
Branded Content: How to overcome players' immunity to advertising / Alex Brod...
Branded Content: How to overcome players' immunity to advertising / Alex Brod...Branded Content: How to overcome players' immunity to advertising / Alex Brod...
Branded Content: How to overcome players' immunity to advertising / Alex Brod...DevGAMM Conference
 
Resurrecting Chasm: The Rift - A Source-less Remastering Journey / Gennadii P...
Resurrecting Chasm: The Rift - A Source-less Remastering Journey / Gennadii P...Resurrecting Chasm: The Rift - A Source-less Remastering Journey / Gennadii P...
Resurrecting Chasm: The Rift - A Source-less Remastering Journey / Gennadii P...DevGAMM Conference
 
How NOT to do showcase events: Behind the scenes of Midnight Show / Andrew Ko...
How NOT to do showcase events: Behind the scenes of Midnight Show / Andrew Ko...How NOT to do showcase events: Behind the scenes of Midnight Show / Andrew Ko...
How NOT to do showcase events: Behind the scenes of Midnight Show / Andrew Ko...DevGAMM Conference
 

More from DevGAMM Conference (20)

The art of small steps, or how to make sound for games in conditions of war /...
The art of small steps, or how to make sound for games in conditions of war /...The art of small steps, or how to make sound for games in conditions of war /...
The art of small steps, or how to make sound for games in conditions of war /...
 
Breaking up with FMOD - Why we ended things and embraced Metasounds / Daniel ...
Breaking up with FMOD - Why we ended things and embraced Metasounds / Daniel ...Breaking up with FMOD - Why we ended things and embraced Metasounds / Daniel ...
Breaking up with FMOD - Why we ended things and embraced Metasounds / Daniel ...
 
How Audio Objects Improve Spatial Accuracy / Mads Maretty Sønderup (Audiokine...
How Audio Objects Improve Spatial Accuracy / Mads Maretty Sønderup (Audiokine...How Audio Objects Improve Spatial Accuracy / Mads Maretty Sønderup (Audiokine...
How Audio Objects Improve Spatial Accuracy / Mads Maretty Sønderup (Audiokine...
 
Why indie developers should consider hyper-casual right now / Igor Gurenyov (...
Why indie developers should consider hyper-casual right now / Igor Gurenyov (...Why indie developers should consider hyper-casual right now / Igor Gurenyov (...
Why indie developers should consider hyper-casual right now / Igor Gurenyov (...
 
AI / ML for Indies / Tyler Coleman (Retora Games)
AI / ML for Indies / Tyler Coleman (Retora Games)AI / ML for Indies / Tyler Coleman (Retora Games)
AI / ML for Indies / Tyler Coleman (Retora Games)
 
Agility is the Key: Power Up Your GameDev Project Management with Agile Pract...
Agility is the Key: Power Up Your GameDev Project Management with Agile Pract...Agility is the Key: Power Up Your GameDev Project Management with Agile Pract...
Agility is the Key: Power Up Your GameDev Project Management with Agile Pract...
 
New PR Tech and AI Tools for 2023: A Game Changer for Outreach / Kirill Perev...
New PR Tech and AI Tools for 2023: A Game Changer for Outreach / Kirill Perev...New PR Tech and AI Tools for 2023: A Game Changer for Outreach / Kirill Perev...
New PR Tech and AI Tools for 2023: A Game Changer for Outreach / Kirill Perev...
 
Playable Ads - Revolutionizing mobile games advertising / Jakub Kukuryk (Popc...
Playable Ads - Revolutionizing mobile games advertising / Jakub Kukuryk (Popc...Playable Ads - Revolutionizing mobile games advertising / Jakub Kukuryk (Popc...
Playable Ads - Revolutionizing mobile games advertising / Jakub Kukuryk (Popc...
 
Creative Collaboration: Managing an Art Team / Nastassia Radzivonava (Glera G...
Creative Collaboration: Managing an Art Team / Nastassia Radzivonava (Glera G...Creative Collaboration: Managing an Art Team / Nastassia Radzivonava (Glera G...
Creative Collaboration: Managing an Art Team / Nastassia Radzivonava (Glera G...
 
From Local to Global: Unleashing the Power of Payments / Jan Kuhlmannn (Xsolla)
From Local to Global: Unleashing the Power of Payments / Jan Kuhlmannn (Xsolla)From Local to Global: Unleashing the Power of Payments / Jan Kuhlmannn (Xsolla)
From Local to Global: Unleashing the Power of Payments / Jan Kuhlmannn (Xsolla)
 
Strategies and case studies to grow LTV in 2023 / Julia Iljuk (Balancy)
Strategies and case studies to grow LTV in 2023 / Julia Iljuk (Balancy)Strategies and case studies to grow LTV in 2023 / Julia Iljuk (Balancy)
Strategies and case studies to grow LTV in 2023 / Julia Iljuk (Balancy)
 
Why is ASO not working in 2023 and how to change it? / Olena Vedmedenko (Keya...
Why is ASO not working in 2023 and how to change it? / Olena Vedmedenko (Keya...Why is ASO not working in 2023 and how to change it? / Olena Vedmedenko (Keya...
Why is ASO not working in 2023 and how to change it? / Olena Vedmedenko (Keya...
 
How to increase wishlists & game sales from China? Growth marketing tactics &...
How to increase wishlists & game sales from China? Growth marketing tactics &...How to increase wishlists & game sales from China? Growth marketing tactics &...
How to increase wishlists & game sales from China? Growth marketing tactics &...
 
Turkish Gaming Industry and HR Insights / Mustafa Mert EFE (Zindhu)
Turkish Gaming Industry and HR Insights / Mustafa Mert EFE (Zindhu)Turkish Gaming Industry and HR Insights / Mustafa Mert EFE (Zindhu)
Turkish Gaming Industry and HR Insights / Mustafa Mert EFE (Zindhu)
 
Building an Awesome Creative Team from Scratch, Capable of Scaling Up / Sasha...
Building an Awesome Creative Team from Scratch, Capable of Scaling Up / Sasha...Building an Awesome Creative Team from Scratch, Capable of Scaling Up / Sasha...
Building an Awesome Creative Team from Scratch, Capable of Scaling Up / Sasha...
 
Seven Reasons Why Your LiveOps Is Not Performing / Alexander Devyaterikov (Be...
Seven Reasons Why Your LiveOps Is Not Performing / Alexander Devyaterikov (Be...Seven Reasons Why Your LiveOps Is Not Performing / Alexander Devyaterikov (Be...
Seven Reasons Why Your LiveOps Is Not Performing / Alexander Devyaterikov (Be...
 
The Power of Game and Music Collaborations: Reaching and Engaging the Masses ...
The Power of Game and Music Collaborations: Reaching and Engaging the Masses ...The Power of Game and Music Collaborations: Reaching and Engaging the Masses ...
The Power of Game and Music Collaborations: Reaching and Engaging the Masses ...
 
Branded Content: How to overcome players' immunity to advertising / Alex Brod...
Branded Content: How to overcome players' immunity to advertising / Alex Brod...Branded Content: How to overcome players' immunity to advertising / Alex Brod...
Branded Content: How to overcome players' immunity to advertising / Alex Brod...
 
Resurrecting Chasm: The Rift - A Source-less Remastering Journey / Gennadii P...
Resurrecting Chasm: The Rift - A Source-less Remastering Journey / Gennadii P...Resurrecting Chasm: The Rift - A Source-less Remastering Journey / Gennadii P...
Resurrecting Chasm: The Rift - A Source-less Remastering Journey / Gennadii P...
 
How NOT to do showcase events: Behind the scenes of Midnight Show / Andrew Ko...
How NOT to do showcase events: Behind the scenes of Midnight Show / Andrew Ko...How NOT to do showcase events: Behind the scenes of Midnight Show / Andrew Ko...
How NOT to do showcase events: Behind the scenes of Midnight Show / Andrew Ko...
 

Stop whining and make a cross-platform game already!

Editor's Notes

  1. История языка начинается в Бразилии в 1993 году. Создавался изначально язык для внутреннего использования одной нефтяной компанией. В основном это была работа с данными, числами. Валидация данных, составление отчётов, расчёт каких-то своих значений. То есть с самого начала создания языка у него уже были пользователи помимо самих разработчиков и реальныеи кейсы использования. Как видите изначально язык нацеливался на удобство для пользователей. В 1998 году выходит игра Grim Fandango, одна из моих любимых. Один из программистов в начале её разработки заинтересовался в Lua и предложил компании его использовать вместо их старого языка. Они остались крайне довольны результатом. Это первое использование языка в таком крупном игровом проекте. С тех пор Lua ещё не раз использовался для игр и получил некий статус языка программирования для создания игр. Из современных програм ещё можно отметить Adobe Lightroom, львиная его часть также написана на Lua.
  2. История языка начинается в Бразилии в 1993 году. Создавался изначально язык для внутреннего использования одной нефтяной компанией. В основном это была работа с данными, числами. Валидация данных, составление отчётов, расчёт каких-то своих значений. То есть с самого начала создания языка у него уже были пользователи помимо самих разработчиков и реальныеи кейсы использования. Как видите изначально язык нацеливался на удобство для пользователей. В 1998 году выходит игра Grim Fandango, одна из моих любимых. Один из программистов в начале её разработки заинтересовался в Lua и предложил компании его использовать вместо их старого языка. Они остались крайне довольны результатом. Это первое использование языка в таком крупном игровом проекте. С тех пор Lua ещё не раз использовался для игр и получил некий статус языка программирования для создания игр. Из современных програм ещё можно отметить Adobe Lightroom, львиная его часть также написана на Lua.
  3. Таблицы это святой грааль языка. На таблицах держится весь Lua мир.