SlideShare a Scribd company logo
1 of 15
Практика создания социальной игры



        Николай Алексеев
    программист mail.ru games
LUA


Реализация игровой логики

Простой и производительный язык

Похож на javascript
Сервер окружений


Все очень просто

   Клиент (flash)   LUA 1


                    LUA 2


                    LUA N
Хранение данных


Данные хранятся в оперативной памяти

+ Быстрота операций чтения/записи

+ Упрощение кода

- Возможность потери оперативный данных

- Занимаемое место в памяти
Микропотоки


Микропотоки   Процессы
Блокировки


Нет проблем с блокировками

if (user[money] > 10) {
    user[items]++
    user[money] = max (0, user[money] – 10)
}
Подитог


Низкая связность кода

Повторное использование на всех играх

Удобный способ хранения

Нет блокировок
Клиент - сервер


Умный клиент

Простой код без детализации ошибок

Простой механизм локализаций
Артикулы


Генерация данных в родной код

Отсутствие дополнительных зависимостей

Дешевый доступ к данным

Многие задачи решаются без сервера
Структура рюкзака



   user = {         content.items = {
     bag = {           [32] = {
         [32] = 4          id = 32,
     }                     price = 10,
     ….                    skills = { …. }
   }                  }
                      ….
                    }
Управление контентом


 Унифицированный интерфейс

 Локализация

 Отсутствие рутинного программирования
Unit test


Автоматическая проверка кода при изменении

Удобство в разработке

Улучшение качества кода
Масштабирование


Масштабирование – это просто
СПАСИБО!
     Николай Алексеев
Программист , mail.ru games
  n.alekseev@corp.mail.ru

More Related Content

Viewers also liked

Разработка социальных игр «из первых рук»: ваш путь в топ!
	Разработка социальных игр «из первых рук»: ваш путь в топ!	Разработка социальных игр «из первых рук»: ваш путь в топ!
Разработка социальных игр «из первых рук»: ваш путь в топ!tfmailru
 
Как мы в Почте@Mail.Ru выдерживаем высокие нагрузки
Как мы в Почте@Mail.Ru выдерживаем высокие нагрузкиКак мы в Почте@Mail.Ru выдерживаем высокие нагрузки
Как мы в Почте@Mail.Ru выдерживаем высокие нагрузкиtfmailru
 
Стабильность — признак мастерства
Стабильность — признак мастерстваСтабильность — признак мастерства
Стабильность — признак мастерстваtfmailru
 
Платежные системы и мошенники в Сети (Ефимочкин Андрей))
Платежные системы и мошенники в Сети (Ефимочкин Андрей))Платежные системы и мошенники в Сети (Ефимочкин Андрей))
Платежные системы и мошенники в Сети (Ефимочкин Андрей))tfmailru
 
Типичные проблемы с массовыми рассылками и как их избежать
Типичные проблемы с массовыми рассылками и как их избежатьТипичные проблемы с массовыми рассылками и как их избежать
Типичные проблемы с массовыми рассылками и как их избежатьtfmailru
 
Машинное обучение в ранжировании поиска
Машинное обучение в ранжировании поискаМашинное обучение в ранжировании поиска
Машинное обучение в ранжировании поискаtfmailru
 
Форум Технологий Mail.Ru 2011: Юрий Ветров — Как создаются интерфейсы в Mail.Ru
Форум Технологий Mail.Ru 2011: Юрий Ветров — Как создаются интерфейсы в Mail.RuФорум Технологий Mail.Ru 2011: Юрий Ветров — Как создаются интерфейсы в Mail.Ru
Форум Технологий Mail.Ru 2011: Юрий Ветров — Как создаются интерфейсы в Mail.RuYury Vetrov
 
Hadoop ecosystem
Hadoop ecosystemHadoop ecosystem
Hadoop ecosystemtfmailru
 
Tarantool: как обрабатывать 
1,5 млрд запросов в сутки?
Tarantool: как обрабатывать 
1,5 млрд запросов в сутки?Tarantool: как обрабатывать 
1,5 млрд запросов в сутки?
Tarantool: как обрабатывать 
1,5 млрд запросов в сутки?tfmailru
 
Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систе...
Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систе...Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систе...
Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систе...Ontico
 

Viewers also liked (10)

Разработка социальных игр «из первых рук»: ваш путь в топ!
	Разработка социальных игр «из первых рук»: ваш путь в топ!	Разработка социальных игр «из первых рук»: ваш путь в топ!
Разработка социальных игр «из первых рук»: ваш путь в топ!
 
Как мы в Почте@Mail.Ru выдерживаем высокие нагрузки
Как мы в Почте@Mail.Ru выдерживаем высокие нагрузкиКак мы в Почте@Mail.Ru выдерживаем высокие нагрузки
Как мы в Почте@Mail.Ru выдерживаем высокие нагрузки
 
Стабильность — признак мастерства
Стабильность — признак мастерстваСтабильность — признак мастерства
Стабильность — признак мастерства
 
Платежные системы и мошенники в Сети (Ефимочкин Андрей))
Платежные системы и мошенники в Сети (Ефимочкин Андрей))Платежные системы и мошенники в Сети (Ефимочкин Андрей))
Платежные системы и мошенники в Сети (Ефимочкин Андрей))
 
Типичные проблемы с массовыми рассылками и как их избежать
Типичные проблемы с массовыми рассылками и как их избежатьТипичные проблемы с массовыми рассылками и как их избежать
Типичные проблемы с массовыми рассылками и как их избежать
 
Машинное обучение в ранжировании поиска
Машинное обучение в ранжировании поискаМашинное обучение в ранжировании поиска
Машинное обучение в ранжировании поиска
 
Форум Технологий Mail.Ru 2011: Юрий Ветров — Как создаются интерфейсы в Mail.Ru
Форум Технологий Mail.Ru 2011: Юрий Ветров — Как создаются интерфейсы в Mail.RuФорум Технологий Mail.Ru 2011: Юрий Ветров — Как создаются интерфейсы в Mail.Ru
Форум Технологий Mail.Ru 2011: Юрий Ветров — Как создаются интерфейсы в Mail.Ru
 
Hadoop ecosystem
Hadoop ecosystemHadoop ecosystem
Hadoop ecosystem
 
Tarantool: как обрабатывать 
1,5 млрд запросов в сутки?
Tarantool: как обрабатывать 
1,5 млрд запросов в сутки?Tarantool: как обрабатывать 
1,5 млрд запросов в сутки?
Tarantool: как обрабатывать 
1,5 млрд запросов в сутки?
 
Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систе...
Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систе...Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систе...
Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систе...
 

Similar to Alekseev

Обзор Unified Contact Center Enterprise
Обзор Unified Contact Center EnterpriseОбзор Unified Contact Center Enterprise
Обзор Unified Contact Center EnterpriseCisco Russia
 
Многопользовательские браузерные игры нового типа
Многопользовательские браузерные игры нового типаМногопользовательские браузерные игры нового типа
Многопользовательские браузерные игры нового типаAnton Volkov
 
Backendless BaaS. Dinosaurus for Jeeconf 2013
Backendless BaaS. Dinosaurus for Jeeconf 2013Backendless BaaS. Dinosaurus for Jeeconf 2013
Backendless BaaS. Dinosaurus for Jeeconf 2013backendless
 
Микросервисы в .NET Core
Микросервисы в .NET CoreМикросервисы в .NET Core
Микросервисы в .NET CoreAndrew Gubskiy
 
Тестирование высоконагруженных облачных веб-сервисов в Amazon - подводные кам...
Тестирование высоконагруженных облачных веб-сервисов в Amazon - подводные кам...Тестирование высоконагруженных облачных веб-сервисов в Amazon - подводные кам...
Тестирование высоконагруженных облачных веб-сервисов в Amazon - подводные кам...SQALab
 
"Разрушаем .NET мифы" Сергей Калинец
"Разрушаем .NET мифы" Сергей Калинец"Разрушаем .NET мифы" Сергей Калинец
"Разрушаем .NET мифы" Сергей КалинецFwdays
 
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)Ontico
 
Javascript-фреймворки:
 должен остаться только один
Javascript-фреймворки:
 должен остаться только одинJavascript-фреймворки:
 должен остаться только один
Javascript-фреймворки:
 должен остаться только одинSergey Xek
 
Денис Противенский, Percona — Percona Server for MongoDB: обзор возможностей
Денис Противенский, Percona — Percona Server for MongoDB: обзор возможностейДенис Противенский, Percona — Percona Server for MongoDB: обзор возможностей
Денис Противенский, Percona — Percona Server for MongoDB: обзор возможностейDev_Party
 
SECON'2016. Сергей Аверин. Javascript-фреймворки:
 должен остаться только один
SECON'2016. Сергей Аверин. Javascript-фреймворки:
 должен остаться только одинSECON'2016. Сергей Аверин. Javascript-фреймворки:
 должен остаться только один
SECON'2016. Сергей Аверин. Javascript-фреймворки:
 должен остаться только одинSECON
 
SECON'2016. Аверин Сергей, Javascript-фреймворки:
 должен остаться только один
SECON'2016. Аверин Сергей, Javascript-фреймворки:
 должен остаться только одинSECON'2016. Аверин Сергей, Javascript-фреймворки:
 должен остаться только один
SECON'2016. Аверин Сергей, Javascript-фреймворки:
 должен остаться только одинSECON
 
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только одинHappyDev
 
Как подружить Unix и Windows.
Как подружить Unix и Windows.Как подружить Unix и Windows.
Как подружить Unix и Windows.MageCloud
 
Aterdux Entertainment: Собственный движок как способ экономной и эффективной...
 Aterdux Entertainment: Собственный движок как способ экономной и эффективной... Aterdux Entertainment: Собственный движок как способ экономной и эффективной...
Aterdux Entertainment: Собственный движок как способ экономной и эффективной...DevGAMM Conference
 
[Skolkovo Robotics 2015 Day 3] Жильцов А. Виртуальный полигон 1С
[Skolkovo Robotics 2015 Day 3] Жильцов А. Виртуальный полигон 1С[Skolkovo Robotics 2015 Day 3] Жильцов А. Виртуальный полигон 1С
[Skolkovo Robotics 2015 Day 3] Жильцов А. Виртуальный полигон 1СSkolkovo Robotics Center
 
DevOps в реальном времени
DevOps в реальном времениDevOps в реальном времени
DevOps в реальном времениAndriy Samilyak
 

Similar to Alekseev (20)

Обзор Unified Contact Center Enterprise
Обзор Unified Contact Center EnterpriseОбзор Unified Contact Center Enterprise
Обзор Unified Contact Center Enterprise
 
Многопользовательские браузерные игры нового типа
Многопользовательские браузерные игры нового типаМногопользовательские браузерные игры нового типа
Многопользовательские браузерные игры нового типа
 
Backendless BaaS. Dinosaurus for Jeeconf 2013
Backendless BaaS. Dinosaurus for Jeeconf 2013Backendless BaaS. Dinosaurus for Jeeconf 2013
Backendless BaaS. Dinosaurus for Jeeconf 2013
 
Микросервисы в .NET Core
Микросервисы в .NET CoreМикросервисы в .NET Core
Микросервисы в .NET Core
 
2056
20562056
2056
 
Из браузера на планшет.
Из браузера на планшет.Из браузера на планшет.
Из браузера на планшет.
 
Тестирование высоконагруженных облачных веб-сервисов в Amazon - подводные кам...
Тестирование высоконагруженных облачных веб-сервисов в Amazon - подводные кам...Тестирование высоконагруженных облачных веб-сервисов в Amazon - подводные кам...
Тестирование высоконагруженных облачных веб-сервисов в Amazon - подводные кам...
 
"Разрушаем .NET мифы" Сергей Калинец
"Разрушаем .NET мифы" Сергей Калинец"Разрушаем .NET мифы" Сергей Калинец
"Разрушаем .NET мифы" Сергей Калинец
 
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)
 
Javascript-фреймворки:
 должен остаться только один
Javascript-фреймворки:
 должен остаться только одинJavascript-фреймворки:
 должен остаться только один
Javascript-фреймворки:
 должен остаться только один
 
Денис Противенский, Percona — Percona Server for MongoDB: обзор возможностей
Денис Противенский, Percona — Percona Server for MongoDB: обзор возможностейДенис Противенский, Percona — Percona Server for MongoDB: обзор возможностей
Денис Противенский, Percona — Percona Server for MongoDB: обзор возможностей
 
SECON'2016. Сергей Аверин. Javascript-фреймворки:
 должен остаться только один
SECON'2016. Сергей Аверин. Javascript-фреймворки:
 должен остаться только одинSECON'2016. Сергей Аверин. Javascript-фреймворки:
 должен остаться только один
SECON'2016. Сергей Аверин. Javascript-фреймворки:
 должен остаться только один
 
SECON'2016. Аверин Сергей, Javascript-фреймворки:
 должен остаться только один
SECON'2016. Аверин Сергей, Javascript-фреймворки:
 должен остаться только одинSECON'2016. Аверин Сергей, Javascript-фреймворки:
 должен остаться только один
SECON'2016. Аверин Сергей, Javascript-фреймворки:
 должен остаться только один
 
Diplom 1
Diplom 1Diplom 1
Diplom 1
 
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
 
Как подружить Unix и Windows.
Как подружить Unix и Windows.Как подружить Unix и Windows.
Как подружить Unix и Windows.
 
Aterdux Entertainment: Собственный движок как способ экономной и эффективной...
 Aterdux Entertainment: Собственный движок как способ экономной и эффективной... Aterdux Entertainment: Собственный движок как способ экономной и эффективной...
Aterdux Entertainment: Собственный движок как способ экономной и эффективной...
 
[Skolkovo Robotics 2015 Day 3] Жильцов А. Виртуальный полигон 1С
[Skolkovo Robotics 2015 Day 3] Жильцов А. Виртуальный полигон 1С[Skolkovo Robotics 2015 Day 3] Жильцов А. Виртуальный полигон 1С
[Skolkovo Robotics 2015 Day 3] Жильцов А. Виртуальный полигон 1С
 
Yacovlev
YacovlevYacovlev
Yacovlev
 
DevOps в реальном времени
DevOps в реальном времениDevOps в реальном времени
DevOps в реальном времени
 

More from tfmailru

к форуму технологий вступление Last
к форуму технологий   вступление Lastк форуму технологий   вступление Last
к форуму технологий вступление Lasttfmailru
 
Партнерские возможности Почты: как дружить с миллионами пользователей Mail.Ru
Партнерские возможности Почты: как дружить с миллионами пользователей Mail.RuПартнерские возможности Почты: как дружить с миллионами пользователей Mail.Ru
Партнерские возможности Почты: как дружить с миллионами пользователей Mail.Rutfmailru
 
Tarantool: как обрабатывать 
1,5 млрд запросов в сутки?
Tarantool: как обрабатывать 
1,5 млрд запросов в сутки?Tarantool: как обрабатывать 
1,5 млрд запросов в сутки?
Tarantool: как обрабатывать 
1,5 млрд запросов в сутки?tfmailru
 
Стабильность — признак мастерства
Стабильность — признак мастерстваСтабильность — признак мастерства
Стабильность — признак мастерстваtfmailru
 
Развитие интерфейса через гайдлайны
Развитие интерфейса через гайдлайныРазвитие интерфейса через гайдлайны
Развитие интерфейса через гайдлайныtfmailru
 
Типичные проблемы с массовыми рассылками и как из избежать
Типичные проблемы с массовыми рассылками и как из избежатьТипичные проблемы с массовыми рассылками и как из избежать
Типичные проблемы с массовыми рассылками и как из избежатьtfmailru
 
Как избавиться от опасных ссылок в вашем проекте
Как избавиться от опасных ссылок в вашем проектеКак избавиться от опасных ссылок в вашем проекте
Как избавиться от опасных ссылок в вашем проектеtfmailru
 
Платежные системы и мошенники в Сети
Платежные системы и мошенники в СетиПлатежные системы и мошенники в Сети
Платежные системы и мошенники в Сетиtfmailru
 
Технологии поиска
Технологии поискаТехнологии поиска
Технологии поискаtfmailru
 
Как не утонуть в мегабайтах JS-кода
Как не утонуть в мегабайтах JS-кодаКак не утонуть в мегабайтах JS-кода
Как не утонуть в мегабайтах JS-кодаtfmailru
 
Программа форума
Программа форумаПрограмма форума
Программа форумаtfmailru
 

More from tfmailru (11)

к форуму технологий вступление Last
к форуму технологий   вступление Lastк форуму технологий   вступление Last
к форуму технологий вступление Last
 
Партнерские возможности Почты: как дружить с миллионами пользователей Mail.Ru
Партнерские возможности Почты: как дружить с миллионами пользователей Mail.RuПартнерские возможности Почты: как дружить с миллионами пользователей Mail.Ru
Партнерские возможности Почты: как дружить с миллионами пользователей Mail.Ru
 
Tarantool: как обрабатывать 
1,5 млрд запросов в сутки?
Tarantool: как обрабатывать 
1,5 млрд запросов в сутки?Tarantool: как обрабатывать 
1,5 млрд запросов в сутки?
Tarantool: как обрабатывать 
1,5 млрд запросов в сутки?
 
Стабильность — признак мастерства
Стабильность — признак мастерстваСтабильность — признак мастерства
Стабильность — признак мастерства
 
Развитие интерфейса через гайдлайны
Развитие интерфейса через гайдлайныРазвитие интерфейса через гайдлайны
Развитие интерфейса через гайдлайны
 
Типичные проблемы с массовыми рассылками и как из избежать
Типичные проблемы с массовыми рассылками и как из избежатьТипичные проблемы с массовыми рассылками и как из избежать
Типичные проблемы с массовыми рассылками и как из избежать
 
Как избавиться от опасных ссылок в вашем проекте
Как избавиться от опасных ссылок в вашем проектеКак избавиться от опасных ссылок в вашем проекте
Как избавиться от опасных ссылок в вашем проекте
 
Платежные системы и мошенники в Сети
Платежные системы и мошенники в СетиПлатежные системы и мошенники в Сети
Платежные системы и мошенники в Сети
 
Технологии поиска
Технологии поискаТехнологии поиска
Технологии поиска
 
Как не утонуть в мегабайтах JS-кода
Как не утонуть в мегабайтах JS-кодаКак не утонуть в мегабайтах JS-кода
Как не утонуть в мегабайтах JS-кода
 
Программа форума
Программа форумаПрограмма форума
Программа форума
 

Alekseev