svtz / tanks Goto Github PK
View Code? Open in Web Editor NEWЭто будет пародия на 8-битные танчики. Может быть.
License: MIT License
Это будет пародия на 8-битные танчики. Может быть.
License: MIT License
Сейчас невозможно повернуть танк, не передвинувшись. Нужно обеспечить такую возможность.
Если стоять лицом, скажем, вверх. А потом одновременно нажать пробел и вниз.... снаряд улетит вверх, причём кручёный снаряд)))
Всё дело в корне из 2х.
Предполагаю, что можно починить, домножая на это волшебное число размеры BoxCast'а в зависимости от направления снаряда (если по диагонали, то домножать)
Сейчас статичная, что для больших уровней вообще не подходит. Камера должна как-то следовать за танком (возможно, по-умному)
Сейчас сетка разрушений 2х2. Должна быть 4х4, т.е. в два раза меньше.
Со своим танком всё ОК, но вот танки другого игрока могут срезать углы и ездить как-то боком.
Баг чисто визуальный, но надо чинить, мне не нравится.
Танки разных команд должны иметь разные цвета. Нужно определить набор стандартных цветов
Различные баффы и спавнеры баффов.
Что на первое время приходит в голову:
Вероятно, здесь нужно сделать только ремонт (самое простое имхо), а на остальные завести отдельных фич
В Unity можно писать тесты, нужно поразбираться и обложиться ими, иначе дальше будет плохо.
В 8-битном стиле.
В итоге невозможно запустить вторую игру на том же компе
Есть сценарий, в котором танк не остановится в следующем "узле" сетки, даже если игрок отпустит кнопку. Можно поиграться, воспроизводится регулярно. Нужно починить.
Коллайдеры танков сейчас - круги. Изначально так было сделано, чтобы избежать проблем с поворотом танка в узких коридорах, но сейчас это уже не должно быть актуальным (т.к. танк фактически "телепортируется" в правильное положение).
Нужно попробовать переделать на квадраты, это должно убрать странное поведение при смещённых на 0.5 корпуса столкновениях между игроками.
Изначально танк двигался по 1 клетке, а рушить должен был по 0.5.
Тут возникала проблема, когда танк подъезжает к полуразрушенной стенке и пытается повернуться на 90 градусов.
Т.к. танк в этот момент находится между узлами - то он выравнивается по ближайшему, и при этом может оказаться поверх полуразрушенной стенки, что есть баг (к слову, утверждается, что в 8битных танчиках он просто не мог так подъехать).
Окей, подумали-подумали, и приравняли сетку движений к сетке разрушений. Хотели как лучше - получилось как всегда. Появились проблемы со стрельбой.
Чтобы снаряд уничтожал стенку по всей ширине танка, ему в своё время пришлось увеличить размер коллайдера, в реузультате чего коллайдер снаряда значительно превосходит реальную ширину этого снаряда. Пока сетка движений была 1, всё было хорошо. Но когда сетка стала 0.5, то стали возникать странные (с точки зрения пользователя-игрока) приколы, когда ты пытаешься пустить снаряд вдоль стеночки (по прямой, параллельной стене и отстоящей от неё на 0.5), а снаряд врезается в эту стену. Что ещё веселей - подобным же образом можно уничтожить другой танк.
Надо думать, сейчас вижу два варианта:
Нужно нафигачить карт для режима deathmatch
Добавить фон, динамику на стартовый экран. Настроить внешний вид GUI
Лес - элемент карты, который никак не мешает перемещению, но прячет танки, находящиеся в нём. Т.е. мешает обзору.
Танк должен всегда доезжать до следующего узла сетки. Допустимо застревать между узлов, только если случилось столкновение.
Судя по всему, как-то криво считается столкновение со снарядом. В результате танк , после попадания в него, перестаёт прилипать к сетке, т.к. считает, что с чем-то всё ещё соприкасается.
Просто зафиксирую мысли.
Во время оборатного отсчёта респавна, нужно отображать сообщение "танк уничтожен", и количество секунд до восстановления.
Сейчас ХП обозначается какой-то уродливой полоской на танке.
Предполагаю, что индикатор ХП вообще не нужен, потому что по-умолчанию танк должен умирать от одного попадания. А возможность выдержать больше попаданий - это какие-то баффы, которые должны иначе отображаться. Вплоть до пририсованных к корпусу квадратиков динамической защиты.
Требования изменились, изменения вызваны горьким опытом испытаний на большой карте.
В связи с этим, с сего момента приравниваем 1 unit == 8px
Что-то я уже перерисовал (а то от артефактов глаза вытекали), нужно доделать остальное:
Сейчас гусеницы статичны, что на больших разрешениях экрана вообще не смотрится.
Надо приделать анимацию в движении.
Внезапно.
Допускаю, что сломал какой-то переход, когда перепиливал UI.
Воспроизведение:
Все манипуляции проделывать, не выходя из игры.
Где-то (в главном меню?) надо показывать номер версии игры.
Время между уничтожением танка и респавном должно быть ненулевым.
Подумать на тему подключения игрока в процессе боя.
Надо вкрутить IoC-контейнер, иначе скоро у нас начнётся адочек.
Пока смотрю на вот этот: https://github.com/modesttree/Zenject
Выглядит как некоторая оптимизация. Вместо того, чтобы каждый раз создавать новый объект, сделать пул переиспользуемых объектов. Может хорошо ощущаться со снарядами, особенно когда все вокрут стреляют без остановки.
Если игрок покидает матч во время обратного отсчёта респавна, его танк всё равно появляется.
Сейчас свой танк рисуется синим, противники - красные, союзники - жёлтые.
Надо подумать на тему раскраски каждый игрок - свой цвет, по крайней мере для Deathmatch.
Т.к. у танка два элемента (корпус и башня), которые по сути могут иметь разные цвета, можно пофантазировать на тему "обозначать команду цветом корпуса, игрока цветом башни".
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.