Pull to refresh
10
0
Роман @Wouw

User

Send message
Ужасно режет «слух», когда цену называют ценником.
Скорее всего у себя в памяти хранит сессию по вашей партии.
Так же допустим вариант, что набор ответов хранится у вас и каждый раз передается ему, где он накатывает ответы на всю базу персонажей.
Увидел, как тут спорят о формулах.
Решил выложить в интернет свой генератор MathML формул из текстовой строки.

forum.wofh.ru/f/p1.php

Может кому пригодится.
Если найдете ошибки — пишите в личку.
Sun Java, 1.6.0_22
Опасность высокая

В действительности стоит 1.6.0_31
Не то, чтобы я не верю автору поста, но есть ли доказательства, что история не вымышлена?
Я единственный программист логики (движка) в проекте. Системы контроля версий у нас нет.
Обязательно подробно расскажу в следующей статье. Данная статья посвящена технической части.
Обновления происходят очень просто. По ftp на сервер закачиваются все изменившиеся файлы, мир на мгновение останавливается и все файлы заменяются новыми.
Иногда в обновлениях происходит расчет новых данных или перерасчет старых. В этом случапе после запуска новой версии движка мир висит еще несколько минут (иногда до 15 минут и более).
Все игровые данные хранятся внутри кода ввиде массивов и констант. Это необходимо для того, чтобы никто другой не могу эти данные менять (в первую очередь речь идет о владельцах лицензии на оперирование).
1. Домашние машины уже давно не используются в качестве серверов игры, сейчас все серведа в ДЦ. В мире пик пользователей был около 5000 (что не является пределом), одновременный онлайн 500 человек (онлайн за 15 минут). Если говорить о пределах сервера, то он не выявлен. Сейчас все сервера работают не более, чем на 10% процессорной мощности и не более 20% дисковой.
2. Рассматривался описанный ISAPI. Не только рассматривался, но и был изначально реализован. Сменен на fastCGI из-за привязки к платформе(windows). Так же fastCGI при необходимости позволяет вынести Д1 на отдельный сервер. Разумеется, рассматривался CGI, но он медленнен и не имеет своей постоянной памяти.
3. В основном используются Core2Quad Q9550-3: 4x2.83GHz, 8 GB Ram, HDD: 2x250, хотя он избыточен по всем параметрам. Месячный трафик одного мира обычно не превышает 1 Тб.
В команде есть художник. Он присоединился к проекту еще до запуска и тоже работал на светлое будущее.
После монетизации графика не перерабатывалась.
Да, есть генерируемая графика. При создании мира создается климатическая карта и карта континентов. Раз в сутки создается политическая карта мира. Сейчас мы работаем над мобильной версией, где тайлы карты будут генерироваться на лету (только на этапе разработки).
У каждого мира своя БД. БД не нагружена даже на треть, поэтому вопрос масштабирования БД не встает. Да, вся логика на С++.
Сложность внесения изменений зависит только от сложности кода и сложности самих изменений. Простое исправление ошибки делается минут за 5 (включая обновление файлов и перезапуск мира). Новые фичи вносятся, конечно, дольше. Для тестирования изменений у нас имеется специальный экспериментальный мир.

Про монетизацию, сбор данных активности игроков и выявление ботоводства/мультиводства я постараюсь рассказать в другой статье.
Скрипт обращается по http, попадает на Д1, Д1 делает запрос «все ли хорошо?» на Д2. Д2 отвечает, что все хорошо. Д1 дополнительно собирает свои данные по нагрузке и момент времени сбора данных. Все это отправляется скрипту в виде страницы.
Скрипт отправляет смс только в случае тревоги с указанием проблемного мира. После 3-х смс подряд оповещение прекращается.
Один год до ОБТ, и уже два года после. ОБТ длилось год.
2

Information

Rating
Does not participate
Location
Красноярск, Красноярский край, Россия
Date of birth
Registered
Activity