to post messages and comments.

arsng.livejournal.com

Было время, были увлечения. Жили как-то. Играли. Баловались. Одна игрушка зацепила особенно — "Ёжики в Quake II".
От самого начала до самого конца я был с ней.

habrahabr.ru

Об опыте написания AI к простенькому 2D шутеру

octagram.name

Ёжики в Quake II 1.07, исходники

gegames.org
Игры по сети в Ёжики в Quake II. В связи с тем, что я частично реализовал встроенную фичу Ёжиков, страница полностью обновлена.

Формат players.php, как мне кажется, я угадал. Это Ник|IP|Ник|IP|... Так как у меня роутер, у меня есть и внешний, и внутренний IP, и Ёжики поначалу принимали мой внешний IP за IP другого игрока, по чистому совпадению имеющему такой же ник, как у меня. Мне удалось поиграть со своим клоном, в точности повторяющим мои движения. Сейчас я это пофиксил. Если что–то на сервере не сделано, мне надо знать, как вызвать это действие из игры. Например, я не знаю, при каких условиях вызывается regis_fast.php и delete.php

Обнаружил мимоходом gegames.ru

Смотрим whois...

e-mail: [email protected]
created: 2009.09.03
paid-till: 2012.09.03

Смотрим HEAD gegames.ru
Last-Modified: Sat, 06 Nov 2010 06:56:34 GMT

Жаль, server на нём не наблюдается (ну что за жизнь!)

Решил–таки уделить время реализации сервера–медиатора в Ёжиков в Quake II. Факты таковы, что из версий 1.06, 1.07 и 1.07yl эта фишка как будто бы была вырезана, хотя строки в файле остались. Каким–то очевидным способом я не смог врубить игру по сети или заменить LAN Game на игру по сети в меню в exe'шниках последней версии, так что тренируюсь на 1.05, которую можно взять по адресу octagram.name

Пока что мне удалось всего лишь сделать regis.php и login.php. Сразу после успешного login.php вызывается player.php. Загвоздка в том, что я знаю, в каком формате ко мне приходят данные, но не знаю, в каком формате я должен их выдавать. Я не видел в рабочем состоянии ни сервер на gegames.org , ни сервер на egiksfun.aspid.ru. В случае с regis.php перебором выяснил, что нужно возвращать 0 или 1, и в login.php — тоже. players.php посложнее будет. Пока что игра крешится в ответ на мои данные.

На прошлой неделе со мной, как с администратором gegames.org , связался один из старожилов, у которого сохранился небезынтересный архив Ежей в Quake II, в том числе версия с автоматическим обнаружением чужих серверов, без ручного ввода IP и версия на прохождение, с автоматической подгрузкой новых уровней.

Пока на сайте не выкладывал, надо разобрать, разыграть, поднять, наконец, у себя сервер–регистратор.
octagram.name
octagram.name

youtube.com Забацал скринкаст Ёжики в Quake II. Я тут не нуб, но и не мастер

gegames.org

Текущий вариант:

//BFG
%2 показал фокус %1
//Blaster
%2 прижёг %1
//Shotgun
%2 сделал окно в %1
//Super Shotgun
%2 сделал дверь в %1
//Rifle
%2 заштопал свинцом %1
//chain gun
%2 сделал дуршлаг из %1
//grenade launcher
%2 угостил спелой гранатой %1
//rocket launcher
%2 дал прикурить %1
//hyper blaster
%2 устроил акробатический экзамен %1
//rail
%2 подзарядил %1

Есть предложения по улучшению?

Опять login.php и regis.php. Причём, судя по строчке gegames.org серость IP не влияет. АААА! Как они это делают? Были бы у них IP нормальные, я бы на провайдерском форуме поискал бы юзера. Но нет, там какой–то Мегафон, понятно, что на форуме Мегафона их не будет, если этот форум вообще есть, конечно.

Ёжики определяют свой IP на моей виртуалке по интерфейсу Host only. Может быть, они видят IP 192.168.. и просто не предлагают в разделе Multiplayer Game игру по Интернету? OK, переделал всё на 5.168... Нифига. Ничего не поменялось, не добавилось, и никаких строчек в логах тоже. Если в этих ежах действительно есть регистрация серверов в Интернете и автоматическое их обнаружение, я бы постарался запрогать эту фичу на серваке.

Вижу у себя в логах запросы вида

"90.189.55.81" — — [05/Dec/2010:15:55:59 +0600] "GET gegames.org HTTP/1.0" 400 9658 "-" "Mozilla/3.0 (compatible; Indy Library)"

А ещё login.php один раз проскочило. Меня разбирает любопытство, как они это делают? Я поиграл на разных картах, в разных режимах, даже реплеи посохранял. В сетевой игре элементы управления потыкал, создал сервер, на сервере потусовался. Тоже сохранил реплей, потыкал всё, что увидел. И нифига! В логах ни одного запроса от меня. Вообще, нигде в меню нет игры по Интернету или какого–либо намёка на соединение с Интернет. Есть только LAN Game. А, чтобы отправить на сайт рекорд Sheep Arena (аналог Crimson Land), нужно вручную код из игры ввести на сайте (на бывшем сайте, не на моём).

Люди ходят в лес по грибы, а ёжики ходят в лес по ёжики.
Люди бросают монетку в фонтан на счастье, а ёжики на счастье бросают гранату с балкона.

Чем бы продолжить этот ряд? gegames.org

Замечательная всё же вещь p2p. В моих egiki05 логотипа нет, решил, качну–ка альфу Ёжиков в Quake II. Фиг там. Вот попробуйте через Google найти рабочую ссылку. gegames.org сдох, увы. В–основном, перепосты с разных источников. Либо это download.ru, на котором ссылка прокисла, либо после всех перенаправлений в конечном итоге получается ссылка на файл с прокисшего gegames.org. И совсем другое дело GreyLink. Вбил туда egiki, и через секунду я не только узнал, какая у меня версия, но и скачал всяких разных других. (точно знал, что у меня не последняя, в последних мне скроллинг совсем не нравился)