В свежей статье на официальном сайте ведущий серверный инженер-программист Warcraft Arclight Rumble Энди Лим рассказал на примере опыта миниатюр, как авторы игры хранят и управляются с данными. Статья по большей части имеет техническую направленность и довольно скучна для обывателя. Для хранения данных Warcraft Arclight Rumble разработчики используют систему управления базами данных Apache Cassandra, поскольку она удобная, быстрая и функциональная.
А поскольку она быстра в записи данных, но более медлительна в их чтении, разработчики используют систему журнальных записей для каждого отдельного события. Чтобы таких записей не накопилось слишком много, периодически они считываются до определенного момента времени и объединяются в одну. Так получается итоговое значение, что, например, используется для вычисления полученного миниатюрой за все время опыта и, соответственно, ее уровня.
Inside Warcraft Arclight Rumble: Calculating Mini Experience Greetings Rumblers! I'm Andy Lim, Lead Engineer on server features for Warcraft Arclight Rumble. The server team is responsible for all the things you'd expect from a server team, including networking, cloud computing, and storage, but we also build game features such as campaign progression and quests. I'd like to peel back the blue curtain and share a bit more about how we store experience and then use it to calculate levels for each Mini.
Meet Cassandra Warning! Technical details ahead; it could get a little heavy, but stick with us. Let’s kick things off by getting to know a bit about our storage solution we use to keep track of the frequent changes to our player data for a lot of concurrent users—Cassandra. Cassandra is an open-source, popular, highly scalable, distributed
.