Skip to content

roxblnfk/MazePHP

Repository files navigation

MazePHP

image

Когда-то я писал всякую непонятную хрень в группе статей "RGameEngine", которую мало кто читал, ещё меньше кто понимал и, в итоге, ни кому это не пригодилось вообще :) И вот, наконец, выкладываю играбельный результат! Это не то, к чему я стремился в той или иной степени, но как промежуточный вариант, имеет место быть.

Игровой алгоритм
Запускается уровень. Задача игроков: нужно первым дойти до финиша (желтой ячейки). После факта финиширования запускается обратный отсчёт, по окончании которого меняется карта. Все игроки получают коды карты, генерируют её (на это по умолчанию отводится 3 секунды, должно хватать всем), после чего все игроки появляются в одной точке и снова бегут к финишу :)
Особенности
- любой игрок может исчезнуть, стать инкогнито (клавиша пробел). Например, чтобы скрыться от преследования, или втихаря обогнать всех. - кто доходит до финиша, тому предоставляется возможность летать :) Клавиши движения превращаются в рычаги управления вектором ускорения своего движения. - каждый уровень по возможности сопровождается случайной картинкой с сервера ob5.ru. По умолчанию картинки в среднем качестве сохраняются в папку Pictures - игра написана на движке RGameEngine. Первичный алгоритм генерации уровней написал hichkok, за что ему выдвигается особая благодарность, алгоритм хороший, но вышло говнокодисто :)
Перспективы развития
- любой участник сети develnet может написать свой адекватный генератор уровней, который я подгоню под игру (нужно уточнить все условия для этого); - можно сделать расчёт нескольких равноудалённых от финиша респаунов, но для этого нужно бы другой генератор уровней, тот что сейчас мало для этого подходит; - добавление возможности админить сервер; - очки, статистика, базы игроков... - сделать лобби на отдельном сайте, в котором можно будет увидеть доступные запущенные серверы
Запуск и настройка сервера
Запуск сервера производится файлом "START SERVER!.bat" Настройка: в папке /server/files лежит файл options.txt, открываем его текстовым редактором и правим. Список доступных параметров с их значениями по умолчанию и расшифровками:
name=The First Maze Server - имя сервера, отображаемое в публичном списке серверов
port=7931 - порт сервера
addr=0.0.0.0 - занимаемый локальный адрес (по умолчанию адреса всех интерфейсов)
wdth=20 - ширина карты
hght=20 - высота карты
finishtime=10.0 - время с момента первого финиширования до смены карты
loadingtime=3.0 - время, дающееся клиентам на отрисовку карты
maxplayers=32 - ограничение по кол-ву игроков
maxconnections=300 - бессмысленный параметр
globallobby=1 - регистрировать сервер в публичном списке серверов
Лучше не удалять конфиг-файл.
Мой отзыв
Несмотря на свои же ожидания и прогнозы, игра получилась довольно забавной! В этой игре вы можете продемонстрировать не только скорость прохождения головоломки типа лабиринт, но, также, можете публично затроллить оппонентов, коварно наяб обманывать, направляя их на путь ложный. По моим наблюдениям, новички (и не только) обладают развитым стадным инстинктом, профессионалы же сей игры более индивидуальны и умеют управлять массами, ясно предвидеть исходы выбранных путей.
Замечания
Уровни 100х100 генерируются слишком долго, что даже игроки вылетают по таймауту на среднестатистических компах. Хоть такие уровни и не популярны, но это всё-равно не очень хорошо… При плохом интернете наблюдаются лаги и задержки

Может потребоваться vcredist

About

Сетевая игра лабиринты

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published