
Наконец-то закончил разработку игры Bomberman. Решил на отдельную страничку вынести инфу по ней, может кому-то она будет всё-таки интересна (игра или инфа :D )
Так как Гугля удалил приложение, то решил дать возможность скачать игру прям с блога. Качаем Bomberman (Версия 3.6). Или по QR коду:

Можете почитать о том, как я писал Bomberman’а на Android. Исходники игры расшарил на GitHub’е.
Способности
В игре 8 возможных бонусных способностей. Некоторые встречаются чаще других, какие-то теряются в случае смерти…
Способность | Название | Описание |
---|---|---|
![]() |
Bomberman Bombs | За каждый полученный бонус количество возможных одновременно установленных бомб возрастает на один. То есть, за 1 полученный бонус, вы можете одновременно установить 2 бомбы. Если ещё один получите, то уже 3. Ну и т.д. |
![]() |
Flames | С каждым бонусом вы увеличиваете диапазон взрыва. После первого подобранного бонусы дальность пламени составляет 2 клетки во все стороны, после второго — 3, ну и т.д. |
![]() |
Speed | Самая редкая способность, встречается всего один раз на 4 уровне. Увеличивает скорость передвижения игрока./td> |
![]() |
Wallpass | Эта способность дает вам способность проходить сквозь кирпичные стены, точно так же, как некоторые противники делают. В случае смерти способность теряется. |
![]() |
Detonator | Быть может самая ценная способность в игре. Детонатор дает вам способность взорвать установленные бомбы, когда захотите. При детонации взрывается самая старая бомба. Будьте осторожны, способность теряется в случае смерти. |
![]() |
Bomberman Bombpass | Довольно полезная способность, которая спасёт вас, если вы заблокировали себя установленной бомбой. Если вы поймали себя в ловушку, эта способность позволит вам пройти сквозь бомбу. В случае смерти способность теряется. |
![]() |
Flamepass | Если вы получили эту способность, то можете не опасаться взрыва бомб — вы получаете иммунитет от него. В совокупности с детонатором делает игру довольно простой. В случае смерти вы потеряете эту способность. |
![]() |
Mystery | Способность предоставляет временную неуязвимость. В это время вы не можете быть убиты ни монстрами, ни взрывами. Однако способность длится конечный промежуток времени, так что будьте осторожны. |
Противники
В игре восемь различных врагов, каждый немного отличается от остальных. Кто-то быстрее, кто-то настырнее, а некоторые способны проходить сквозь блоки. Balloom, как пример, блуждают бесцельно, в то время как другие, заметив вас, бросаются в погоню.
Противник | Имя | Очков за убийство | Скорость | Настырность (: | Проходит ли сквозь стены |
---|---|---|---|---|---|
![]() |
Balloom | 100 | Медленно | Низко | Нет |
![]() |
Oneal | 200 | Средне | Средне | Нет |
![]() |
Doll | 400 | Средне | Низко | Нет |
![]() |
Minvo | 800 | Быстро | Средне | Нет |
![]() |
Kondoria | 1000 | Оч. медленно | Высоко | Да |
![]() |
Ovapi | 2000 | Медленно | Средне | Да |
![]() |
Pass | 4000 | Быстро | Высоко | Нет |
![]() |
Pontan | 8000 | Быстро | Высоко | Да |
Уведомление: libGDX: Sprite и поворот | Suvitruf's Blog
Добрый день! А почему гугл удалил приложение? Очень классно получилось! Протестировал на Nexus S 4G CDMA — работает всё отлично.
Нарушение авторских прав.
Права на игру же у Konami.
Эта игра всегда мне нравилась, спасибо автору. Но есть серьёзные недочеты. Так, к примеру, если не поставить игру на паузу, а простоьсвернуть приложение, то после возобновления часть противников оказываются за пределами игрового поля. А при постановке на паузу некоторые противники проходят через тросов слепую ранее бомбу
Вряд ли я когда-нибудь буду игру доделывать. Сейчас времени нету совсем =/
Как и на еще не хилую кучу других игр
Кстати — много времени потратил на создание?
1-2 месяца.
На нексус 7 кнопка установки бомбы находится ближе к центру экрана, а не у правой его границы.
А если просто название поменять, отрисовать текстурки красивые (hd), и снова зарелизить? Ну или добавить фишечек типа подземелья или типа стрельбы, а то жалко ведь
Положение можно в настройках поменять)
Можно попробовать с новыми текстурами зарелизить.
Игра детства.
Спасибо тебе, добрый человек)
Исходники открыть не планируете?
Я пока думаю над реализацией мультиплеера, так что вряд ли.
Уведомление: Как я писал Bomberman'а на Android | Suvitruf's Blog
Зачет))) давно хотел занятся подобной разработкой, но лень меня побеждала … интересные статьи.
А где ты брал ресурсы? выдирал из оригинальной игры ?
Спрайты частично в сети нашёл, частично в эмуляторе выдирал. Музыку в эмуляторе выдирал.
В nestopia можно некоторые звуковые каналы отрубать, чтобы выделить конкретный звук)
Спасибо! Творческих успехов.
Благодарю (:
Привет.
Как думаешь, если отрисовать кастомную графику и продавать под другим названием — Конами не будет наезжать?
Если игра платная, мог бы этим заняться, я относительно неплохой пиксельщик.
Спасибо тебе за порт!! Теперь любимая игра всегда в кармане! ^_^
(: Рад, что понравилась.
спасибо!!!загрузил игру..и залип……..как в далеком прошлом. :-)
успехов и новых идей!
Страничку в избранное. :-)
Хорошая работа, отличный блог. Желаю тебе успехов. =)
Добрый день! Посмотрел твой код на Github, очень интересовало взаимодействие между игровыми объектами в игровом мире.
Возникло пару вопросов:
1. Является ли необходимым передавать в класс игрока объект игрового мира и усложнять метод перемещения?
Получается, игрок знает ВСЕ об игровом мире, а метод Move делает несколько действий: 1)сохраняет состояние 2)Изменяет состояние 3)Проверяет на коллизии и в случае оных: 4) Возвращает состояние.
Не лучше ли определить класс игрового мира, как реализующий интерфейс Observer?
Тогда Player не будет знать много о мире, а метод Move будет проще:
1) Сохранить состояние 2)Изменить состояние 3)Оповестить об изменении состояния.
Мир, как наблюдатель и класс, знающий о блоках и игроке посчитает коллизии и в случае оных вызовет команду Undo, которая вернет игрока на сохраненное прошлое место. (Аналог в реальной жизни: если ты идешь в стенку, то что ты остановишься, инициирует стенка, когда ты ударишься в нее лбом :))) )
Ну и в будущем, наблюдать за движением игрока можно заставить: 1) Игровых НПС и врагов 2) Менеджер звуков, который определить звук движения и т.д.
Все что я написал — мое ИМХО, но порассуждать на тему архитектуры: где должно происходить обработка взаимодействия между игровыми объектами и другие вопросы, я бы очень хотел :)
А не с кем :(
В идеале класс игрового мира должен реализовать интерфейс, в Player передавать ссылку на него. Тогда игрок будет знать только о необходимых методах. Это, как минимум, в целях инкапсуляции лучше)