Задать вопрос
  • Как создать лаунчер с встроенным античитом для CSS v91?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Гарантированно - никак.

    Это проблема противостояния снаряда и брони. Когда ваш античит научится детектить все читы, начнутся работы по изобретению такого чита, которого ваш античит ещё не умеет детектить. Потом вы снова совершенствуете свой античит и так по кругу. И это при условии, что вы умеете программировать, что не так (судя по вопросу).
    Ответ написан
    Комментировать
  • Какой движок выбрать Godot или Unity?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Что лучше зависит от того, что конкретно для вас важнее.
    Отвечая на вопрос в общем виде, могу лишь предложить подробное сравнение:
    Ответ написан
    Комментировать
  • Изучение Unity самостоятельно или по курсам?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Чтобы "просто освоить gamedev", я бы не с Unity начинал и даже не с программирования.

    А попытался бы ответить на "простой" вопрос: что именно делает интересную игру интересной?
    Ответ написан
  • Как сделать генерацию 2D мира на лету?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Сначала генерировать некий "скелет", то есть каркас, структуру мира, на которую уже будет насаживаться всё остальное (по другим законам). Например, холм можно обозначить точкой в его условном центре, но не генерировать сразу. И по мере продвижения игрока к этой точке, можно уже сформировать его более детально, со всеми неровностями и мелкими незначительными особенностями.

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

    И ещё при генерации на лету сложно делать поэтапную генерацию. Например, сначала рельеф, потом заполнение водой. После второго этапа, как бы вода ни была расположена, третьим этапом её можно слить (приземлить в углубления). Но как это всё делать на лету? Очень сложно. Так что для красивого продуманного мира лучше подойдёт именно предварительная генерация, либо же в случае первого варианта нужно будет продумывать очень много деталей и то, как они будут связаны друг с другом.

    В первом варианте алгоритм напоминает: "Что бы могло быть в этой точке, чтобы выглядело логично и согласованно?" (при том, что игрок уже мог "наследить" в мире). А во втором варианте - это некий план, и каждый тайл - часть этого плана, то есть он связан с соседними, и создаётся на определённом этапе.
    Ответ написан
    Комментировать
  • Какие есть направления импульса ForceMode2D.Impulse?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    По-всякому можно. Например, так:
    (transform.up + transform.right) * StrengthDash

    Но это чётко по диагонали (45 градусов). Иначе нужен свой множитель по каждой оси.
    Ответ написан
    1 комментарий
  • Где бы мне найти программу?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Класс таких программ называется "кликеры". Так что гуглите по слову "кликер программа".

    Можно и самому написать, если хоть немного програмист.

    Ещё есть аппаратные решения - так называемые мышки с макросами. Но в вашем случае лучше всего подойдёт кликер, который умеет посылать нажатие в отдельное окно. Так что если вы переключитесь на браузер или куда-то ещё, нажатия буду всё равно идти туда, куда надо.
    Ответ написан
    Комментировать
  • Каким регулярным выражением можно найти знак ")"?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Нужно экранировать его:
    \)
    spoiler
    $re = '/\)/';
    $str = 'Hi (all)!';
    
    preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);
    
    // Print the entire match result
    var_dump($matches);

    https://regex101.com/r/tRw8Ug/2
    Ответ написан
    Комментировать
  • Что делать если во время игры монитор периодически потухает на определенных моментах и в определённых местах?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Это не проблема железа.
    Это проблема самой игры и её модов (т.е. проблема совместимости).
    Уберите моды, это должно помочь.
    Ответ написан
    3 комментария
  • Как работают сессии матчей в онлайн играх?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Зависит от количества игроков и от самой игры.

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

    Но если есть какая-то хитрая механика, которая связывает сессии, то это может быть не вариант.

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

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

    Самый сложный вариант - это, конечно же, ММО с открытым бесшовным миром. Там тысячи игроков в одном мире, но могут пересекаться со временем, хотя большую часть времени находятся далеко друг от друга и не соприкасаются. Там используются хитрые алгоритмы распределения по серверам. Но если все игроки соберутся в одной точке, то, скорее всего, всё поломается. Слава богу, что маловероятно, что все игроки условного игрового сервера (состоящего из многих физических) захотят собраться в одном месте.
    Ответ написан
    Комментировать
  • Почему угасает энергия в моделировании "гравитации" в JS?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    var g = 0.05;
    console.log(g + g == 0.1); //true
    console.log(g + g + g == 0.15); //false
    Ответ написан
  • Как сейчас обстоят дела с кроссплатформенными фреймворками для мобильных платформ?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Дела хорошо обстоят. Многие используют Unity. А фреймворки, как таковые, слегка остались в прошлом, когда речь заходит про разработку игр. Хотя никто и не мешает их использовать. Разве что можно в шутку вспомнить, что .NET как бы тоже фреймворк.

    UE - с одной стороны более профессиональный подход к разработке, но с другой стороны более тяжёлый и не вяжется с небольшой 2д игрой. Порог вхождения выше, разработка дольше. Странный был бы выбор.

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

    Программирования в игре 5-20%, а остальные 80% - геймдизайн, маркетинг (особенно для мобильной!), художества и прочее. Так что если вы настроены серьёзно, то готовьтесь к тому, что это лишь начало долгого пути. Не думайте, что стоит вам сделать змейку, как толпы поклонников будут вас просить выпустить следующую игру и ждать с нетерпением.
    Ответ написан
    1 комментарий
  • Зависает пк в играх на несколько секунд, что делать?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Для начала - перезагрузить компьютер.
    Если не поможет, то искать в процессах виновника. Это может быть и сам антивирус.
    Ответ написан
  • Как расшифровать бинарную строку?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    00 00 00 05 00 00 00 10 01 98 0d 23 77 b9 c9 2d a4 a3 a2 b8 4a 89 e1 1a 00 00 00 03

    int(4) = 5
    int(4) = 16 (или 0x10)
    string(1) = 2 байта, ибо в первом байте - длина
    string(13) = 14 байт
    int(4) = 3
    Ответ написан
  • Как узнать следит ли за компьютером работодатель?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Постоянно запускать порно в нерабочее время, включая обеденный перерыв. Если будут претензии, значит следит. Но у вас есть оправдание, если что.

    Из менее провокационного, можно в рабочее время посидеть на ютубчике или хабре. Если будут претензии (или снижение зарплаты), значит следит. Но не стоит ради эксперимента писать гадости про начальника.

    Ну а если серьёзно, то слежка должна быть прописана в регламенте, с которым вы письменно согласились. Иначе слежка незаконна. Хотя, в принципе, работодатель может оценивать количество и качество производимой вами работы, но как он будет это скрывать от вас - мне не понятно. И если окажется, что слежка-таки велась, а вы успели там засветить личную переписку и прочее, то бояться нужно будет уже не вам, а ему... ответственности и штрафа. :)
    Ответ написан
    7 комментариев
  • Как часто надо менять номер телефона?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    • Если возможно, откажитесь от того, чтобы принимать звонки клиентов (неизвестные номера) на свой личный номер.
    • В идеале - принимайте звонки только от тех, кто у вас в контактах. Исключение - курьеры (у них нельзя заранее взять номер).
      spoiler
      5fbe7d60bfaba973228618.png

    • Если всё же хотите ответить на неизвестный номер, то не сразу отвечайте голосом. Помолчите. Пусть звонящий первый скажет "алло".
    • Также неизвестный номер можно проигнорировать, а потом забить его в гугл и посмотреть, что там пишут про него. И если окажется, что звонили из вашей поликлиники, то можно и перезвонить самому.
      spoiler
      5fbe7e110d8c2785041010.png

    • Уже есть специальные приложения для смартфонов, которые высвечивают, есть ли номер в спам-базах.
      spoiler
      5fbe7d0ea4b4b053698742.png

    Ответ написан
    Комментировать
  • Даны действительное число х и натуральное число n. Как вычислить, не используя операцию возведения в степень?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Выпишите на бумажку все операции и основные мат. функции (Sqrt, Sin, Cos, Ln и т.д.), которые есть в языке Pascal.
    Дальше решение станет очевидно (конечно, если дружите с математикой).
    Степени двойки - это просто сдвиг.
    Ответ написан
    Комментировать
  • Ветвление if в javascript. Почему не работает?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Вместо:
    (1 < number_cam < 5)

    Пишите:
    (1 < number_cam && number_cam < 5)
    Ответ написан
    1 комментарий
  • Как задать условие?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Немного сумбурно и странно звучит вопрос.

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

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

    Получается, что задачу можно переформулировать так: не показывать блок div до тех пор, пока не будет обнаружено изображение.

    Делается это, очевидно, путём изначальной невидимости блока div.
    .block {display:none}

    Далее скриптом отслеживаем появление изображения, и меняем свойство невидимости у блока.
    Ответ написан
    1 комментарий
  • Как передать данные в свое Google Chrome расширение с локального вебсервера?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Расширение может обращаться к вашему вебсерверу, как и любой другой javascript код.
    В частности, есть это.
    Ответ написан