akyl91
> В общих чертах понятно. Применено что-то типа этого?
Скорее примерно так:
token = generate cur token write token to filename for(;;){ if( token changed in filename) exit process cur event sleep some ms }
> Проблему с мультикликами не уловил.
Предположим у нас в игре есть действие (ссылка) для покупки артефакта за кредиты (игровая валюта). При выполнениии действия нужно выполнить следующий алгоритм:
1. определить стоимость артефакта (загрузить из БД)
2. проверить, хватает ли у пользователя кредитов (загрузить из БД) для покупки
3. если хватает, уменьшить количество кредитов пользователя на стоимость артефакта, записать итог в БД, добавить артефакт
4. если не хватает, вывести соответствующее сообщение
А теперь предположим, что у пользователя есть кредитов на один артефакт, а он кликнул на ссылку очень быстро два раза. В этом случае есть вероятность, что в двух запросах (напоминаю, что речь идет об http запросах, которые отправляет браузер) вышеприведенный алгоритм будет обрабатываться одновремено и п.2 будет выполнен парралельно друг другу. Таким образом оба запроса получат результат, что кредитов хватает и оба запроса добавят по артефакту.
Насколько вероятны такие ситуации и нужно ли их обрабатывать в игре?
Да нужно. Вероятность такого хака сильно возрастает с ростом игроков в игре и увеличением нагрузки на сервер.
Что-то уж очень мудрено. Знаки "$" и ";" разве тут не нужны?
token = generate cur token
write token to filename
for(;;){
if(token changed in filename) exit
process cur event
sleep some msМожно построчно прокомментировать?
UnitPoint
> количество кредитов пользователя на стоимость артефакта, записать итог в БД
записать итог в БД twin количество кредитов пользователя на стоимость артефакта
UnitPoint
> А теперь предположим, что у пользователя есть кредитов на один артефакт
лучше выполнить параллельное пакетирование : вообще где у тебя Менеджмент : на сервере "Инфо Космических Кредитов"

akyl91
> Что-то уж очень мудрено. Знаки "$" и ";" разве тут не нужны?
> Можно построчно прокомментировать?
Приведу полный код менеджера событий (осторожно много кода):
Немного о последних обновлениях в игре:
Обновление 2.10.4 (27.01.2014)
- исправлена ошибка с возможностью нелегального наращивания флота во время расчета боя
- исправлена ошибка с возможностью превышения одного вида кораблей в 100к
- снято ограничение в 100к кораблей во флоте для небоевых заданий (транспорт и т.п.)
- увеличено максимальное количество цифр в обменнике и при загрузке флота до 12 цифр
Обновление 2.10.3 (28.12.2013)
- добавлен новый атефакт: Ремонтная фрактальная система (Ремонтная фрактальная система, украденная у инопланетян, активирует самоидентифицирующийся фрактальный процесс по восстановлению структуры всех кораблей на орбите текущей планеты. Ремонт происходит за считанные наносекунды. Корабли, находящиеся в удержании, не восстанавливаются).
Сейчас также идет бурное обсуждение (в самой игре) по тюнингу игру, видимо скоро будет новое обновление.
> тюнинг
Эт хорошо!
А как с наглядностью?
Большой недостаток огеймоподобных игр - отсутствие глобальной карты и вообще "наглядности" достижений, всё демонстрируется скучными цифирками.
НО
Самый большой минус - изначально ущербный гемплей, где всё завязано на тупое наращивание мощи.
Как с этим борешься?
akyl91
> Самый большой минус - изначально ущербный гемплей, где всё завязано на тупое наращивание мощи. Как с этим борешься?
Ну это не совсем так. В игре есть множества нюансов, поэтому игроки играя, наример, год по прежнему узнают новые моменты и техники.
"Как борешься?" - кроме военных действий есть, например, торговля. При чем это полноценная торговля с рыночными ценами и со своей мафией, образовавшейся внутри игры. Например, игроки сами вырабатывают прайсы на товары, сообщают друг другу и жестко наказывают тех, кто пытается демпинговать. Наказывают в смысле выносят флот, разрушают экономическую составляющую. Игроки сами строят биржи, зарабатывают на них, устанавливают свои проценты и т.п.
OXSAR также наверное единственная игра из огеймоподобных, в которой экономическая сотавляющая позволяет играть без вайпа. Например, игра стартовала в 2009 и с тех пор в ней не было ни одного вайпа.
> экономическая составляющая
О! Эт неплохо. Люблю экономику в играх.
В качестве "бездны" используешь "вынос" зажравшихся игроков? Тоже вариант.
Кстати, войти в экономику можно только через донат? Или 10 кредитов можно как-то получить в игре?
akyl91
Войти в экономику можно разными способами, кредиты находят в экспедициях, продают товары на бирже.
Вышло обновление Мира Oxsar 2.11, из принципиальных моментов добавлен новый артефакт ИСА (Исследовательская сетевая ассоциация).
Артефакт Исследовательская сетевая ассоциация позволяет общаться ученым в альянсе и передавать друг другу накопленные знания. Кардинально увеличивает скорость исследований внутри альянса между игроками с включенными ИСА.
Как работает ИСА?
В альянсе получают бонус от ИСА те игроки, которые включили ИСА.
Если один игрок включит ИСА, он сам получит некоторый выйгрыш, но не такой большой. Для полной активации, кто-то др. в альянсе должен включить ИСА. В этом случае ученные разных игроков начинают обмениваться информацией между собой, что и увеличивает УМИ (Уровень межгалактических исследований).
При включении ИСА на странице обзора, там где пишется информация об УМИ, выводится дополнительная информация о пересчитанной УМИ (в том числе координаты планет, с которыми общаются ученные) и рекомендации об улучшении УМИ.
Более подробную информацию, включая формулу расчета, можно прочитать в теме про ИСА.
К проекту квазары отношение какое-то имеешь? Смотрю у них объекты один в один.
Не имею, какие объекты?
В игре проводится обсуждение нового артефакта: ЖУК.
ЖУК активируется при его захвате обороняющейся стороной.
Отсюда следует, что чтобы его активировать, нужно отправить в составе флота с атакой, который будет явно уничтожен. По идее, его можно добавить даже в состав шпионской миссии. При его захвате, произойдет активация, и обороняющиеся юниты будут повреждены. В общем это явно диверсионный артефакт, которым можно внезапно очень быстро демобилизировать врага.
ЖУК не уничтожает юниты, только повреждает порядка 50% юнитов на примерно 50%. Несколько ЖУКов повреждауют больше.
В целом идея появление такого артефакта воспринята игроками положительно, но требуется ваша помощь, чтобы не ввести в игре дисбаланс.
Артефакт можно перевозить без проблем, захватывать, продавать, можно сделать количество использований 1 раз, если это нужно.
1. Хорошо это или плохо?
2. Какая цена должна быть у арта?
3. Сколько раз использования?
4. Др. характеристики?
За последние годы количество кораблей (юнитов) у игроков сильно выросло и некоторые бои стали считаться часами (!!!). В игре стояло ограничение на 100 тыс. кораблей во флоте, но это все равно не решало проблему, т.к. игроки просто отправляли много флотов в один и тот же бой.
Для решения этого вопроса была разработана новая система боя на основе статистических показателей исходя из ТТХ юнитов (кстати сам обсчет боя написан на java, а игра на php). Иначе говоря, юниты теперь не делают выстрел за выстрелом, а рассчитываются вероятностные характеристики, кто по кому попал и какой нанес урон.
Сейчас игроки без проблем отправляют весь необходимый флот в атаку или оборону. Вот примеры некоторых боев по новой системе боя:
более 400 млр ресурсов общих потерь по результатам боя
более 5 трл потерь в ресурсах, подловили игрока, разгром флота и обороны
Тема в архиве.