Pro100 Bot

Пользователь

Регистрация: 11.07.2015

Сообщения: 7018

Рейтинг: 1616

Pro100 Bot

Регистрация: 11.07.2015

Сообщения: 7018

Рейтинг: 1616

Всем привет! Обсуждали с братом такую нереализованную механику в игре, когда ты (например, с зажатой специальной клавишей) сначала выбираешь места каста способности (их несколько), а при выборе всех точек запускается каст способности по всем этим точкам сразу. Как пример это мог быть Скай с аганимом: выбираешь сначала первую зону ульты, потом вторую, и тогда 2 ульты кастуются. Мы пришли к выводу, что такая механика нереализована потому, что она асинхронна, а, видимо, движок сурс 2 асинхронность не поддерживает. 

Как мы видим реализацию механики:

Вот ты Петух без аганима. Всё последовательно: выбираем область для ульты и кликаем --> это запускает анимацию каста --> это запускает затрату маны, саму способность и запускает кулдаун. Повторюсь: всё последовательно, синхронно. А вот ты с аганимом. И тут уже так: выбираешь область для ульты и кликаешь --> ЖДЁШЬ!!! и в то же самое время ПАРАЛЛЕЛЬНО выбираешь другую область для ульты и кликаешь --> это запускает анимацию каста --> это приводит к трате маны, запуску ДВУХ способностей и кд.

 

Вопрос: правильно ли мы увидели асинхронность здесь, правильно ли понимание асинхронности? И другой вопрос: а сурс2 поддерживает ассинхронность? Он на каком ЯП написан? Этот язык поддерживает ассинхронность?

пипец подкрался незаметно

Пользователь

Регистрация: 24.01.2020

Сообщения: 295

Рейтинг: -23

Нарушения: 155

пипец подкрался незаметно

Регистрация: 24.01.2020

Сообщения: 295

Рейтинг: -23

Нарушения: 155

Через доту надо другое объяснять. 

Закись Ашота

Пользователь

Регистрация: 10.05.2013

Сообщения: 11873

Рейтинг: 6777

Закись Ашота

Регистрация: 10.05.2013

Сообщения: 11873

Рейтинг: 6777

img
Pro100 Bot сказал(а):

Всем привет! Обсуждали с братом такую нереализованную механику в игре, когда ты (например, с зажатой специальной клавишей) сначала выбираешь места каста способности (их несколько), а при выборе всех точек запускается каст способности по всем этим точкам сразу. Как пример это мог быть Скай с аганимом: выбираешь сначала первую зону ульты, потом вторую, и тогда 2 ульты кастуются. Мы пришли к выводу, что такая механика нереализована потому, что она асинхронна, а, видимо, движок сурс 2 асинхронность не поддерживает. 

Как мы видим реализацию механики:

Вот ты Петух без аганима. Всё последовательно: выбираем область для ульты и кликаем --> это запускает анимацию каста --> это запускает затрату маны, саму способность и запускает кулдаун. Повторюсь: всё последовательно, синхронно. А вот ты с аганимом. И тут уже так: выбираешь область для ульты и кликаешь --> ЖДЁШЬ!!! и в то же самое время ПАРАЛЛЕЛЬНО выбираешь другую область для ульты и кликаешь --> это запускает анимацию каста --> это приводит к трате маны, запуску ДВУХ способностей и кд.

 

Вопрос: правильно ли мы увидели асинхронность здесь, правильно ли понимание асинхронности? И другой вопрос: а сурс2 поддерживает ассинхронность? Он на каком ЯП написан? Этот язык поддерживает ассинхронность?

Нажмите, чтобы раскрыть...

Это не реализовано потому что не реализовано, асинхронность тут вообще причем?

errorstalker

Пользователь

Регистрация: 01.11.2013

Сообщения: 3126

Рейтинг: 1295

errorstalker

Регистрация: 01.11.2013

Сообщения: 3126

Рейтинг: 1295

img

ты очень бредишь, движок очень гибок, и инженеры движка сорса условно гении, вот именно в этом они очевидно молодцы.

Для ская, спецом есть условие создание функции рядом с другим героем.

И функция запускаеться наверно не последоватьельно как ты описал:

(Ульта --> это запускает анимацию каста --> это запускает затрату маны, саму способность и запускает кулдаун)

А одновременно, если прожал ульту, значит минус мана, минус кд, а дальше только или попал противник в зону ульты.

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

Закись Ашота

Пользователь

Регистрация: 10.05.2013

Сообщения: 11873

Рейтинг: 6777

Закись Ашота

Регистрация: 10.05.2013

Сообщения: 11873

Рейтинг: 6777

img
Pro100 Bot сказал(а):

Вот ты Петух без аганима. Всё последовательно: выбираем область для ульты и кликаем --> это запускает анимацию каста --> это запускает затрату маны, саму способность и запускает кулдаун. Повторюсь: всё последовательно, синхронно. А вот ты с аганимом. И тут уже так: выбираешь область для ульты и кликаешь --> ЖДЁШЬ!!! и в то же самое время ПАРАЛЛЕЛЬНО выбираешь другую область для ульты и кликаешь --> это запускает анимацию каста --> это приводит к трате маны, запуску ДВУХ способностей и кд.

Нажмите, чтобы раскрыть...

Ты что в первом случае нажимал кнопки последовательно, что во втором. sammyyPepekek.png?1598626065

ke1evra

Пользователь

Регистрация: 25.12.2012

Сообщения: 1320

Рейтинг: 1189

ke1evra

Регистрация: 25.12.2012

Сообщения: 1320

Рейтинг: 1189

img
Pro100 Bot сказал(а):

выбираешь сначала первую зону ульты, потом вторую, и тогда 2 ульты кастуются

Нажмите, чтобы раскрыть...

ну да ну да, асинхронность на лицо roflanFacepalm.png 

Закись Ашота

Пользователь

Регистрация: 10.05.2013

Сообщения: 11873

Рейтинг: 6777

Закись Ашота

Регистрация: 10.05.2013

Сообщения: 11873

Рейтинг: 6777

img
ke1evra сказал(а):

ну да ну да, асинхронность на лицо roflanFacepalm.png 

Нажмите, чтобы раскрыть...

Параллельность. Я медленно, паралельно нажимаю сначала одну ульту, потом вторую. PepeKeyboard.gif?1613921689

Zemlenika

Пользователь

Регистрация: 23.06.2016

Сообщения: 22896

Рейтинг: 11497

Zemlenika

Регистрация: 23.06.2016

Сообщения: 22896

Рейтинг: 11497

Последовательно: ты кастуешь ульт - он прокастовывает своё время действия - кастуется автоматом второй ульт (ну или ты выбираешь куда нажать).

Асинхронно: второй ульт не ждёт пока кастанётся первый

Закись Ашота

Пользователь

Регистрация: 10.05.2013

Сообщения: 11873

Рейтинг: 6777

Закись Ашота

Регистрация: 10.05.2013

Сообщения: 11873

Рейтинг: 6777

img
Pro100 Bot сказал(а):

Вопрос: правильно ли мы увидели асинхронность здесь, правильно ли понимание асинхронности? И другой вопрос: а сурс2 поддерживает ассинхронность? Он на каком ЯП написан? Этот язык поддерживает ассинхронность?

Нажмите, чтобы раскрыть...

Сурс написан на с++, и да он поддерживает асинхронность. 

Данил Низамов

Пользователь

Регистрация: 17.08.2021

Сообщения: 468

Рейтинг: 320

Данил Низамов

Регистрация: 17.08.2021

Сообщения: 468

Рейтинг: 320

Какое отношения это имеет к асинку? Асинк это когда я отправляю серверу запрос, а моя локальная программа продолжает работать, пока ждет ответа. В доте это есть, иначе бы игроки не могли делать действия одновременно

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

ke1evra

Пользователь

Регистрация: 25.12.2012

Сообщения: 1320

Рейтинг: 1189

ke1evra

Регистрация: 25.12.2012

Сообщения: 1320

Рейтинг: 1189

img
Закись Ашота сказал(а):

Параллельность. Я медленно, паралельно нажимаю сначала одну ульту, потом вторую.

Нажмите, чтобы раскрыть...

А я впитываю дамаг и асинхронно очень быстро теряю хп PepeKek.png?1598626085

Закись Ашота

Пользователь

Регистрация: 10.05.2013

Сообщения: 11873

Рейтинг: 6777

Закись Ашота

Регистрация: 10.05.2013

Сообщения: 11873

Рейтинг: 6777

img
ke1evra сказал(а):

А я впитываю дамаг и асинхронно очень быстро теряю хп PepeKek.png?1598626085

Нажмите, чтобы раскрыть...

Это конкурентность, что произойдет раньше, ты впитаешь весь дамаг, или у тебя закончится хп. peepothink.png?1627073265

ke1evra

Пользователь

Регистрация: 25.12.2012

Сообщения: 1320

Рейтинг: 1189

ke1evra

Регистрация: 25.12.2012

Сообщения: 1320

Рейтинг: 1189

img
Pro100 Bot сказал(а):

Всем привет! Обсуждали с братом такую нереализованную механику в игре, когда ты (например, с зажатой специальной клавишей) сначала выбираешь места каста способности (их несколько), а при выборе всех точек запускается каст способности по всем этим точкам сразу. Как пример это мог быть Скай с аганимом: выбираешь сначала первую зону ульты, потом вторую, и тогда 2 ульты кастуются. Мы пришли к выводу, что такая механика нереализована потому, что она асинхронна, а, видимо, движок сурс 2 асинхронность не поддерживает. 

Как мы видим реализацию механики:

Вот ты Петух без аганима. Всё последовательно: выбираем область для ульты и кликаем --> это запускает анимацию каста --> это запускает затрату маны, саму способность и запускает кулдаун. Повторюсь: всё последовательно, синхронно. А вот ты с аганимом. И тут уже так: выбираешь область для ульты и кликаешь --> ЖДЁШЬ!!! и в то же самое время ПАРАЛЛЕЛЬНО выбираешь другую область для ульты и кликаешь --> это запускает анимацию каста --> это приводит к трате маны, запуску ДВУХ способностей и кд.

 

Вопрос: правильно ли мы увидели асинхронность здесь, правильно ли понимание асинхронности? И другой вопрос: а сурс2 поддерживает ассинхронность? Он на каком ЯП написан? Этот язык поддерживает ассинхронность?

Нажмите, чтобы раскрыть...

вы васяны, в игре 10 РАЗНЫХ устройств (игроков). доте пофигу, нажмёт ОДНО устройство 10 ультов или ВСЕ 10 нажмут по ОДНОМУ - здесь ВЕЗДЕ асинхронность

Pro100 Bot

Пользователь

Регистрация: 11.07.2015

Сообщения: 7018

Рейтинг: 1616

Pro100 Bot

Регистрация: 11.07.2015

Сообщения: 7018

Рейтинг: 1616

errorstalker сказал(а):

ты очень бредишь, движок очень гибок, и инженеры движка сорса условно гении, вот именно в этом они очевидно молодцы.

Для ская, спецом есть условие создание функции рядом с другим героем.

И функция запускаеться наверно не последоватьельно как ты описал:

(Ульта --> это запускает анимацию каста --> это запускает затрату маны, саму способность и запускает кулдаун)

А одновременно, если прожал ульту, значит минус мана, минус кд, а дальше только или попал противник в зону ульты.

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

Нажмите, чтобы раскрыть...

Перед тем как снимется мана и запустится кд, сначала идёт анимация каста. Как доказательство ульты СФа и Бары под батарейками Клока.

А вот потом насчёт маны, эффекта и кд не знаю. Поэтому через запятую написал.

ke1evra

Пользователь

Регистрация: 25.12.2012

Сообщения: 1320

Рейтинг: 1189

ke1evra

Регистрация: 25.12.2012

Сообщения: 1320

Рейтинг: 1189

img
Закись Ашота сказал(а):

Это конкурентность, что произойдет раньше, ты впитаешь весь дамаг, или у тебя закончится хп. peepothink.png?1627073265

Нажмите, чтобы раскрыть...

конкурентность, это когда в тебя кастует вся вражеская команда, а асинхронность решает, когда хп закончилось roflanBuldiga.png 

Pro100 Bot

Пользователь

Регистрация: 11.07.2015

Сообщения: 7018

Рейтинг: 1616

Pro100 Bot

Регистрация: 11.07.2015

Сообщения: 7018

Рейтинг: 1616

Закись Ашота сказал(а):

Это не реализовано потому что не реализовано, асинхронность тут вообще причем?

Нажмите, чтобы раскрыть...

Ну потому что как вижу в доте все способности обрабатываются последовательно, а в такой механике нет.

Закись Ашота

Пользователь

Регистрация: 10.05.2013

Сообщения: 11873

Рейтинг: 6777

Закись Ашота

Регистрация: 10.05.2013

Сообщения: 11873

Рейтинг: 6777

img
Pro100 Bot сказал(а):

Всем привет! Обсуждали с братом такую нереализованную механику в игре, когда ты (например, с зажатой специальной клавишей) сначала выбираешь места каста способности (их несколько), а при выборе всех точек запускается каст способности по всем этим точкам сразу. Как пример это мог быть Скай с аганимом: выбираешь сначала первую зону ульты, потом вторую, и тогда 2 ульты кастуются. Мы пришли к выводу, что такая механика нереализована потому, что она асинхронна, а, видимо, движок сурс 2 асинхронность не поддерживает. 

Как мы видим реализацию механики:

Вот ты Петух без аганима. Всё последовательно: выбираем область для ульты и кликаем --> это запускает анимацию каста --> это запускает затрату маны, саму способность и запускает кулдаун. Повторюсь: всё последовательно, синхронно. А вот ты с аганимом. И тут уже так: выбираешь область для ульты и кликаешь --> ЖДЁШЬ!!! и в то же самое время ПАРАЛЛЕЛЬНО выбираешь другую область для ульты и кликаешь --> это запускает анимацию каста --> это приводит к трате маны, запуску ДВУХ способностей и кд.

 

Вопрос: правильно ли мы увидели асинхронность здесь, правильно ли понимание асинхронности? И другой вопрос: а сурс2 поддерживает ассинхронность? Он на каком ЯП написан? Этот язык поддерживает ассинхронность?

Нажмите, чтобы раскрыть...

Есть четыре понятия:

 

Конкурентность.

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

 

Асинхронность.

Предполагает, что задача будет выполнена на другом устройстве.

 

Параллельность.

Задачи выполняются одновременно на нескольких ядрах\процессорах.

 

Многопоточность.

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

 

Pro100 Bot сказал(а):

Ну потому что как вижу в доте все способности обрабатываются последовательно, а в такой механике нет.

Нажмите, чтобы раскрыть...

Как тебе уже сказали, если бы сурс не поддерживал асинхронность, дота была бы невозможна. PepeSpasibo.gif?1592102734

Pro100 Bot

Пользователь

Регистрация: 11.07.2015

Сообщения: 7018

Рейтинг: 1616

Pro100 Bot

Регистрация: 11.07.2015

Сообщения: 7018

Рейтинг: 1616

Zemlenika сказал(а):

Последовательно: ты кастуешь ульт - он прокастовывает своё время действия - кастуется автоматом второй ульт (ну или ты выбираешь куда нажать).

Асинхронно: второй ульт не ждёт пока кастанётся первый

Нажмите, чтобы раскрыть...

И если хочется сначала выбрать две зоны, а потом уже одновременно начать кастовать, то последовательно это не реализовать?

У феникса птички асинхронно реализованы?

Gachi boSS

Пользователь

Регистрация: 15.05.2016

Сообщения: 6139

Рейтинг: 1214

Gachi boSS

Регистрация: 15.05.2016

Сообщения: 6139

Рейтинг: 1214

errorstalker сказал(а):

ты очень бредишь, движок очень гибок, и инженеры движка сорса условно гении, вот именно в этом они очевидно молодцы.

Для ская, спецом есть условие создание функции рядом с другим героем.

И функция запускаеться наверно не последоватьельно как ты описал:

(Ульта --> это запускает анимацию каста --> это запускает затрату маны, саму способность и запускает кулдаун)

А одновременно, если прожал ульту, значит минус мана, минус кд, а дальше только или попал противник в зону ульты.

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

Нажмите, чтобы раскрыть...

Сурс очень плох для доты.

Закись Ашота

Пользователь

Регистрация: 10.05.2013

Сообщения: 11873

Рейтинг: 6777

Закись Ашота

Регистрация: 10.05.2013

Сообщения: 11873

Рейтинг: 6777

img
Pro100 Bot сказал(а):

И если хочется сначала выбрать две зоны, а потом уже одновременно начать кастовать, то последовательно это не реализовать?

У феникса птички асинхронно реализованы?

Нажмите, чтобы раскрыть...

Причем тут понятие из программирования и то как ты кнопки нажимаешь.

Слово асинхронно, вообще не применимо к тому что ты пишешь. Ты не можешь асинхронно нажать кнопки. IcefrogGiggle.gif?1619503644

Ты можешь нажать кнопки либо одновременно, либо последовательно, все, точка.

Zemlenika

Пользователь

Регистрация: 23.06.2016

Сообщения: 22896

Рейтинг: 11497

Zemlenika

Регистрация: 23.06.2016

Сообщения: 22896

Рейтинг: 11497

Pro100 Bot сказал(а):

И если хочется сначала выбрать две зоны, а потом уже одновременно начать кастовать, то последовательно это не реализовать?

У феникса птички асинхронно реализованы?

Нажмите, чтобы раскрыть...

Ты как-то путаешь понятия. Если рассматривать весь цикл применения способности, то она асинхронна, т.к. второй каст не ждёт конца первого = функция не ждёт конца прошлой, чтобы выполниться. Если рассматривать применение способности, то оно последовательное (при условии, что тебе нужно выбирать обе аоешки), т.е. сначала ты выбираешь первую аоешку, а после этого вторую.

То же самое с птичками. Ты не ждёшь пока первая долетит и пока её эффект пропадёт с врага, чтоб кастануть вторую. Но ты не можешь одновременно кастануть сразу 4 птички по разным направлениям, т.к. клики последовательны.

Pro100 Bot

Пользователь

Регистрация: 11.07.2015

Сообщения: 7018

Рейтинг: 1616

Pro100 Bot

Регистрация: 11.07.2015

Сообщения: 7018

Рейтинг: 1616

ke1evra сказал(а):

вы васяны, в игре 10 РАЗНЫХ устройств (игроков). доте пофигу, нажмёт ОДНО устройство 10 ультов или ВСЕ 10 нажмут по ОДНОМУ - здесь ВЕЗДЕ асинхронность

Нажмите, чтобы раскрыть...

Васяны, и? Мы нигде и не писали, что мы разбираемся, лол. Тема не про мериние васюнами.

Зато теперь лучше понятно.

ke1evra

Пользователь

Регистрация: 25.12.2012

Сообщения: 1320

Рейтинг: 1189

ke1evra

Регистрация: 25.12.2012

Сообщения: 1320

Рейтинг: 1189

img
Закись Ашота сказал(а):

Асинхронность.

Предполагает, что задача будет выполнена на другом устройстве.

Нажмите, чтобы раскрыть...

я тебе конечно лайк поставил, но по этому факту есть вопросы. жабаскрипт в твоём браузере выполняет асинхронно задачи на ОДНОМ устройстве, event loop называется. 

 

да и вообще любой async/await может работать на одном устройстве, при чём здесь "другое" нипанятна oups.gif

Pro100 Bot сказал(а):

Васяны, и? Мы нигде и не писали, что мы разбираемся, лол. Тема не про мериние васюнами.

Зато теперь лучше понятно.

Нажмите, чтобы раскрыть...

ты извини, если я задел твои чувства верующего программиста. 

 

но вообще нужно изначально в предисловии написать свой уровень, чтобы аудитория понимала, в каком ключе тебе отвечать, и отвечать ли вообще

Закись Ашота

Пользователь

Регистрация: 10.05.2013

Сообщения: 11873

Рейтинг: 6777

Закись Ашота

Регистрация: 10.05.2013

Сообщения: 11873

Рейтинг: 6777

img
ke1evra сказал(а):

я тебе конечно лайк поставил, но по этому факту есть вопросы. жабаскрипт в твоём браузере выполняет асинхронно задачи на ОДНОМ устройстве, event loop называется. 

 

да и вообще любой async/await может работать на одном устройстве, при чём здесь "другое" нипанятна oups.gif

Нажмите, чтобы раскрыть...

Что такое асинхронность в таком случае, и чем она отличается от параллельности, или многопоточности? Зачем то же ее выделяют в отдельный тип. peepothink.png?1627073265

Pro100 Bot

Пользователь

Регистрация: 11.07.2015

Сообщения: 7018

Рейтинг: 1616

Pro100 Bot

Регистрация: 11.07.2015

Сообщения: 7018

Рейтинг: 1616

ke1evra сказал(а):

я тебе конечно лайк поставил, но по этому факту есть вопросы. жабаскрипт в твоём браузере выполняет асинхронно задачи на ОДНОМ устройстве, event loop называется. 

 

да и вообще любой async/await может работать на одном устройстве, при чём здесь "другое" нипанятна oups.gif

 

ты извини, если я задел твои чувства верующего программиста. 

 

но вообще нужно изначально в предисловии написать свой уровень, чтобы аудитория понимала, в каком ключе тебе отвечать, и отвечать ли вообще

Нажмите, чтобы раскрыть...

Ну вот и была у нас логика, что идёт каст по первой области - это попадает в очередь событий, но выполнение начнётся только после выбора второй области, поэтому способность обрабатывается асинхронно.

Теперь понятно, что это в любом случае асинхронно, потому что действительно 10 компов и сервер, и надо на каждом компе информацию с сервера обрабатывать. Как-то так.

 

Сначала думал указать дилетанство, но это показалось ненужной информацией не к месту. И вы между собой начали обсуждать, то есть тут не только для нас ответы, а для всех. И спасибо за разъяснения!