BoxingText - бокс по переписке

Решил я отвлечься и по-быстрому сделать какую-нибудь игрушку. По-быстрому, увы, не получилось, но все-таки вышло.

boxingtext_-_1.png

boxingtext_-_2.png

(счастливые обладатели 100500-дюймовых мониторов могут менять размер окна кнопками PageUp и PageDown)

Да, опять мультиплеер, да опять бокс. Ну не могу я без него. Только в этот раз на Love2D.
Вдохновленный Corrupted от белого медведя, решил тоже сделать что-то тактическое, но на 2-х игроков.
Геймплей — что-то вроде переписки и карточной игры с цифрами.


Игроки по очереди добавляют цифру в конец буфера, если буфер с конца стал похож на один из ваших наборов цифр — вы выбрасываете удар. Если среди этих цифр есть та, что есть в «блоке» у противника — удар блокируется. Если комбинация заканчивается на цифру, к-я есть в «уклоне» противника — то противник уворачивается от удара и получает дополнительный ход на контратаку.
Цель игры — снести противнику все здоровье. Причем с каждым пропущенным ударом шкала здоровья укорачивается. Так что если не успели прикончить в этом раунде — в следующем будет легче.
Сама величина цифр ничего не значит — это, по сути, просто 4 вида иероглифов.
Сила удара зависит только от длины совпавшей комбинации. Самая сильная комбинация (длиной 5 символов) сносит противнику 80% здоровья.

«Карт» противника Вы не видите, так что можете только гадать — какие сейчас противник использует комбинации и ставить блок и уклоны на них. Правда, игрок может поменять какие-то цифры в комбинации и вы не сможете понять какие и действительно ли он их поменял, а не просто пропустил ход.
Для обучения можно сыграть в локальную игру, где видны все карты.

Что сейчас есть:
- В начале у нас 4 комбинации длиной 2, 2, 3, 4. Начальные цифры в комбинациях выбираются случайно.
- Длина комбинаций — от 2 до 5. Кол-во цифр — 4.

- Шкала преимущества в раунде и подсчет очков. Сейчас судей — нет, победить можно только нокаутом.
- Клинч (на цифре 0). Прерывает любую атаку соперника, но и нашу тоже (на след. ход точно никакая его комбинация не совпадет). Правда не знаю как ограничить клинчевание чтобы нельзя было все время так делать.
- Выбор начальной длины комбинаций (2,2,3,4, 2,2,2,2, 2,2,3,3, 4,4,5,5) и кол-ва блоков/уклонов (3,0, 2,1, 1,2, 0,3) перед боем. Так мы сможем делать ставку на скорость или силу ударов.
- Внести «скорость» боксеров в виде шкалы действия, уменьшаемую с получением урона. Шкала заполняется с разной скоростью. Как только она заполнится у одного из боксеров — он получает возможность сделать ход. Это нужно чтобы побитые боксеры ходили реже здоровых. И чтобы можно было выбрать более быстрого боксера против медленного и выбрасывать комбинации из 2-х цифр когда нам дают возможность сделать 2 хода подряд.
- Шкала силы, укорачиваемая так же, как и здоровье. Вымахавшийся боксер реже ходит и наносит меньше урона.
- Ограничение времени на ход (чтобы вы быстрей думали).
- Общение между игроками через текстовой чат и по обоюдному согласию ставить игру на паузу.
- Возможность играть против случайного ИИ.
- Звуки ударов, попаданий, промахов.

Но это только если игра получилась интересной.

В мультиплеере игра открывает порт 12345 с UDP-соединением — не забудьте его открыть в брэндмауэре/антивирусе (чтобы у вас работал сервер), а также разрешить игре выходить в интернет через все порты (чтобы работал клиент). Для соединения клиент должен знать IP-адрес сервера. Игра может неправильно определить свой IP-адрес, сообщайте тот, что выдал вам провайдер.
Если кто-то из игроков огорожен роутером, то ему нужно настроить перенаправление с 12345 порта роутера на свой компьютер, а другому игроку сообщить внешний IP-адрес роутера, а не свой.

За тест мультиплеера спасибо Dr. Zlo и markertat.

Самое главное. Ссылка на скачивание:
win v0.5.1


Сам не играл — проверял только работоспособность и ошибки. Так что не знаю — что-то интересное, играбельное получилось или фигня полная. Да и как вообще можно сказать — интересная мультиплеерная игра или нет, не поиграв с другим игроком? За сим и выкладываю.
Так что можете переписываться, кооперироваться, а я посмотрю — не отравитесь ли тем, что я приготовил.

Движок игры (Love2D 0.10.1) требует от видеокарты поддержку OpenGL 2.1 и OpenGL ES 2. На совсем уж древнем говне мамонта может не заработать. Например, на моем ноутбуке не запустилось (пишет ошибку «Cannot compile vertex shader code» в boot.lua). Если сильно надо будет — портирую на 0.9.1, он на ноуте у меня работает.
На Windows 7 после выхода может крашиться, это норма.
И еще я не даю 100% гарантии что игра не будет вылетать, а мультиплеер — работать. Вам не привыкать.

Ах да, еще кое-что важное:
Windows XP sp3 32-bits — full support.