Home

Реклама

Konquest

  • 1 Мар, 2009 at 5:25 AM
Cray2
Есть замечательная игра из комплекта kde-games: konquest.

[Если вам не интересна сама игра - сразу переходите к пункту номер 6 - он может оказаться интересным.]

Рассматривается пакет kde4-konquest из kde 4.2 в OpenSUSE 11.1. Только ее мало кто любит. Скорее всего даже сами разработчики. Так как нет сетевого режима, редактора карт и в документации не отображены особенности реализации, которые будут оказывать сильное влияние на вашу стратегию.

Я все-таки взял в руки vim, ctags и cscope и почитал как оно внутри устроено.

1) Отправка флота на свою планету.
Как известно любому игроку в konquest, каждая планета имеет характеристику "мощь кораблей". Можно отправить с "сильной" планеты флот на "слабую", а потом с нее атаковать противника. В окне "флоты" весь флот имеет мощь той планеты, с которой был отправлен. Но у меня была надежда, что корабли, произведенные на "сильной" планете свою мощь не теряли - в документации на этот счет я ничего не нашел. Эта надежда была разрушена. На самом деле все корабли отправленные с планеты X (или находящиеся на ней) в сражениях имеют мощь, равную мощи планеты. Если они прибудут на другую планету (как вариант завоюют недружественную) - их мощь изменится.

Если затраты на транспортировку не велики - выгоднее слабые корабли отправлять на ближайшую сильную планету, а уже с нее атаковать. Или просто не собирать флот на ближайшей к противнику планете, а атаковать несколькими флотами.

2) Миф номер 2: отдаленные планеты сильны. Когда я посылал минимальные флоты на отдаленные нейтральные планеты - они часто терпели неудачу. Я полагал, что корабли в полете ломаются и до планеты долетает только часть флота. Так же была теория, не подтвержденная практикой, что отдаленные планеты сильнее тех, что находятся в скоплениях.

Мощь и производительность планет не зависит от их местоположения - это произвольные величины, определяемые при создании карты. Кроме тех, что являются homeworld игроков - там эти величины заданы константами (статически прописаны в коде), которые вы и наблюдаете каждый раз на первом ходе.

Сила нейтральных планет в том, что каждый новый ход им добавляется один корабль. Изначальный флот на нейтральной планете равен ее производительности. Если вам было достаточно 20-30 кораблей для завоевания ближайших планет, то такого флота будет недостаточно для завоевания отдаленных планет ходу этак к десятому.

3) Так же у меня была теория, связанная со следующей ситуацией:
Я послал флот для завоевания планеты. Флот потерпел неудачу. Я послал еще один - после завоевания планеты там количество кораблей оказалось больше моего первоначального флота.
Теория была в том, что "наши" не только разбили противники, но и взяли пленных.

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

4) Порядок сражений или прибытия подкреплений: сначала выполняется для 1ого игрока, потом для второго и так далее. Понятнее на примере: вы игрок номер 4. На ходе 26 на вашу планету должно прибыть подкрепление с другой вашей планеты и недружественный флот игрока номер 3. Номер игрока 3 меньше - значит сначала нападет его флот (пусть ему удалось завоевать планету), а затем прибудет ваше подкрепление и попытается ее отбить. Новые боевые единицы с этого хода достанутся окончательному хозяину планеты (пункт 3).

Если вы игрок номер <последний> и вы в один и тот же ход с вашими противниками пребываете на какую-то планету - вам придется биться только с победителем. Если вы первый - со всеми флотами, претендующими на планету по очереди.

5) Мощь кораблей на самом деле означает вероятность. Бросается кубик с континумм граней, показывающий вещественное число от 0 до 1 - если кубик показал число ниже мощи вашего корабля - вы сбили один корабль противника. Потом тоже самое повторяется для вашего оппонента. До тех пор, пока у одного из вас не останется кораблей.

То есть на картах побольше можно оценивать свой флот как произведение количества кораблей на их мощь. На маленьких картах это подводит. Вероятность - сука бессердечная.

6) По поводу нарушения патентов в свободном ПО. Обнаружил, что konquest все-таки нарушает патенты (помимо очевидных типа патента на односвязные списки - наверняка у нескольких компаний в разных формулировках он есть).
Дело в том, что в файле gamelogic.cc (у меня строка 201) в функции, реализующей сражение флотов противников содержится комментарий: "let's get ready to rumble...".
По данным Википедии фраза запатентована американским мужиком по имени Боб Арум.

Я надеюсь, что я не один играю в konquest и кому-то это может оказаться полезным.

Tags:

StarCraft

  • 26 Янв, 2008 at 3:12 PM
Cray2
Каждый образованный человек читал Пушкина, слушал Моцарта, хотя бы раз в жизни играл в StarCraft. Помню, что играл в него когда-то давно, поэтому, увидев на полочке, решил взять.
Для жителей Омска : приобрести это чудо можно в ТЦ "Каскад" на верхнем этаже в игроманском отделе.

Запускал в wine-0.9.53. Это работает, хорошо работает, но сделано как-то не по-человечески. Устанавливается все и работает нормально без лишних телодвижений. Проблемы начинаются, когда появляется желание воспользоваться самым интересным - Battle.Net. Чтобы он заработал потребуется пара минут чистого времени и еще некоторое количество десятков минут на гугление и чтение комментов на appdb.winehq.org. В кратце все сводится к следующему :
1) поставить игру
2) запускать в `эмулированном рабочем столе` [согласно русской локализации wine]

Но тут проявятся еще пара неприятных багов : типа обращения по невыделенному указателю и вылетания игры. Что весьма необычно, причина кроется в шрифтах.

3) поствить шрифты от MS (msttcorefonts в ubuntu и debian) [в своем OpenSuse 10.3 скачал и поставил с sf.net]
4) запускать с поддержкой OpenGL

После этого все начинает работать. Немного глючит интерфейс самого Battle.Net, но не критично - на игре это не сказывается.

Успел сыграть 2 раза, это было очень недолго и очень неудачно ((
Так что запустить Battle.Net мало - надо еще хоть сколько-нибудь научиться играть в StarCraft.

Tags:

wine + win игры

  • 16 Окт, 2007 at 6:05 PM
Cray2
Эксперименты с Wine и Win играми как правило заканчиваются смертью X сервера.
Опыты проводились на играх Oni, Heavy Metal FAKK2, Герои 3 "Дыхание смерти", при этом использовались wine-0.9.47, Xorg 7.2.

Oni : с карточкой от NVidia (GF6800) сразу после заставки выдает seg fault, на i915GM работает около минуты, после чего все рушится.

Heavy Metal FAKK2 : упало только 1 раз, но играть не реально : курсор мыши не захватывается. При попытке повернуться на 360 градусов 'невидимый курсор' доходит до 'невидимого края экрана' и поворачиваться далее невозможно.

В то же время Heavy Metal FAKK2 замечательно работает под Cedega. Oni опять выдает seg fault.

Герои 3 в каких-либо ошибках пока замечены не были, от X сервера "Дыханием смерти" пока не пахнет.

Выводы : в следущий раз не побояться трудностей с доставкой и заказывать нативные версии (для HMF2 она имеется).

Tags:

Profile

Cray2
[info]dev_hands
dev_hands

Latest Month

Май 2009
Вс Пн Вт Ср Чт Пт Сб
     12
3456789
10111213141516
17181920212223
24252627282930
31      

Syndicate

RSS Atom
Разработано LiveJournal.com
Designed by Tiffany Chow