Alekseev

15

Transcript of Alekseev

Page 1: Alekseev
Page 2: Alekseev

Практика создания социальной игры

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

Page 3: Alekseev

LUA

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

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

Похож на javascript

Page 4: Alekseev

Сервер окружений

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

Клиент (flash)

LUA N

LUA 2

LUA 1

Page 5: Alekseev

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

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

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

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

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

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

Page 6: Alekseev

Микропотоки

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

Page 7: Alekseev

Блокировки

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

if (user[money] > 10) { user[items]++ user[money] = max (0, user[money] – 10)}

Page 8: Alekseev

Подитог

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

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

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

Нет блокировок

Page 9: Alekseev

Клиент - сервер

Умный клиент

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

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

Page 10: Alekseev

Артикулы

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

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

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

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

Page 11: Alekseev

Структура рюкзака

user = { bag = { [32] = 4 } ….}

content.items = { [32] = { id = 32, price = 10, skills = { …. } } ….}

Page 12: Alekseev

Управление контентом

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

Локализация

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

Page 13: Alekseev

Unit test

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

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

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

Page 14: Alekseev

Масштабирование

Масштабирование – это просто

Page 15: Alekseev

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

[email protected]

СПАСИБО!