Ответы пользователя по тегу Разработка игр
  • Как сделать 2d мир?

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

    Обычно в играх принята такая схема, что все объекты рисуются заново каждый тик. А тиков в секунду может быть очень много (это то, что называется FPS - frames per second). Так что если что-то меняется в игровом мире, то сразу же меняется и картинка визуально.

    Кнопки перемещения же просто меняют координаты. Они напрямую не связаны с отображением. Но косвенно они приводят к эффекту, что объект (главный персонаж) как бы движется. Только координаты меняются не плавно, а дискретно - каждый кадр новые координаты. Просто глазу незаметны "прыжки" на 1-2 пикселя и он округляет это и считает непрерывным движением.

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

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

    Лично я в глубоком детстве (до того, как преисполнился в программировании) создавал игры прямо в пейнте. То есть через рисование. Чтобы пойти направо/налево/вниз/вверх "за экран", нужно было найти в папке картинку соответствующего номера. Понятно, что для такой игры нужно было создать сотни детских рисунков, а это занимает кучу времени. Плюс разработка правил. Но главное, что это требует терпения от разработчика.

    Для создания игр нужны все школьные предметы без исключений. Или ты думаешь, что какая-нибудь скучная история или география не понадобятся?

    Программирование - это лишь 10-20% от создания компьютерной игры. Так что пойти учиться можно и на художника, и на психолога, и на юриста, и много ещё на кого.

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

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

    Так что ресурсов много, включая книги.

    Пример ресурса.
    Ответ написан
    1 комментарий
  • Разработчик компьютерных игр - где на них учат?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Геймдев - это обширная область, в которой есть много ролей (специальностей). Основные - это программист, художник, геймдизайнер. Менее очевидные - продюсер, project manager, маркетолог. А так в разработке и/или сопровождении приличной игры может быть и комьюнити менеджер, или какой-нибудь там администратор баз данных, или бэкенд-разработчик и т.д. То есть это обычные профессии, непосредственно с геймдевом не связанные.

    Сначала выберите, что именно вам по душе, и тогда уже можно будет думать дальше.

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

    Как видите, сложно говорить о некоем абстрактом разработчике игр. Такого не существует.

    Конечно, в теории возможно сделать игру в одиночку. Примеры есть. Но это практически не реально. В этом случае понадобится совмещать все роли в одном человеке. Разработка в команде проще и быстрее. Даже если команда состоит всего из 10 человек, и на каждого члена команды приходится несколько ролей, это всё равно проще, чем когда все роли совмещены в одном человеке.
    Ответ написан
  • Сколько человек может быть на сервере в игре?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Зависит от игры, её архитектуры, её механик (насколько много они кушают ресурсов), сетевой оптимизации и выбранных технологий.

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

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

    Условно можно считать, что 1 сервер простенькой игрульки тянет около 1000 человек. Но повторюсь, зависит от игры. И если у вас там супер умные NPC с продвинутым ИИ, который кушает много ресурсов, или если у вас там супер реалистичный обсчёт физики (на сервере), то лимит может быть и в 4-5 игроков, например.
    Ответ написан
    1 комментарий
  • Как скомпилировать игру на pygame под Андроид?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Отвечая на вопрос, как скомпилировать, могу сказать, что очень просто.
    Достаточно лишь воспользоваться поиском Google или Yandex.
    spoiler
    5f8b061439bd5984371062.png
    Ответ написан
  • Используется ли теория вероятностей и комбинаторика в разработке игрового искуственного интеллекта?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    И да, и нет. Зависит от ваших целей.

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

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

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Математика простая, нужно лишь использовать понятие математического ожидания.

    Каждый предмет имеет некую стоимость либо в рублях, либо в игровой валюте, либо во времени, либо это некий аналог мощи/силы - не важно. Спросите у своего геймдизайнера (балансера), что почём. Прикручивая шанс к предмету, вы как бы уменьшаете его стоимость. То есть если Меч тысячи истин стоит 500 руб, то при шансе 1% его мат. ожидание будет 5 руб, очевидно. Далее просто складываете все мат. ожидания в сундуке - это будет мат. ожидание стоимости сундука, вот и берите его за основу. Затем можете увеличить или уменьшить эту стоимость сундука на некоторую величину, какую захотите, чтобы это было достаточно "честно" для вас. Как по мне, честность здесь сомнительная. Эту математику многие игроки тоже понимают, хотя бы интуитивно (когда шансы видны). Здесь нужна не честность, а баланс. Так что лучше делегировать всю эту математику геймдизайнеру, или кто там у вас отвечает за монетизацию.

    Далее, в геймдеве часто используют как раз-таки, так называемый, нечестный рандом. Он может быть по-разному нечестный, но сути это не меняет. Например, более-менее справедливый вариант: если Меч тысячи истин (с шансом 1%) не выпадает с 200го лутбокса, то игра должна впихнуть его, чтобы игрок был в конце концов счастлив. А если игроку выпал этот Меч тысячи истин, то чтобы он более не выпадал следующие 50 лутбоксов, а то уж больно жирно. В целом, шанс так и остаётся 1%, так что обмана, как такового, нет. Но, конечно, если игроки будут знать эти детали, то начнут абузить вашу систему по-чёрному, что в итоге приведёт к искажению шансов. Как говорится, думайте сами, решайте сами, нужны или не нужны вам заявленные хорошие жирные шансы. Хотя в рамках маркетинга вы, конечно, можете использовать любые слова, но это уже лучше делегировать маркетологу. А здесь в вашем вопросе эти слова слегка неуместны.

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

    Ещё к слову, каждая механика вводится для какой-то цели. Отталкивайтесь от этой цели, когда формируете состав лутбокса и прочие его особенности. То есть задача - добиться поставленной цели, а не просто ввести фичу для галочки. Обезьянничать - плохо. Нужно понимать, зачем в CSGO / DotA существуют лутбоксы и каким образом они делают игру лучше. Может быть, оно вам и не нужно вообще в вашей игре.
    Ответ написан
  • Как найти достойного PM в гейм-индустрии?

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

    Планов конечно куча, было бы глупо остановиться на своём первом забеге

    Если под планами вы имеете в виду кучу идей, то как раз наоборот: отказываться от идей и забывать о них - обычное дело. Потому что они ничего не стоят. Их у каждого человека имеется с избытком.
    Ответ написан
    1 комментарий
  • Возможно ли раскрутить игру в Google Play имея бюджет в 10к руб?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Это так не работает на мобильном рынке. Вопрос не совсем корректный. Если вы про попадание в топы, то забудьте. Каждый день выходят тысячи игр. С чего бы именно вам стать хитом? Хотя, мечтать не вредно.

    Работает это так: вы покупаете инсталлы вашей игры, а дальше игроки приносят вам некий доход (в соответствии с вашей моделью монетизации). Если средний доход с игрока выше, чем цена покупки этого игрока, то игра в целом прибыльная. А если она прибыльная, то какая разница, 10к или 100500к? Просто вливаете бабало и получаете ещё больше бабла, и так по кругу, пока не надоест. А вот если игра не прибыльная, то, очевидно, вливать бабло будет себе в убыток, и тогда нужно либо закрывать игру, либо менять её (улучшать).

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

    Вот в Стиме уже можно говорить о раскрутке, но там другие законы и свои тонкости. Например, просто закинуть игру туда не получится, словно это какая-то гугл папка. Это целый ритуал, начиная от создания странички и собирания виш-листов, и кончая собственно релизом. Ну и далее оперирование.
    Ответ написан
    Комментировать
  • Junior QA в Ubisoft Одесса. Стоит ли?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Стоит, если з/п устраивает.

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

    Я к тому, что не нужно зацикливаться на одной компании. В самой компании, возможно, потом сможете перейти на удалёнку, так что можно будет вернуться в свой город. Прочие условия - это как договоритесь. Опыт в любом случае будет копиться, а это самое главное для роста.
    Ответ написан
    1 комментарий
  • Игра одень куклу на js, какие использовать инструменты?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Phaser
    Ответ написан
    Комментировать
  • Мама, хочу быть геймдизайнером, что делать?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Основной инструмент геймдизайнера - эксель. Внезапно! :)

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

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

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

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

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

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

    А дальше - уже не ваше дело. Правда, вряд ли кому понравится платить до трети стоимости, если будет выигран, к примеру, автомобиль. Игрок может быть банально не готов к такому подарку. Негатив от игрока может в итоге к вам прилететь. Но повторюсь, в целом это уже не ваша проблема.

    Исключение - денежные призы и подарки. Тут вы сами можете сделать вычет.
    Ответ написан
    Комментировать
  • Какие библиотеки нужны для разработки бизнес-игры на C++?

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

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

    ...аргументированным предложениям...
    Судя по всему, С++ вы не знаете. Поэтому предлагаю начать изучать C# и Unity.
    Аргументы: 1) довольно низкий порог вхождения; 2) потом знания пригодятся для более сложных игр и не только.
    Ответ написан
    Комментировать
  • С помощью чего создать игру?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    2 комментария
  • Какой выбрать движок для разработки на слабом ПК?

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

    А сама игра начинается не с движка, а с документа, где хотя бы в 3 абзаца рассказывается, что она будет из себя представлять - концепт, вижн. Затем можно более подробно описать геймдизайн-документ (ГДД). Сделайте хотя бы это, чтобы было не стыдно показать.

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

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

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Для создания 3д с помощью 2д нужно придумать, как это сделать. Этим занимались в прошлом веке, когда мощь 3д карточек была низкая, никакая. В то время было много самопальных 3д-движков, сделанных на коленке. Каждый лепил, кто во что горазд.

    Одним из оригинальных примеров является игрушка Settlers 2. Она полностью 2д, но фоны и смещённые координаты сетки сделаны так, что появляется ощущение 3д.
    скриншот
    TS2HE_ThorlofTroll.jpg


    Также любая изометрия по сути является 2д. Правда, из-за ощущения 3д-шности её иногда называют 2.5д, то есть как бы между 2д и 3д.
    скриншот из jagged alliance 2
    2a0d319fe3eca926204052c3822da19122406e1f5472f911be982dd0dc034a40_product_card_v2_mobile_slider_639.jpg
    скриншот из project zomboid
    train.jpg


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

    Однако я не советую вам заново изобретать велосипед. Проще взять за основу Unity или Unreal Engine - и сделать нормальную полноценную 3д игру, без каких-либо ограничений 2д-шности.

    Лучше сосредоточиться на том, чтобы игра получилось интересной. Ведь именно это делает игру классной и привлекательной. Вот вам пример (стим) простой и дешёвой игры, которая хоть и выглядит убого, но это такой ретро-стиль. Она является полностью 3д. И её прохождение - это очень приятное и интересное приключение на вечер. Сложного управления камерой, как это обычно бывает в 3д играх, там нет, то есть камера полностью автоматическая. Управление - стрелками, словно это платформер. Сделать нечто похожее было бы прикольно, но всё же лучше придумать свою собственную оригинальную идею, которую ещё никто не делал, и реализовать. Для этого нет готовых рецептов, увы.
    Ответ написан
    Комментировать
  • Можно ли создавать онлайн игры (2D) на Python PyGame?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    А как ты гуглил?
    spoiler
    5f574432b9800370492821.png

    (риторический вопрос, являющийся ответом)
    Ответ написан