• Как правильно вкатиться в разработку игр?

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

    Однако вы, похоже, не совсем понимаете, что означает "заниматься геймдевом". Это примерно, как строить ракету или космический корабль. Конечно, если это не змейка или пятнашки. То есть свой велосипед или самокат вы сможете собрать из говна и палок, но продать такое не получится. А вот чтобы сделать что-то стоящее, хотя бы разработать автомобиль, нужно уже конкретно в автомеханику, да и то там уже куча моментов, которые один человек не осилит: устройство двигателя, аэродинамика и удобство салона - это абсолютно разные сферы знаний. Добавьте к этому маркетинг и технологии производства, и станет очевидно, что одному человеку такую задачу не решить.

    Также и с играми. Попробуйте ради прикола написать 2-3 предложения (не больше) описания игры в Стиме (или в мобильном сторе) для пользователей, чтобы в них содержалось самое главное об игре, чтобы пользователи заинтересовались ей. От этого зависит, будут ли люди скачивать/покупать игру, или же будут проходить мимо. Думаете, это просто? А вы попробуйте зацепить свою аудиторию. Забыл сказать, аудиторию тоже выбрать нужно, и ответ "моя аудитория - весь мир", это ответ на двойку.

    Придумайте иконку игры. Казалось бы, просто? Но у специалиста может уйти до 2 недель, если не больше, с учетом А/B тестирования, привлечения экспертов для оценки, собственно самих художников, чтобы ее нарисовать. Хотя я не спорю, иконка, сделанная на коленке за 10 минут, может быть самой удачной, но это уже лотерея, никто не запрещает испытывать судьбу на прочность, это дешево, просто шансы на успех стремятся к нулю.

    Процесса разработки самой игры я сейчас даже касаться не буду.

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

    Например, в дополнение к классическим художникам и программистам есть такие роли, как геймдизайнер, пм (project manager), продюсер, QA, дизайнер UI/UX, левел-дизайнер, моделлер, аниматор и т.д. Это далеко не все. Соответственно, в крупном проекте будет несколько геймдизайнеров, продюсеров и т.д., то есть там за "роль" отвечает уже целый отдел, в каждом из которых свои более узкие специальности. Ну а в мелком (на 10 человек) у каждого будет по пачке ролей.

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

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Как решить задачу? Самому.

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

    Ну а если это ваше реальное тестовое задание на собеседовании, чтобы пройти его, то как бы вообще без комментариев.
    Ответ написан
    Комментировать
  • Можно ли себя считать геймдевелопером?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    <любая профессия> - это тот, кто успешно выполняет поставленные перед ним задачи.

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

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

    Про нормальность. Да, это нормально использовать чужие наработки. Если у вас есть права на это, то это даже законно. Более того, изобретать велосипеды считается бессмысленной работой. Так что если есть, что использовать, то используйте, подсматривайте, как сделано, делайте по аналогии, это не запрещено с точки зрения морали. А с юридической точки зрения нужно смотреть. Скажем, купленные в сторе ассеты вам вряд ли поверяд, не находите? А чужие картинки из Интернета, которые вы обработали и использовали, могут обернуться штрафом в какой-то момент.
    Ответ написан
    1 комментарий
  • Встроенный браузер мобильно приложения VK не видит стили, как быть?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Спрашиваешь, как быть?
    Вот варианты:
    1) Забить болт. Пипл схавает.
    2) Не использовать стили вообще, тогда всё будет однообразно.
    3) Отделить некоторые стили от не некоторых, - это и будет решением.
    4) Отделить не все страницы от всех, - это и будет решением.
    5) Помолиться, чтобы эта магия испарилась.
    6) Сидеть в шоке и пялиться в экран, ожидая вразумительного ответа.
    7) Взять себя в руки и найти причину. Ты мужик или нет? Это задача даже не для программиста, с ней любой нормальный сис. админ справится.

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

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Если файл test.txt, то такой:
    echo.>test.txt
    spoiler
    Получившийся файл будет размером в 2 байта
    Ответ написан
    6 комментариев
  • Путь в программировании. Первый язык?

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

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

    Однако если вы прицелены на конкретную задачу, то плясать уже можно от этой самой задачи, ее области применения, потому что, скорее всего, подходящим (лучшим) будет только один язык для данной области. Например, если задача сделать сайт - это это JavaScript и какой-то серверный язык. И, скорее всего, С++ вам для этой задачи не нужен, очевидно.
    Ответ написан
    5 комментариев
  • Чем плоха вставка в массив в заданную позицию?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Прелесть массива в том, что он позволяет искать по индексам. И делается это очень быстро, потому что это индексация в самой памяти. То есть вычисляется адрес ячейки памяти с помощью арифметических операций:
    БАЗА + [РАЗМЕР ЯЧЕЙКИ] * СМЕЩЕНИЕ
    И затем просто происходит обращение на чтение/запись.

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

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

    А если это не возможно, то может быть, что обращение по индексу не нужно, а только полный перебор (в заданном порядке), тогда можно использовать список, где вставка происходит очень быстро. Ну и так далее, зависит от конкретной задачи. Универсальность и скорость алгоритма, как правило, противоречат друг другу.
    Ответ написан
    5 комментариев
  • Сырой сайт сейчас, или готовый, но позже?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Лучше сырой, но сейчас.

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

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Однозначной формулы нет в данной задаче.
    Креативно может сделать геймдизайнер (точнее, балансер - подвид геймдизайнеров).

    В составлении формулы вам поможет такое понятие, как математическое ожидание.
    Ответ написан
  • Как записать массив в JSON?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    JSON.stringify(spisok)
    Ответ написан
    4 комментария
  • Проблема с CORS, как быть?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Разместить файл так, чтобы он был доступен через http(s) : // localhost ...
    Ответ написан
    Комментировать
  • Как так красиво рисуют спрайты для 2D игр и в какой программе они это делают?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Иллюстратор рисует в той программе, в которой ему удобно. Каждый сам для себя решает, что ему удобнее. Он может рисовать вообще на бумаге без компьютера. Но в моде сейчас рисовать на специальном планшете для рисования.

    Используемые программа или устройство при этом никак не увеличивают навыки рисования, которые можно получить, например, в художественной школе. Так что если к рисованию у вас душа не лежит, то проще нанять специалиста, а не делать всё самому.
    Ответ написан
    4 комментария
  • Какой язык программирования подойдёт для написания высокопроизводительного приложения на Windows?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Например, Rust или C++.
    Почему бы и нет?

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

    dollar
    @dollar Куратор тега Lua
    Делай добро и бросай его в воду.
    _G['SomeText'..i]:GetName('12','34')
    Ответ написан
  • Как рашифровать код Lua?

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

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Предположим, есть некий Вася, который пилит мобильные приложения в одиночку. Пилит хорошо, в его коде нет ни одного бага. Ну, просто он гений, да и перепроверяет свой код по сотне раз перед публикацией. Делает на этом большие деньги.

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

    Вопрос в том, какой уровень у программиста Васи. Как это определить? Плохой он программист или хороший? И плохой для кого? Лично Васе - норм, денег хватает на еду, яхту и на загородный особняк. Можно ли вообще по коду понять его "уровень"? Это же не игра какая-нибудь, где можно качать свой левел, который отображается в углу в виде цифры.

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

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Ответ написан
    Комментировать
  • Как добавить 3 вариант JS?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    var name = old ? 'productAir2' : ( bool ? 'productAir2w' : 'третий вариант');

    Примерно так. Нужно включить логику, чтобы понять, как в точности реализовать.
    А сейчас вечер, сами понимаете...
    Ответ написан
  • Можно ли в Google Chrome изменить звук PUSH уведомлений, для определенного сайта?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    То есть это не ваш чат? Тогда основной ответ - сделайте свой чат, а "их чат" пусть останется у них. Тогда схема простая. Сайт посылает беззвучное push-уведомление (silent), и при этом сам воспроизводит какой-то кастомный звук.

    А если в чужой сайт инжектиться, но это надо смотреть, ковырять, исследовать, рецепта нет. В теории всё возможно в мире программирования, но дальше встает вопрос, как проще и дешевле это сделать, а это уже конкретно от сайта зависит. По-любому можно придумать хороший костыль, если потратить от часа до недели на это.
    Ответ написан
  • Каким образом Гугл Яндекс находят за долю секунды сайт по "цитируемой строке"?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Они нашли "любую строку" задолго до этой секунды. А потом просто оптимизировали данные на своих серверах. Можно сказать, что они скопировали Интернет (хотя на самом деле лишь часть Интернета).
    Ответ написан
    Комментировать