• Обработка тайлов на SVG. Видны прорези между ними, что делать?

    sfi0zy
    @sfi0zy Куратор тега HTML
    Creative frontend developer
    Это похоже на известную проблему с рендерингом разных штук в браузерах. Тут два связанных момента - с одной стороны есть вопрос подгонки размеров элементов под пиксельную сетку на экране, и потенциальные ошибки с округлениями значений и "дырками" или "нахлестами" в 1px между сущностями на экране, а с другой - собственно сглаживание, когда у нас появляются промежуточные цвета, смягчающие переходы от одних к другим. Иногда, как в таких ситуациях, мы можем воспринимать их как неуместные.

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

    the user agent might turn off anti-aliasing


    или

    might adjust line positions and line widths to align edges with device pixels


    Но "might" не означает "must". На практике сглаживание или не отключается полностью, или отключается, но границы по пикселям смещаются так, что становится еще хуже, чем было, или еще какая фигня происходит. В разных браузерах все по-разному и поведение немного меняется со временем, так что старые костыли могут переставать работать. В CSS есть свойства, связанные со словом rendering, и они такие же мутные в своих формулировках.

    На практике это означает, что единственный вариант взять контроль над рендерингом в свои руки - это рисовать все на канвасе. И хотя вы говорите, что "канвас не рассматриваем", именно он и будет надежным вариантом решить такого рода проблемы раз и навсегда.
    Ответ написан
    2 комментария
  • Решил сделать свой пет-проект - игру, с использованием вебсоккетов, как лучше организовать неткод?

    saboteur_kiev
    @saboteur_kiev Куратор тега Разработка игр
    software engineer
    Зависит от вашего приложения.
    В шутерах шлются упрощенно "кейпрессес", туда, действия объектов "оттуда" и достаточно часто.
    Но именно поэтому шутеры ограничены количеством игроков.

    В РПГ шлются действия типа "игрок кастанул заклинание", "игрок нажал бежать на X и Y", после чего сервер просчитывает что происходит и шлет назад уже координаты видимых объектов с их статусом.

    Это становится понятно из управления - в условном контр-страйке для передвижения ты нажимаешь и отпускаешь стрелки. В условном MMORPG ты так не можешь, ты кликаешь мышкой в нужное место, и персонаж туда бежит по логике сервера (учитывая препятствия), но микроменеджментом ты не занимаешься.
    Ответ написан
    2 комментария
  • Решил сделать свой пет-проект - игру, с использованием вебсоккетов, как лучше организовать неткод?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Ты поднял очень трудную задачу. Ее многие игровые серверы фиксят годами. А потом еще борются с читерами.

    Можно на сервер передавать твои клавиатурные нажатия. С высоким приоритетом. Сервер будет интерполировать
    и создавать свою модель мира попутно проверяя тебя чтоб ты там не сильно телепортировался далеко.

    И все игроки тоже должны получать координаты всех. Как-бы рассылкой.

    Кстати подумай над UDP. Понятное дело что в рамках websocket у тебя диапазон возможностей будет
    ограничен тем что дано. Но мне кажется что производительный игровой сервак должен делать TCP
    как-бы обязательной частью протокола. И далее если клиент поддерживает (провайдер пускает)
    то можно договориться (negotiation) на уровне софта о дополнительной рассылке по UDP каких
    то не шибко важных событий игрового мира.
    Ответ написан
    2 комментария
  • Как сделать подобный шейп средствами css?

    Ankhena
    @Ankhena Куратор тега CSS
    Нежно люблю верстку
    Псевдоэлементы и радиальные градиенты
    https://codepen.io/AnnaSummer/pen/KKQgaaN
    Ответ написан
    1 комментарий
  • Анимация placeholder?

    Dr_Elvis
    @Dr_Elvis
    В гугле забанен
    Обычный эффект печатной машинки, только примененный к placeholder
    Ответ написан
    2 комментария