5. Сервер. Выбор языка
Сравнительные параметры:
• Производительность
• Скорость разработки
Требования:
• Memory management
• Кроссплатформенность
• Удобная IDE
6. Сервер. Выбор языка
Java C#
Managed + +
IDE Idea, Eclipse VS, MonoDevelop
Linux IDE Idea, Eclipse MonoDevelop
Удобная Linux IDE Idea, Eclipse
9. Сервер
Игровая механика
Система
Map-сервис
движения Database
сервис
Поиск пути LoS Сканер
Данные Система
Репликация
карты сообщений
Ресурсная система Сеть
VFS Логирование
10. Сервер
• VFS Игровая механика
Система
• Логирование Map-сервис
движения Database
• Сеть Поиск пути LoS Сканер
сервис
• Ресурсная система Данные Система
Репликация
карты сообщений
Ресурсная система Сеть
VFS Логирование
11. Сервер.
• Поиск пути Игровая механика
Система
• LoS Map-сервис
движения Database
• Сканер сервис
Поиск пути LoS Сканер
• Репликация Данные Система
Репликация
• Система сообщений карты сообщений
Ресурсная система Сеть
• Ресурсная система
VFS Логирование
12. Сервер
• Map-сервис Игровая механика
Система
• Database сервис Map-сервис
движения Database
• Система движения Поиск пути LoS Сканер
сервис
Данные Система
Репликация
карты сообщений
Ресурсная система Сеть
VFS Логирование
13. Взаимодействие с клиентом
• Общие данные
• Серверные данные:
– Репликация
– Сообщения (Event, Message)
• Клиентские данные:
– Команды (Command)
24. Ресурсная система
public class Cell {
@NotNullElements
(policy = REMOVE)
@DenyDefault
@NotNull
private Zone [] zones;
@AllowDefault
private int weight = 0;
}
25. Ресурсная система
public class Cell { <cells>
@NotNullElements <Item>
<zones>
(policy = REMOVE) <Item href="Zone1"/>
@DenyDefault </zones>
@NotNull <weight>100500</weight>
private Zone [] zones; </Item>
@AllowDefault <Item>
<zones>
private int weight = 0; <Item href="Zones2"/>
} <Item href="Zones3"/>
</zones>
</Item>
</cells>