Блог пользователя awoo

Автор awoo, история, 9 лет назад, По-русски

Вступление

Всем привет! Недавно я решил "вспомнить молодость" и поиграть в Gravity Defied на своем телефоне. Нетрудно было найти порт этой некогда культовой игры на более современные платформы. Изначально написанная на J2ME, она быстро завоевала популярность у школьников прошлого десятилетия. Простейший геймплей (мотоциклист, преодолевающий различные трассы с высокими горами и глубокими ямами), замечательная физика (возможность вращения в воздухе) и простота модифицирования — вот секрет успеха Gravity Defied. И я мало того, что просто просиживал часы за прохождением новых дополнений, так еще и зарабатывал на помощи менее мастеровитым игрокам! Это уже позже пришло время миссии с вертолетом в GTA Vice City, трудностей Far Cry и HOMM 3...

Немного предыстории

И вот она снова на моем аппарате! Конечно, не оригинал — лишь ремейк для Android, но великолепная атмосфера передана в полном объеме. Игра настолько увлекла меня, что я представлял гордого мотоциклиста каждый раз, когда видел какую-нибудь ломаную линию, похожую на трассу из GD. После очередного контеста на Codeforces я сидел, ожидая пересчета своего рейтинга, смотрел на график в своем профиле... Да, ну и как вы догадались, у меня родилась идея использовать этот график в качестве уровня. Захотелось пережить вновь все успехи и неудачи, накопленные за полтора года пребывания в среде спортивного программирования...

Разработка

Одним прекрасным уже летним вечером я сел писать код и осознал, что не смыслю абсолютно ничего ни в моддинге в целом, ни в особенностях структуры Gravity Defied. Полез, естественно, бороздить просторы интернета в поисках необходимой информации. Узнал для начала, что в разных версиях GD для Android (есть официальная от Codebrew и неофициальная от разработчиков ВКонтакте, которая лично мне больше нравится) используется разный формат для файлов уровней. И если .gdlevel для официальной дался легко (Используется крайне подходящий для такого формат JSON), то вот с .mrg из неофициальной (также он использовался в той самой J2ME-игре) пришлось помучиться. Дело в том, что форумов, с которых можно что-то вытащить, очень немного (я нашел всего один и еще одну полезную вики). И когда наконец перевел всю информацию, написанную там, с лунного на понятный мне язык, ушел реализовывать. Небольшой скрипт на Python 3, получая через Codeforces API список проведенных раундов для указанных пользователей, создает список точек трека по изменению рейтинга и времени между соседними раундами. Использует только встроенные библиотеки (os, sys, time, urllib, json). Работает из консоли, притом может считывать ники, как из файла, так и из командной строки. Советы по установке и сам скрипт можете найти здесь.

Немного скриншотов результатов работы скрипта:

О найденных багах в скрипте и неточностях в данном посте пишите, пожалуйста, в личные сообщения.

Удачи и приятной игры!

  • Проголосовать: нравится
  • +245
  • Проголосовать: не нравится

»
9 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Давно заметил, что если бы мой график был трассой в Gravity Defied, то он бы был очень труднопроходимым)

  • »
    »
    9 лет назад, # ^ |
      Проголосовать: нравится +8 Проголосовать: не нравится

    Это ещё цветочки! ruban

  • »
    »
    9 лет назад, # ^ |
      Проголосовать: нравится +6 Проголосовать: не нравится

    Ну разве что участок с прыжком со 166 раунда на 173 не с первого раза проходится... А так, сложнее ruban пока трассы не нашлось. :P

»
9 лет назад, # |
  Проголосовать: нравится +30 Проголосовать: не нравится

would be very difficult playing with dreamoon_love_AA's graph, slopes too steep

»
9 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Туриста будет нефига проходить :)

»
9 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Наконец-то! Наверное, все про это думали, но всем было лень. Небольшой оффтоп, а в чем трудность Far Cry?

  • »
    »
    9 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Первый Far Cry был знаменит же мощным ИИ даже на легком уровне сложности. То заметят тебя с полукилометровой дистанции, то в голову тут же вынесут... Вот даже видео накопал по этому поводу: https://youtu.be/PnGAuJz4dMU

»
9 лет назад, # |
  Проголосовать: нравится -6 Проголосовать: не нравится

Вертолет в Вайс сити изи же..

  • »
    »
    9 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Незнание технических приемов порождало сложность прохождения. Не все догадывались, что можно использовать нумпад вместо мыши.

    • »
      »
      »
      9 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      Самое сложное: Гонка в первой мафии)

      • »
        »
        »
        »
        9 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        Ну не самое, конечно... но в топ точно попадает. Забросил, помнится, игру, так и не осилив эту миссию

      • »
        »
        »
        »
        9 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        Она проходилась довольно просто, если заметить, что A/D поворачивают колёса резко, а не плавно, как стрелки, и водить через WASD.