Насколько SpeedSim адекватно описывает движок oGame?
Модератор: Gorlum
-
- Император Вселенной
- Сообщения: 7526
- Зарегистрирован: 13 июн 2009, 15:06
- SuperNova login: Сингулярность/Gorlum
- Контактная информация:
Re: Насколько SpeedSim адекватно описывает движок oGame?
Н-да. В рамах совместимости с оГеймом, полез читать алгоритмы боя на форум оГейма и в код спидсима. Так вот - похоже, они-таки симулируют каждый корабль! Я вот думаю - а надо ли оно такое реально?! Это ж памяти будет хавать немерянно! А как оно будет тормозить!!!
Или я чего-то не понимаю? Вообще, есть тут С-шники? Вот тут http://sourceforge.net/projects/speedsim/files/ лежит спидсим и его код. Может кто-нибудь посмотреть и сказать доходчиво - они симулируют бой по типам кораблей или по каждому кораблю отдельно? А то что-то я нихрена понять не могу...
Или я чего-то не понимаю? Вообще, есть тут С-шники? Вот тут http://sourceforge.net/projects/speedsim/files/ лежит спидсим и его код. Может кто-нибудь посмотреть и сказать доходчиво - они симулируют бой по типам кораблей или по каждому кораблю отдельно? А то что-то я нихрена понять не могу...
Re: Насколько SpeedSim адекватно описывает движок oGame?
А почему будет тормозить?Gorlum писал(а):Это ж памяти будет хавать немерянно! А как оно будет тормозить!!!
1) симулятор убрать из игры. Жалко, но ... симулируем в другом месте, на отдельном сервере, или еще как - например, в отдельный пакет, и на скачку выложить - симулятор оффлайн, на жабоскрипте )
2) совершенно спокойно ставим бои в очередь. Если так вышло, что одновременно происходит сотня боев, кто-то узнает о результатах на полминуты позже. Ничего, потерпят.
3) весь скорострел кратен 5. Считаем по 5-кам вместо отдельных кораблей. Этакий компромисс между совсем дискретным рассчетом и совсем общим, по флотам в сумме.
4) поскольку в начале следующего раунда все корабли имеют полную броню и щиты, значит, хранить в массиве их параметры не требуется. Тогда я вообще не понимаю, почему должно тормозить - в цикле перебрать 10000 кораблей, однотипных, и посчитать кого убили для 4-процессорных Xeon'ов вообще не задача, а так... на миллисекунды.
короче, не знаю - но особых тормозов не вижу. Самое длительное - это запрос из базы, а их будет наверно 2 - перед собственно расчетом, получить флот атакующего и обороняющегося - если и не 2 (параметры кораблей еще получить по каждому типу, наверно), то в любом случае не больше, чем сейчас.
-
- Император Вселенной
- Сообщения: 7526
- Зарегистрирован: 13 июн 2009, 15:06
- SuperNova login: Сингулярность/Gorlum
- Контактная информация:
Re: Насколько SpeedSim адекватно описывает движок oGame?
3) и 4) Вот есть подозрение, что они обсчитывают КАЖДЫЙ корабль. Поэтому надо хранить броню КАЖДОГО корабля. И хранить весь бой, поскольу в огейме броня не восстанавливается. Кратность сразу идет побоку - не имеет смысла тогда вообще менять систему боя, если вводить кратность. Для ЗС это будет все равно, что не менять ничего в большинстве случаев - и так не убьешь, и так.AlexBlack писал(а):А почему будет тормозить?Gorlum писал(а):Это ж памяти будет хавать немерянно! А как оно будет тормозить!!!
1) симулятор убрать из игры. Жалко, но ... симулируем в другом месте, на отдельном сервере, или еще как - например, в отдельный пакет, и на скачку выложить - симулятор оффлайн, на жабоскрипте )
2) совершенно спокойно ставим бои в очередь. Если так вышло, что одновременно происходит сотня боев, кто-то узнает о результатах на полминуты позже. Ничего, потерпят.
3) весь скорострел кратен 5. Считаем по 5-кам вместо отдельных кораблей. Этакий компромисс между совсем дискретным рассчетом и совсем общим, по флотам в сумме.
4) поскольку в начале следующего раунда все корабли имеют полную броню и щиты, значит, хранить в массиве их параметры не требуется. Тогда я вообще не понимаю, почему должно тормозить - в цикле перебрать 10000 кораблей, однотипных, и посчитать кого убили для 4-процессорных Xeon'ов вообще не задача, а так... на миллисекунды.
короче, не знаю - но особых тормозов не вижу. Самое длительное - это запрос из базы, а их будет наверно 2 - перед собственно расчетом, получить флот атакующего и обороняющегося - если и не 2 (параметры кораблей еще получить по каждому типу, наверно), то в любом случае не больше, чем сейчас.
Про тромоза. Когда подкинешь мне комп с парой 4-процессорных ксеонов - тогда можем поговорить о "так, миллисекундах". Сейчас все считает двуядерний Пень. Который, кстати, до сих пор не окупился.
И, наклнец, прл сам менежер боев. Ты представляешь, что означает написать асинхронный обработчик боев на PHP? Вот я даже не знаю, с какого конца браться. Но, я так понимаю, для тебя эта задача - раз плюнуть, что ты проблем не видишь. Ну что ж - напиши и скинь мне. Я потестю и вставлю в игру. И никаких проблем!
Re: Насколько SpeedSim адекватно описывает движок oGame?
SpeedKernel\SKernel_Sim.cppGorlum писал(а): Может кто-нибудь посмотреть и сказать доходчиво - они симулируют бой по типам кораблей или по каждому кораблю отдельно? А то что-то я нихрена понять не могу...
По каждому кораблю отдельно. Достаточно увидеть комментарий
Если не считать по кораблям, а только по суммам, не вижу разницы между малым и большим флотом// backup set fleet
// possibly copy into file for less memory usage when using _very_ big fleets?
Re: Насколько SpeedSim адекватно описывает движок oGame?
асинхронный, на ПХП... я вообще не знаю ПХП, не пугай, дядько
Никто ж не говорит, что сейчас - плохо? Мы ж играем )) но получается да, СпидСим и супернова - две большие разницы.
Никто ж не говорит, что сейчас - плохо? Мы ж играем )) но получается да, СпидСим и супернова - две большие разницы.
-
- Император Вселенной
- Сообщения: 7526
- Зарегистрирован: 13 июн 2009, 15:06
- SuperNova login: Сингулярность/Gorlum
- Контактная информация:
Re: Насколько SpeedSim адекватно описывает движок oGame?
Ха! Если бы по комментарию можно было бы на 100% идентифицировать алгоритм - я бы не спрашивал. Но вот в инициализации симулятора в коде в цикле заполняется структура размером к-во типов юнитов*мак_к-во_игроков... Короче, нужно не просто комменты почитать - с этим и я справился, а внимательно посмотреть сам код.AlexBlack писал(а):По каждому кораблю отдельно. Достаточно увидеть комментарийЕсли не считать по кораблям, а только по суммам, не вижу разницы между малым и большим флотом// backup set fleet
// possibly copy into file for less memory usage when using _very_ big fleets?
- Ivash
- Император Вселенной
- Сообщения: 2688
- Зарегистрирован: 13 сен 2009, 08:53
- SuperNova login: Ivash
- Откуда: Харьков
Re: Насколько SpeedSim адекватно описывает движок oGame?
Может срин поможет)
"Всё, что имеет начало, имеет и конец."
-
- Император Вселенной
- Сообщения: 7526
- Зарегистрирован: 13 июн 2009, 15:06
- SuperNova login: Сингулярность/Gorlum
- Контактная информация:
Re: Насколько SpeedSim адекватно описывает движок oGame?
Да есть у меня спидсим. Гонять его практически бесполезно - там в коде есть несколько рэндомов, которые делают результаты очень различающимися. В частности, одним из таких моментов является шанс взрыва корабля при повреждении его более чем на 30%. А взрыв, скажем, одной СН в бою может принципиально изменить результат.Ivash писал(а):Может срин поможет)
Так что надо именно найти С-шника и вычленить алгоритм.