Coder Social home page Coder Social logo

tanks's People

Contributors

sogrin avatar svtz avatar

Watchers

 avatar  avatar  avatar

Forkers

sogrin

tanks's Issues

Переставшие вещать сервера не исчезают из поиска

Допускаю, что сломал какой-то переход, когда перепиливал UI.
Воспроизведение:

  • Создать сервер на 7777
  • Подключиться к нему в лобби клиентом, отключиться (остаться на экране поиска игр)
  • Отменить сервер на 7777, создать на 7776
  • У клиента на экране поиска игр не исчезнет сервер 7777, но появится 7776 - баг 1
  • При подключении клиента на 7776 доступных игроков не видно - баг 2
  • Если на предыдущем шаге попробовать подключиться ко всё ещё висящему 7777 - игроки есть!

Все манипуляции проделывать, не выходя из игры.

Сетка движений vs сетка разрушений

Изначально танк двигался по 1 клетке, а рушить должен был по 0.5.
Тут возникала проблема, когда танк подъезжает к полуразрушенной стенке и пытается повернуться на 90 градусов.
Т.к. танк в этот момент находится между узлами - то он выравнивается по ближайшему, и при этом может оказаться поверх полуразрушенной стенки, что есть баг (к слову, утверждается, что в 8битных танчиках он просто не мог так подъехать).

Окей, подумали-подумали, и приравняли сетку движений к сетке разрушений. Хотели как лучше - получилось как всегда. Появились проблемы со стрельбой.
Чтобы снаряд уничтожал стенку по всей ширине танка, ему в своё время пришлось увеличить размер коллайдера, в реузультате чего коллайдер снаряда значительно превосходит реальную ширину этого снаряда. Пока сетка движений была 1, всё было хорошо. Но когда сетка стала 0.5, то стали возникать странные (с точки зрения пользователя-игрока) приколы, когда ты пытаешься пустить снаряд вдоль стеночки (по прямой, параллельной стене и отстоящей от неё на 0.5), а снаряд врезается в эту стену. Что ещё веселей - подобным же образом можно уничтожить другой танк.

Надо думать, сейчас вижу два варианта:

  • вернуть сетку движений 1.0 и придумать что-то, чтобы танк не мог подъехать вплотную к полуразрушенной стенке (сделать как в 8-битных)
  • уменьшить коллайдер снаряда до правильных размеров, но при этом сделать что-то, чтобы стенки по прежнему ломались по ширине танка.

Попробовать квадратные коллайдеры

Коллайдеры танков сейчас - круги. Изначально так было сделано, чтобы избежать проблем с поворотом танка в узких коридорах, но сейчас это уже не должно быть актуальным (т.к. танк фактически "телепортируется" в правильное положение).
Нужно попробовать переделать на квадраты, это должно убрать странное поведение при смещённых на 0.5 корпуса столкновениях между игроками.

Анимация гусениц

Сейчас гусеницы статичны, что на больших разрешениях экрана вообще не смотрится.
Надо приделать анимацию в движении.

Точки спавна

  • Поддержка на карте
  • Игрок спавнится в любой свободной точке

Счётчик фрагов

  • Считать фраги
  • Показывать фраги в меню по tab (это меню надо ещё сделать)

Больше цветов танчиков

Сейчас свой танк рисуется синим, противники - красные, союзники - жёлтые.
Надо подумать на тему раскраски каждый игрок - свой цвет, по крайней мере для Deathmatch.

Т.к. у танка два элемента (корпус и башня), которые по сути могут иметь разные цвета, можно пофантазировать на тему "обозначать команду цветом корпуса, игрока цветом башни".

HP танков

Сейчас ХП обозначается какой-то уродливой полоской на танке.
Предполагаю, что индикатор ХП вообще не нужен, потому что по-умолчанию танк должен умирать от одного попадания. А возможность выдержать больше попаданий - это какие-то баффы, которые должны иначе отображаться. Вплоть до пририсованных к корпусу квадратиков динамической защиты.

Использовать Custom Spawn Functions

Выглядит как некоторая оптимизация. Вместо того, чтобы каждый раз создавать новый объект, сделать пул переиспользуемых объектов. Может хорошо ощущаться со снарядами, особенно когда все вокрут стреляют без остановки.

https://docs.unity3d.com/Manual/UNetCustomSpawning.html

Повисает подключение ливнувшего игрока

Пока чинил #29, обратил внимание, что подключение ливнушего игрока остаётся в состоянии isConnected == true. А игрока-то и нет, он отключился. Вопрос: так и должно быть, или это баг? Если это баг, то не может ли оно иметь отношение к #26 ??

Баффы

Различные баффы и спавнеры баффов.
Что на первое время приходит в голову:

  • Ремонт танка
  • Ускорение
  • Силовой щит (временная неуязвимость)
  • Увеличение урона

Вероятно, здесь нужно сделать только ремонт (самое простое имхо), а на остальные завести отдельных фич

При получении урона танк теряет способность выравниваться по сетке

Танк должен всегда доезжать до следующего узла сетки. Допустимо застревать между узлов, только если случилось столкновение.
Судя по всему, как-то криво считается столкновение со снарядом. В результате танк , после попадания в него, перестаёт прилипать к сетке, т.к. считает, что с чем-то всё ещё соприкасается.

Элемент карты - лес

Лес - элемент карты, который никак не мешает перемещению, но прячет танки, находящиеся в нём. Т.е. мешает обзору.

Перерисовать текстуры 8х8

Требования изменились, изменения вызваны горьким опытом испытаний на большой карте.
В связи с этим, с сего момента приравниваем 1 unit == 8px
Что-то я уже перерисовал (а то от артефактов глаза вытекали), нужно доделать остальное:

  • Бонус ускорения
  • Корпус танка
  • Башня танка
  • Гусеницы танка
  • Маркер выбранного пункта меню
  • Снаряд
  • Фон
  • Дерево

Кручёный снаряд

Если стоять лицом, скажем, вверх. А потом одновременно нажать пробел и вниз.... снаряд улетит вверх, причём кручёный снаряд)))

Раскраска танков

Танки разных команд должны иметь разные цвета. Нужно определить набор стандартных цветов

  • Синий - свой танк
  • Желтый - союзник
  • Красный - враг
    Ну или как-то ещё.
    И научиться красить танки в эти цвета.

Бонусы: продолжение

Просто зафиксирую мысли.

  • бонусы не обязательно хорошие, но и плохие
  • если был хороший и никто не взял, на его месте спавнится плохой

Камера во время боя

Сейчас статичная, что для больших уровней вообще не подходит. Камера должна как-то следовать за танком (возможно, по-умному)

Счётчик респавна

Во время оборатного отсчёта респавна, нужно отображать сообщение "танк уничтожен", и количество секунд до восстановления.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.