Разработка и ромхакинг > Разработка игр
Tanks! (бережно переносим всю логику Battle City в современный мир)
<< < (7/9) > >>
kingserg:
Tanks!
Я начал разработку римейка в январе 2013 года. На настоящий момент в игре присутствуют все оригинальные уровни, все бонусы (включая револьвер, который теперь обозначен тремя звездами). С самого начала планировал игру именно в 3D, но сохранить всю оригинальную атмосферу и хардкорность.
Что сделано сейчас... да почти всё. Я сейчас допиливаю мультиплеер, некоторые мелочи. Редактор карт ещё надо допилить. Но для завершения игры мне требуется моральная поддержка, осознание того, что в эту игру буду играть не только я, а ещё много-много людей.

Есть несколько роликов на Youtube, снятые в процессе разработки.
7 мая 13 июня 8 сентября
Ну и сам проект. Вроде пока можно пройти все уровни на лёгком уровне сложности, но после последнего будут глюки. Руки не доходят. Ещё и нормальный, и тяжёлый уровень сложности не доделаны.

Список изменений:
в 0.901:
1. Изменил некоторые буквы шрифта для читабельности;
2. Поправил скорости танков на оригинальные;
3. Поправил звуки выстрелов и взрывов;
4. Есть новый пункт в "2 PLAYERS B", называется "IP CONNECT". Пока не работает.

в 0.915:
1. Эксперименты с бесплатной оркестральной музыкой и записями настоящей артиллерийской стрельбы;
2. Новые модели, полученные по пиксельным рисункам оригинальных танчиков;
3. Локальная игра вчетвером;

в 0.916:
1. Четыре камеры, висящие прямо над танками игроков, включаются\выключаются клавишами 1, 2, 3, 4;

в 0.917 и 0.917b:
1. Работа над добавлением оригинальных звуков с консоли;
2. Вражеский танк может подобрать звезду и тройную звезду на сложности Hard.

в 0.917c:
1. Исправил испорченный сбор бонусов в 0.917b;
2. Добавил кнопку одиночного выстрела (смотрим в лаунчере в настройках ввода кнопку под названием "Fire2").

в 0.917d:
Ещё на несколько шагов ближе к оригиналу.
1. На сложности Easy и Normal выпадают бонусы, соответствующие Battle City,
на Hard - соответствующие Tank 1990.
Соответственно, допилил наконец бонус "корабль".
2. На экране нового уровня кнопкой Fire1 можно выбирать уровень;
3. Частоту огня вражеских танков я увеличил на 0.1 сек.,
что теперь позволяет игрокам всегда выходить победителем из дуэли с врагом один на один.

0.917e:
1. Теперь, если был взят бонус "Крепость", то она не появится мигающей на экране победы.
2. Обработчик изменения текущего тайла для ИИ теперь работает в правом нижнем углу тайла. Было в центре тайла.
3. Теперь на HARD появляются сразу три танка, но с лимитом для количества игроков. Т. е. для одного игрока максимум 4 танка.
4. Теперь противники подбирают все бонусы на сложности HARD, но действие бонусов пока не совсем такое, как в оригинале.
Пояснение.
Для простоты я пока что сделал, что вражеский танк прокачивается до максимального,
если берёт а) жизнь, б) щит (т. е. каску из оригинала), в) тройную звезду.
Если берёт бомбу, то взрываются игроки.
Если берёт часы, то игроки тормозятся на 6,66 сек (в отличие от 10 секунд для противников).
Если берёт корабль, то получает корабль и +1 к здоровью.
5. Графическое отображение взятого бонуса Корабль;
6. Корабль даёт +1 к здоровью;
7. Убрал знак копирайта и заменил надпись "ALL RIGHTS RESERVED" на "NO RIGHTS RESERVED".

0.917f:
1. Теперь танки передвигаются дискретно, очень похоже на оригинал;
2. Добавлено огибание углов, подмеченное в оригинале;
3. Добавлен новый изометрический вид камеры.
https://drive.google.com/file/d/0Bz4bx_bJnXvveU9rdTZNSVNGSnM/view?usp=sharing
GalaxyBot_00:

--- Цитата: Heidr от 08 Декабрь 2013, 11:20:24 ---Я тут поиграл в Spelunky и придумал такое: а что, если в танках в одном углу карты поставить закрытый сундук со случайным бонусом, а в другом - ключ от него, который можно дотащить до сундука. Но пока везёшь ключ, нельзя стрелять.

--- Конец цитаты ---
это уже наркомания
Heidr:
Почему? Необязательная к выполнению фича, хочешь бонус - тащишь ключ, не хочешь - просто отстреливаешь танки.
ПАУК:
Heidr, играй лучше дальше в эти спелюнки...
kingserg:
Знаю, что из программистов ужасные дизайнеры интерфейса, поэтому предлагаю совместно его обдумать. Сложилось так, что интерфейс, чтобы соответствовать классическому, состоит из поля квадратных символов 40х30. Вот так, например, я планирую сделать экран, где можно начать сетевую игру.

--- Код: ---########################################
#            >servers: 1-10            #
#            255.255.255.255           #
#            255.255.255.255           #
#           >255.255.255.255           #
#            255.255.255.255           #
#            255.255.255.255           #
#            255.255.255.255           #
#            255.255.255.255           #
#            255.255.255.255           #
#            255.255.255.255           #
#            255.255.255.255           #
#          back   >join    host        #
#             direct connect           #
#    open port 25001 for host server   #
########################################

--- Конец кода ---

Вот здесь я планирую заменить три экрана одним:

--- Код: ---########################################
#       >number of players: 1          #
#                                      #
#        map pack: battle city         #
#                                      #
#        difficulty: Easy              #
#                                      #
#        info:                         #
#            INFINITE LIVES            #
#            INFINITE CONTINUES        #
#            NO BONUSES FOR CPU        #
#                                      #
#       start                          #
#                                      #
#                                      #
#       back                           #
########################################

--- Конец кода ---

Экран сетевого лобби:

--- Код: ---########################################
# name\ip          ping     command    #
# host             000 ms  >kick       #
# 255.255.255.255  050 ms   kick       #
# none                      kick       #
# none                      kick       #
#                                      #
#       >map pack: battle city         #
#        difficulty: hard              #
#        start                         #
#        back                          #
#                                      #
#                                      #
#                                      #
#                                      #
########################################

--- Конец кода ---

P. S. Поскольку тут шрифт не квадратный, я уменьшил для показа поле до 40х14. Удалённые строки играют роль одинарного интервала между строками. Сейчас выглядит похоже на то, что будет. Если хотите предложить свой вариант, используйте тег CODE или моноширный шрифт.
ПАУК:
А как это на практике выглядит? Эти экраны...
kingserg:

--- Цитата: ПАУК от 02 Январь 2014, 17:22:16 ---А как это на практике выглядит? Эти экраны...

--- Конец цитаты ---
Над этим и тружусь сейчас, чтобы показать на практике. Новый интерфейс придёт сразу с более-менее работающим онлайн-кооперативом.
А тут выше просто эскизы, чтобы в голове не держать, что и где должно быть расположено.
ПАУК:
Тему-то перенесли. А я чуть не забыл про неё, ладно хоть ссылку сохранил.
Как там дела?
kingserg:
Всё в порядке. Пробую разные подходы к синхронизации игровых данных для мультиплеера. Тестирую на искусственном пинге и с потерями пакетов. Не хочется выпускать мультиплеер, который будет работать плохо.
kingserg:
Стыдно признаться, но из-за собственной небрежности и сильной поломки винчестера Seagate Barracuda (ST3000DM001) я потерял кучу данных, в том числе все исходники проекта Танчиков вместе с бэкапами. Боюсь, что разработка проекта остановлена.
ПАУК:
А если восстановить винт?
Skay:
ПАУК, вы так говорите как будто это раз плюнуть) Конечно, если развалилась файловая таблица, или бэдов много - востановить не проблема (в первом случае полностью, во втором с небольшими потерями, но все равно есть шанс доканать винт). А вот если что то из механики - то только в СЦ, и пару лет назад востановление данных с мертвого винта, обходилось в пару жестких по цене (по крайней мере у нас)
kingserg:
В данном случае именно механика. Можете сами погуглить по "Seagate FAIL Servo Op=0100 Resp=0003". Буду копить денежку, возможно, буду пробовать восстанавливать. Но, сами понимаете, это дело такое. Деньги обычно лишними редко бывают.
Самому обидно, конечно, первая версия мультиплеера была почти закончена. Три ночи без сна, опробовал все возможные способы восстановления в домашних условиях. Всё, кроме разборки диска, а это уже лучше поручить специалистам.
Valet2:
Так-так, похоже, у кого-то случилось "це-це" с сигейтом? Или и правда механика?

У нас в Питере есть фирма Софтджойс, занимающаяся восстановлением данных с носителей. Цены, конечно, пипец, но они мегапрофессионалы. Сайт: q-lab.ru
kingserg:
Я уже относил винт в R-Lab на восстановление - сказали, без шансов. Погнутые головки, крупные царапины на поверхностях диска. Теперь разве что декомпиляция последнего билда, и собирать заново. Но у меня уже полностью нет желания с этим возиться.
Death devil:
Значит проект уже считается как провальным?
kingserg:
Почему же провальный? Что сделано, то уже сделано. Редактор карт выложу отдельно, в виде виндовой утилиты. Мультиплеера по интернету уже не будет. Играть уже можно как вдвоём, так и вчетвером.

Добавлено позже:
Кажется, у меня есть хорошие новости.) Мне удалось вытащить из своего последнего билда звуки, текстуры, модели и, что самое главное, слегка покоцанный код. Так что, если у меня хватит сил и терпения, я смогу собрать проект снова.) Всё может быть.)
kingserg:
Снова вернулся к Танчикам. :) Порушенный проект напоминает сцену из апокалипсиса, всё нужно восстанавливать плюс исправлять ошибки из-за декомпиляции. Но зато проект не заброшен. ;)
Хочу заметить, что я пересмотрел своё отношение к проекту. Мне не хочется теперь полностью и с точностью до мельчайших деталей воссоздавать оригинал. Кому нужен оригинал, тот и так поиграть сможет. В своих Танчиках хочу крутых и неожиданных фишек. :)
Heidr:
Ну и правильно. Так держать!
kingserg:
Может, кому интересно: потихоньку делаю онлайн-мультиплеер.
План такой:
1) Связь с мастер-сервером, создание и удаление игр;
2) Синхронизация состояния лабиринта;
3) Синхронизация передвижения танков;
4) Синхронизация положения пуль и взрывов.
Собственно, это уже было сделано, но до того, как исходники той версии потерял. Теперь заново приходится.
Пункт 1 готов, сейчас на втором. Общая схема такая: управление игроков передаётся серверу, от сервера клиентам идёт состояние лабиринта, положение танков, пуль, взрывов. Тут, конечно, по такой схеме пинг удваивается.
kingserg:
Пункт 2 завершён, работаю над третьим.
Навигация
Главная страница сообщений
Следующая страница
Предыдущая страница

Перейти к полной версии