Проекты
GameDev.ru / Проекты / Форум / White Pass тактика

White Pass тактика

Поделиться

Страницы: 1 2 Следующая

YuryFПостоялецwww16 авг. 201317:34#0
Рабочее название:  White Pass

Краткое описание: браузерная многопользовательская военно-тактическая игра в жанре научной фантастики. Основу игры составляют сражения небольшими отрядами (4 от каждого игрока), проходящие в следующем формате: отдача приказов в режиме планирования всеми игроками одновременно (в отличие от обычного пошагового режима), затем бой в реальном времени в течение 10 секунд без возможности вмешаться, и затем снова переход в режим планирования (см. видео). Планируется глобальная карта и базы.

Похожие игры: Total Influence Online, Laser Squad Nemesis

Используемые технологии: HTML5 Canvas2D,IndexedDB, С#.


Скриншоты:
WPScreen2 | White Pass тактика
WpScreen1 (2) | White Pass тактика
Видео игрового процесса:


Сейчас доступна довольно альфа версия по адресу:http://wpgame.cloudapp.net/
(Игра-демо с простым AI,если войти можно играть с человеком)
Пояснение интерфейса:
движение камеры стрелки и мышь
При стрельбе зеленая область - область с максимальной вероятностью попадания, дальше с каждой клеткой вероятность попадания падает на 8 процентов
Интерфейс1 | White Pass тактика

Работоспособность проверялась только в Хроме последней версии и Firefox.
Сейчас много багов и тд. Если у вас выскочило окно с текстом error- попробуйте обновить страницу.
И в случае любых проблем обновляйте страницу))

Что хотелось бы услышать от сообщества
1) Стоит ли развивать дальше данный проект
2)Общее впечатление
3)Конструктивная критика

Правка: 17 авг. 2013 14:35

мулПостоялецwww16 авг. 201318:07#1
> HTML5 Canvas2D
Надо было хоть немного почитать про оптимизации канваса. Почему такие тормоза-то страшные?
Я уж было подумал, что у вас реальное 3D из-за таких лагов, а у вас спрайты так тормозят, лол.

Просто пара советов из своего опыта.
- Используйте по меньшей мере два канваса один над другим. На нижнем рисуете статичный бэкграунд и обновляете его только по необходимости, а не 30 раз в секунду.
- Что за каракули в некоторых js-файлах? Я надеюсь, вы не додумались нагруженные функции через обфускатор прогнать?

YuryFПостоялецwww16 авг. 201318:53#2
мул
Тормоза это да)
Канвасов как вы наверно заметили, если в js файлы заглядывали не 1 а больше десятка, с различной частотой перерисовки.

> обновляете его только по необходимости, а не 30 раз в секунду.
если не перерисовывать 30 раз в сек- какие ваши предложения по поводу плавной анимации?

> - Что за каракули в некоторых js-файлах? Я надеюсь, вы не додумались
> нагруженные функции через обфускатор прогнать?
Основные тормоза именно в перерисовке. никаких  особо тяжелых вычислений нет.
ЗЫ Если есть опыт в js/canvas с удовольствием учту ваши наставления

Правка: 16 авг. 2013 18:55

мулПостоялецwww16 авг. 201319:40#3
YuryF
Не знаю, как у вас сделано, но если бы эту игру делал я, обратил бы внимание на следующие вещи:
1) Префетчинг (предварительная подготовка) заднего плана. В первую очередь плоского заднего плана, земли, которая не может ничего собой заслонять. Насколько я понял, затайливание происходит наложением нескольких полупрозрачных спрайтов друг на друга. Это дорогостоящая операция, поэтому перед началом уровня лучше отрисовать всю землю частями на невидимом канвасе и с помощью метода toDataURL получить набор картинок, готовых к простому укладыванию "плиткой".
2) Рисование только того, что видно игроку. Т.е. следить за вижуалбоксом и не рисовать спрайты за границами экрана.
3) В интерфейсах использовать HTML и CSS. Вывод больших текстов, особенно с эффектами, очень тормозит канвас.
4) Не разводить слишком много канвасов. Хорошо, когда их 2-5, но больше 10 - это уже слишком. Мобилки такое вообще не держат.

Я не знаю, может быть многое из этого уже и реализовано, в коде я не разбирался.

мулПостоялецwww16 авг. 201319:43#4
И ещё. Глупое замечание, но всё же - никогда не использовать скругление канваса - быстродействие падает в разы. Я на это как-то попадался.
StantПостоялецwww16 авг. 201319:43#5
Описание звучит как игра мечты. Но все, конечно, будет зависеть от реализации.
Попробовать не удалось, в демо игре все зависает на завершении первого хода. Регистрация похоже не работает.
мулПостоялецwww16 авг. 201319:49#6
> если не перерисовывать 30 раз в сек- какие ваши предложения по поводу плавной анимации?
я имел ввиду не перерисовывать бэкграунд, где нет анимации.
YuryFПостоялецwww16 авг. 201320:44#7
Stant
Случился какой то непонятный баг, сейчас вроде все работает, можно попробовать снова)
DarkEagleПостоялецwww17 авг. 20130:15#8
Нижнее меню перегружено, много пустоты. Лучше скиллбар как в ММО.
ninjaПостоялецwww17 авг. 201312:36#9
интерфейс приятный
а что происходит если дана команда стрелять а враг вне досягаемости?
также когда юнит бежит а по нему начали стрелять, может сделать возможность задать реакцию, например вступить в бой, не реагировать, или отступать?
мне кажется должны юниты управляться такими настройками в большей степени, нежели нацеливанием на конкретные клетки/противников, ибо ситуация все время меняется
ninjaПостоялецwww17 авг. 201312:36#10
(подписался)
YuryFПостоялецwww17 авг. 201312:39#11
мул
> 1) Префетчинг (предварительная подготовка) заднего плана. В первую очередь
> плоского заднего плана, земли, которая не может ничего собой заслонять.
> Насколько я понял, затайливание происходит наложением нескольких полупрозрачных
> спрайтов друг на друга. Это дорогостоящая операция, поэтому перед началом
> уровня лучше отрисовать всю землю частями на невидимом канвасе и с помощью
> метода toDataURL получить набор картинок, готовых к простому укладыванию
> "плиткой".
На самом деле спорное решение: вот можно ознакомится с рисовкой на невидимом канвасе http://jsperf.com/imageprerender
ка здесь видно рисовать сразу на канвасе выгоднее.
А насчет метода toDataURL-он очень медленный.
Я использовал когда, пробовал сделать вот так http://www.youtube.com/watch?v=OqZS__fC9kM.
И было медленно
мул
> 2) Рисование только того, что видно игроку. Т.е. следить за вижуалбоксом и не
> рисовать спрайты за границами экрана.
Так и сделано.

Правка: 17 авг. 2013 12:42

YuryFПостоялецwww17 авг. 201314:32#12
ninja
При стрельбе зеленая область - область с максимальной вероятностью попадания, дальше с каждой клеткой вероятность попадания падает на 8 процентов

> также когда юнит бежит а по нему начали стрелять, может сделать возможность
> задать реакцию, например вступить в бой, не реагировать, или отступать?
Это верное замечание.
Так и планируется сделать- пока есть только 2 варианта реакции- (защитная -увеличивается уворот) и  атакующая если нет текущих приказов стрелять в ближайшего врага.
И вообще довольно много планов в развитии реакции на события.

А при нацеливании на определенную клетку тратится меньше времени на простой(принятие решений в кого стрелять).

мулПостоялецwww17 авг. 201315:03#13
YuryF
> На самом деле спорное решение: вот можно ознакомится с рисовкой на невидимом канвасе http://jsperf.com/imageprerender
> здесь видно рисовать сразу на канвасе выгоднее.
> А насчет метода toDataURL-он очень медленный.
По-моему, ты не так понял. Я предлагал сделать подготовку тайлов земли _перед_ стартом игры, поэтому нет разницы, медленно она делается или быстро. Суть в том, что так получаешь набор изображений-прямоугольников террейна, которые затем можно рисовать без всяких наложений друг на друга.

Правка: 17 авг. 2013 15:03

YuryFПостоялецwww17 авг. 201315:15#14
мул
Хм возможно стоит попробовать.
Но мне кажется что здесь есть пару подводных камней.

Правка: 17 авг. 2013 15:15

Страницы: 1 2 Следующая

/ Форум / Проекты / Оцените

2001—2017 © GameDev.ru — Разработка игр