Задать вопрос
  • Как написать игровой движок?

    @Le0Wolf
    C# Developper
    Вам точно нужен именно движок? Сейчас, как минимум, есть Unity, Unreal Engine - на последнем, в том числе и AAA игры делают. Если вы хотите именно создать игру, то лучше начните изучать один из существующих движков. Больше того, у них есть и магазины скриптов и ресурсов, где вы можете либо за бесплатно (редко), либо за денежку взять готовые механики, модели, текстуры, звуки и т.д.
    Движок свой вам нужно разрабатывать только в 2-х случаях:
    1) у вас какая то совершенно уникальная концепция игры, которая не ложится на современные движки (что вряд ли)
    2) Вы хотите понять, как это устроено, как ведётся разработка игровых движков, встать миллион раз на грабли и понять, как их обходить. В этом случае, вы просто должны принять как факт, что с 99.99999% вероятности вы до создания игры на нем никогда не дойдете.
    Просто примите как данность, что игровой 3d движок, тем более для шутера (небось ещё и онлайн хочется?) - это ОЧЕНЬ сложно и это задача не для одного человека. Точнее можно конечно и одному... Но пока вы будете его писать, используемые вами технологии уже устареют).

    Но если все же решитесь, то сразу говорю, SFML - это точно не основа для 3D движка. Да, там есть работа с мышью, клавиатурой и пр. Но реализовано это явно не для поддержки разработки 3D игр типа шутеров. Изучайте WinAPI (создание окна, обработка оконных событий), OpenGL (3D графика), всякие там XInput и RawInput - ввод. И вообще, по максимуму используйте готовые библиотеки (к примеру, есть Assimp, FMOD) - это сильно ускорит разработку.
    Если хочется прям совсем хардкора,то изучайте DirectX 12, Vulkan и тому подобные низкоуровневые абстракции железа
    Ответ написан
    1 комментарий
  • Шифрование уникальной ссылки для пользователя. Как реализовать?

    @Le0Wolf
    C# Developper
    Подумайте вот о чем: файл - это такая же часть сайта, как и страницы. Если на сайте используется аутентификации, то почему ее нельзя использовать для файлов?)
    Ответ написан
  • Как создать свою доменную зону?

    @Le0Wolf
    C# Developper
    Оно вам зачем? Может вам не доменную зону надо, а домен 2-го уровня?
    Ответ написан
    Комментировать
  • Как определить, что пользователь использует официальную версию клиента программы?

    @Le0Wolf
    C# Developper
    Необходимо защитить от взлома или просто достаточно просто проверки лицензии?
    Если первое - то это дорого и долго и один фиг 100% защиту создать невозможно. Если второе, то тупо создать какую то структуру, которая содержит всю информацию о лицензии, потом сериализовать ее в бинарный формат, после чего сформировать подпись, используя закрытый ключ, подпись тоже сериализовать и добавить к основному тексту. Полученный массив байт преобразовать в base64 или что то подобное - это будет лицензионный ключ. В приложение зашить открытый ключ и с помощью него проверять корректность подписи. Если подпись корректна, то можно проверять и тело ключа, например, на предмет окончания срока его действия. Примерно так работает абсолютное большинство проверок лицензии,но тут есть и минус - простой подменой публичного ключа в коде программы пользователь может заставить ее работать со своим ключём (примерно так кейгены работают - они патчат приложение и потом генерируют ключ, который будет валиден для нового открытого ключа). Задачу взлома можно усложнить, шифруя публичный ключ, разделяя его на блоки, используя всякую математику и пр. Но это уже выходит за рамки "простого" вопроса
    Ответ написан
    Комментировать
  • Может ли пользователь сменить переменную JS?

    @Le0Wolf
    C# Developper
    Пользователь может читать и менять любые значения на клиенте. Шифровать трафик смысла нет. Максимум, если очень хочется сильно заморочиться, то можно подписывать данные на клиенте но и то это от взлома не спасёт, потому что пользователь сможет валидным ключом подписать невалилные данные, причем используя для этого логику вашего же клиента. Поэтому логику нужно держать на сервере, а не на клиенте. И да, забудьте про "снижение нагрузки на сервер" до тех пор, пока у вас не будет дофига пользователей и сервер перестанет справляться с нагрузкой (спойлер: скорее всего этого не случится вообще никогда)
    Ответ написан
    Комментировать
  • Почему C# не кроссплатформенный?

    @Le0Wolf
    C# Developper
    Можно подробнее про проблемы с кроссплатформенностью? Какие проблемы в этом направлении решены в java, но не решены в c#? На Windows работает, на MacOS работает, на Linux работает, на различных мобильных платформах тоже работает и даже вроде есть реализации под голое железо (микроконтроллеры и все такое). Что может Java такого, что не может c#?
    Ответ написан
    Комментировать
  • Как сделать чтоб контент страницы?

    @Le0Wolf
    C# Developper
    ExtJs?
    Ответ написан
    Комментировать