Добавлен объект "Cube" с компонентами Rigidbody и PlayerController.
Добавлена плоскость с тегом "Ground" для предотвращения падения куба в бесконечность.
Скрипт для управления движением и прыжками:
Написан скрипт для управления движением и прыжками куба.
Реализована проверка на наличие компонента Rigidbody и коллизий с объектами.
Настройка камеры и физических параметров:
Изменена позиция камеры для лучшего обзора.
Отрегулирована масса куба для более реалистичного поведения.
Для обучения использую Chat GPT-4, а точнее надстройку Universal Primer. По заявлениям создателя, эта штука заточена на обучение.
Действительно, сразу видно отличие в опыте использования ИИ.
Он как бы тащит тебя вперед, постоянно подкидывая новую информацию. Тебе не нужно его постоянно спрашивать, что делать дальше. Он ведет, а ты ведомый. В обычном опыте использования на 2-3 ответе Chat GPT "сдувается" и приходится уточнять, что делать дальше.
Обучение идет итерациями: он объясняет что-то новое, далее задает вопросы и дает задачу сделать что-то большее, нежели он объяснил.
Нет времени реализовать все хотелки, а совсем забивать тоже не хочется, поэтому просто играбельная демка.
Чтобы и вы смогли насладиться этим непередаваемым экспириенсом стрелялки с плохим графоном)
Добавил ещё персонажей и бонусный уровень.
ГГ так и ходит беззвучно, не может погибнуть, а целиться приходится как и в жизни - "на глазок". Зато почти все реплики озвучены, есть сюжетная линия и катсцены 😅
Сейчас отличное время, чтобы делать видеоигры. Нет, серьезно. Представить миру собственную игру — по умолчанию круто. А в наши дни это еще и доступно, ведь есть удобные инструменты, курсы и опыт разработчиков, которым они делятся в сети.
Тем не менее довести проект до релиза — большое дело, и проделать этот путь в команде намного проще. Рассказываем об оптимальном составе маленькой инди-студии.
Почему нужна команда
Игру можно сделать и в одиночку. Таких примеров в индустрии масса: от легенд вроде Minecraft и Papers, Please до лавины пиксельных квестов и бумер-шутеров, которые заполонили Steam.
По тегу «инди» в Steam нашлось свыше 90 тысяч игр — это более чем половина всего каталога!
Работа в команде позволяет удобно распределить задачи и объединить разнообразные навыки и подходы в едином творческом порыве. Ну и, конечно, не так просто сорваться и забросить проект, когда есть еще несколько заряженных людей — они создают мотивирующий фон, чтобы двигаться дальше.
С командой больше шансов довести проект до релиза, особенно если у вас нет опыта в игровой индустрии. А релиз — это важный момент, который обеспечит ценным опытом и кейсом в портфолио.
Можно сделать десяток игр в стол. Но какими бы концептуально крутыми они ни были, один-единственный выпущенный на рынок проект будет бесконечно ценнее.
Главные роли в команде
Раз команда небольшая, то каждый участник будет брать на себя разные обязанности. Но есть несколько направлений, которые лучше разделить между отдельными специалистами.
1. Гейм-дизайнер
Без него ни о каком цельном видении проекта не может быть и речи. Предлагать идеи и решения могут все члены команды, но в итоге именно гейм-дизайнер складывает из всех элементов концепцию, механики игры и не дает случайно «сломать» их в потоке безудержного креатива.
Инди-RPG Undertale — пример того, как оригинальная концепция Тоби Фокса даже в простейшем пиксельном исполнении перевернула представления о жанре
Есть много операционных задач, которыми не займутся другие специалисты. Например, продумать все игровые циклы, рассчитать баланс, написать документацию — все это в компетенции гейм-дизайнера.
2. Арт-директор
Это человек, который отвечает за визуальное оформление — определяет, как игра будет выглядеть на релизе и взаимодействовать с геймером. Арт-директор может стать художник, иллюстратор, дизайнеры разных направлений.
Например, чтобы создавать и редактировать визуальные ассеты (модели, текстуры, эффекты, элементы интерфейса) нужны навыки, связанные с графическим дизайном.
1/3
Головоломка FEZ потеряла бы огромную часть своего очарования без яркого визуального стиля и милых персонажей — и да, эту игру сделала команда всего из двух человек
3. Разработчик
Без него идеи гейм-дизайнера и визуальные ассеты арт-директора так и останутся на бумаге. Разработчик должен обратить их в код и собрать на основе всего этого рабочую игру. Эта роль часто самая технически сложная и требует тесного взаимодействия с гейм-дизайнером.
Трио «гейм-дизайнер, графический дизайнер и программист» — база, которая нужна любой игре. Повторимся: это не минимальный, а оптимальный состав инди-команды, чтобы довести проект до релиза.
Конечно, в геймдеве еще полно должностей: например, кто-то может заняться сценарием, звукорежиссурой, маркетингом, тестированием. Если нет возможности нанять таких специалистов, придется делить обязанности по-братски: за одни задачи возьмется тот, у кого больше времени и энтузиазма, за другие — у кого есть подходящие навыки.
Звучит неорганизованно? Да, в команде из трех человек всегда есть место авралу и хаосу — они соседствуют с фаном, удовольствием от достигнутого результата и исполнением своей давней мечты. Идите к ней вместе с Яндекс Практикумом: проходите бесплатные курсы, определяйтесь с IT-профессией и осваивайте навыки, которые помогут разрабатывать игры.
Какие навыки нужны
У каждой роли есть обязательный набор навыков и специальный, который зависит от проекта: в каком жанре игра, как она будет выглядеть, на каком движке собрана и так далее.
Для роли гейм-дизайнера
Нужно научиться работать с системой контроля версий. Это важно, потому что гейм-дизайнер участвует в прототипировании игровых механик, тестирует актуальные билды — работает в связке с разработчиком, который точно использует систему контроля версий. Самая популярная называется Git. Кстати, в Яндекс Практикуме есть бесплатный курс «Основы работы с Git» — добавляйте в закладки.
Основы программирования (тоже доступно бесплатно в Яндекс Практикуме) — еще один навык, который объединяет разработчика и крутого гейм-дизайнера.
В зависимости от проекта может пригодиться высшая математика с теорией вероятностей. Например, для экономических и 4X-стратегий или для больших многослойных RPG. Обновить знания поможет бесплатный тренажер «Основы математики для цифровых профессий». Теория там тоже есть.
Для роли арт-директора
Обязательный навык — UX/UI-дизайн. Пользовательский опыт от взаимодействия с игрой и ее интерфейсом сильно влияет на общее впечатление от проекта.
В курсе «Дизайнер интерфейсов» как раз обучают продумывать пользовательские сценарии и делать интерфейс интуитивно понятным, что важно для любой игры.
Кроме этого, арт-директор обязан разбираться в цвете, композиции и типографике, а также работать с векторной графикой в актуальных редакторах. Всему перечисленному (и даже больше) учат на курсе «Графический дизайнер».
Программист, каким бы языком он ни владел, пользуется системой контроля версий, знает основы программирования и хотя бы немного — алгоритмы.
Дальше главная развилка: движок. Скорее всего, ваша команда восходящих инди-звезд выберет для своей первой игры один из этих движков (потому что они удобные, доступные и по ним больше всего гайдов на YouTube):
Unity;
Godot;
Unreal Engine.
Если вы остановились на Unity или Godot, то ваш разработчик наверняка знаком с языком C#. А если вы замахнулись на Unreal Engine, значит, в вашей команде есть обладатель сакральных знаний С++.
Начинающие команды редко настолько фундаментально подходят к созданию игры, чтобы можно было осознанно выбрать движок на стадии предпроизводства. Обычно проект собирают на том, с чем умеет работать программист.
Ну что, готовы войти в геймдев? Выберите свою роль в команде будущей игры и начните учиться бесплатно. Вас ждет теория, практические задания, хакатоны и тренажеры — все, чтобы получить ценные знания и успешно завершить свой проект в команде или самостоятельно.
Кто знает, возможно, именно ваша игра когда-нибудь получит престижную премию, принесет вам успех, славу и признание в индустрии.
Привет, друзья! Зашел я как-то в кофейню, и увидел там на витрине печенки. Очень они напомнили мне потрескавшуюся землю. "Почему бы не сделать из этого текстуру", -подумал я.
Заготовки для будущей текстуры ждут пока их сфоткают
Дома я сфотографировал её с двух сторон на старый зеркальный фотоаппарат. На улице была пасмурная погода, поэтому свет был рассеянный и почти не оставлял теней.
Далее я открыл эти фото в Фотошопе, вписал их в квадрат. Первое изображение использовал, как бесшовный стык по краям, применив смещение Filter-Other-Offset. У второго изображения наоборот подтер края, оставив центральную часть. Затем объединил эти два слоя в один. И вот текстура была практически готова.
1/3
Потом провел некоторые манипуляции с контрастом и цветом и в общем через 10 минут текстура была готова к использованию.
Вот такая текстура получилась
А вот так эта текстура выглядит в игре.
Не являюсь художником и больше делал это по фану. Но может кому-нибудь данный совет будет полезен.
Я впервые тут пишу, и будет слегка обидно, если я сделал что-то не так и мой пост вообще никто не увидит. Летом 2022 у меня появилась идея, которая, в отличие от остальных, постоянно влетавших мою голову и тут же из неё вылетавших, прочно засела и очень просилась в реализацию.
Идея была такова - я хотел сделать свою интерактивную историю про тестирование человека, аки портал, однако действие всё происходило бы в подсознании человека, всё так же в рамках эксперимента. Я хотел сделать игру 3д платформером от первого лица, но полностью выгорел, когда сделал физическое взаимодействие собъектами, саму локацию и пару механик. Этим же летом я плотно подсел на моды на Бесконечное лето, различные новеллы по типу Зайчика, Доки доки и прочую ересь, которую я лучше бы не читал. Меня зацепил формат интерактивных историй, но очень не понравилось, что большинство ВН - либо романтика, либо симуляторы свиданий. Я очень хотел сделать что-то более интересное для себя самого, при этом очень хотелось всё же выложить в стим, ведь я считал, что смогу игру сделать не хуже, чем современные ВН. Да, может, уровень мастодонтов я не переплюну, но в своей нише я, возможно, что-то и смогу.
О новелле
Позже, зимой 2023 я решил всё-таки реализовать свою идею, но не в виде игры, а в виде визуальной новеллы. Сюжет был всё тот же - эксперимент по перемещению жизни человека в его собственное посознание. Главный герой в ходе игры, по моей задумке, находит выход из самого себя, узнаёт, кто он, и, возможно, делает какие-то выводы. Ну либо жрёт сам себя изнутри. Конечно, сюжет пришлось приземлить, 4 раза я переписал сценарий, каждый раз избавляясь от кринжовых моментов, ибо я постоянно рос и менял взгляды(сейчас мне 17, а подростковый максимализм прошел совсем недавно. Или не прошел)
Такая была графика в моей 3д игре White Room. Когда я ещё не решил её удалить и превратить в новеллу
Как мне пришла эта идея?
Скачал RenPy -движок для визуальных новелл, который используют буквально все визуальные новеллы, - и думал: " щас быстренько разберусь и накидаю сразу наброски проекта за день", но не тут то было. Я оказался настолько глупым, что не понял ренпай. Позже уже осознал, что для пользования не только базовыми функциями этого движка, но и различными интересными механиками по типу параллакса, нужно юзать питон, что мне крайне не понравилось. Я взглянул на базовые новеллы, сделанные на renpy. И допустил главную ошибку в своей жизни. Я подумал, что смогу повторить ренпай на юнити. О боже, я грёбаный год своей жизни просто потратил впустую, взяв себя "на слабо". В этой истории была драма, комедия, и, пожалуй, да, это всё, что в ней было.
Ход разработки
Опять же начнём с самого начала, но уже другого. Что из себя представляет визуальная новелла? Просто текст, который можно перелистывать нажатием кнопки. Иногда делать выборы. Ну иногда ещё фоны менять. Музыку. Да и спрайты добавлять тоже надо. И изменяться они должны. И плавность должна быть. И эффекты должны быть какие-то. И условия должны как-то просчитываться. И сохранения должны быть. Ну, никуда не обойтись без истории текста. Да и скипать было бы прикольно. Мини игры, кстати, тоже были бы как раз кстати.
Примерно так я рассуждал по ходу разработки. Я совершенно забывал про список своих задач, делая какую-то одну, а позже переключаясь на другую. Наверно, именно поэтому я не забросил изобретать свой велосипед и запланировал не только повторить ренпай, но и добавить пару нововведений: 1. Встроенные фичи по типу анимации шагов, параллакса, кастомных кнопок в самой игре(подходит для миниигры "найди предмет") 2. Обилие говнокода. Сейчас, я очень хочу снести половину своего кода и написать по-нормальному, но, я уже перестал понимать, что и за что отвечает. Оно работает и ладно. 3. Удобство использования. Да, всё-таки инспектор в юнити для меня значительно проще, чем кодинг новеллы в каком-то текстовом редакторе. 4. Возможность создания модов к своей игре. Сам движок я распространять не хотел, мне было интересно сделать такую игру, в которой можно будет легко делать моды на любую тематику, не взирая на каноны или какую-то строгую вселенную с лором. Я решил сделать скорее платформу для игр, нежели игру. Я не знаю, на что я надеялся, но планировалась мастерская в стиме, в которой будут истории от других людей, объединять которых будет лишь тонкая-тонкая нить: все события, произошедшие в них - часть эксперимента по симуляции жизни человека в его подсознании. Я хотел сделать свою неплохую новеллу, которая при этом будет являться пустой оболочкой, которую смогут заполнить другие люди. Смотря на то, как живёт до сих пор бесконечное лето за счёт модов, я подумал, что смогу провернуть такую же фишку. Спойлер: с редактором модов я завис, да и поздно уже осознал, что такое вряд ли случится, ибо моя игра будет никому не нужна) Но останавливаться уже поздно.
Итоги за первый день разработки За первый же день разработки я закончил с механикой текста(анимация, персонажи, а также запись уже прошедшего текста в историю), а также структурой самого движка. По итогу механика текста выглядит так:
По итогу структура получилась весьма простой, кстати. Я решил реализовать всю структуру новеллы как один struct и сохранять его в json. Быстро, удобно, не лагает(почти). Итак, в самом начале у нас стоит ядро игры. Оно имеет основную инфу, включая название, персонажей, список прочитанного текста, прогресс и ещё по мелочи. Далее идут ветки. Ветка - это нить истории, по которой идёт человек. Форк - действия игры внутри этой ветки. Например, смена текста и музыки. Изначально мы начинаем всегда с первой ветки первого форка. После каждого клика мышкой мы перемещаемся на один форк дальше, и так до последнего. На нём уже будет либо выбор, либо какое-то условие, либо просто перемещение на следующую ветвь. Когда, например, мы выбрали какой-то вариант, мы перемещаемся на соответствующую ветку и начинаем опять с первого форка. Таким нехитрым методом(если я смог это нормально объяснить) я и реализовал структуру движка. Наверно, можно было проще, но я школьник, времени свободного много, поэтому имею право заниматься чепухой.
Нарисовал как смог
В общем, на этом я пока что завершу пост, мне надоело его писать. После этого у меня возникли первые проблемы, конфликты, а также множество событий, о которых я поведаю в следующий раз, если увижу, что это хоть кому-то интересно.
Итак монстры прут, их можно покликать, но пользователи становятся всё требовательнее и рескин куки кликера уже не прокатывает - кликать до бесконечности людям надоедает. А те, кому не надоедает, играет в кукикликер. У них там прогресс.
Поэтому я решил подойти к этому моменту с 3 сторон: 1) Кликать можно и нужно, это должно приносить какую-то пользу, но не решающую. 2) Игрок должен регулировать прогресс прокачкой на разных уровнях сложности. 3) Надо придумать чем ещё игроку заняться, причём на столько, чтобы ему было интересно сидеть и смотреть как маг сам убивает мобов.
Начнём с середины: Этот момент возможно будет самый сложный для понимания игрока, но быстрое убийство монстров за меньшую награду зачастую прибыльнее, чем долгое ковыряние "дорогих" монстров. В общем тут я пока просто сделал интерфейс для переключения уровней.
Ну а ответ на третий пункт
ИТЕМЫ!
С мобов должны дропаться с хорошим шансом предметы, которые лежат не долго, так что надо следить и хватать. Потом предметы можно крафтить, так что в общем-то даже белые могут быть полезны. С системой крафта разберёмся потом, сначала надо в принципе реализовать предметы. Та система, которая была в прототипе разрабатывалась с другой идеей, рандомная генерация предметов всё меняет. Тут я прочесал ассетстор, хотел найти нормальную систему инвентаря, но они все сделаны под стандартные сурвайвалы. Ладно, тогда пишем своё.
Рассказал игре что такое предмет и как с ним себя вести, о том что бывают разная редкость предметов и научил монстров иногда их выкидывать. Но вот незадача! Для весёлой казуальной картинки я хорошенечко засветил сцену, в таком варианте заклинания ещё можно было разобрать, а вот с предметами совсем беда. Пришлось немного часа 3 поиграться с цветами и светом и в итоге получилось так:
Что скажете? не слишком ядовито? Можно в принципе вернуться обратно в более мягкие цвета, не знаю какой вариант больше школьникам заходит (судя по всему, ЦА яндекса - школьники)
А потом у меня сгорел ССД
Остальное время я потратил на покупку нового и переустановку винды. Так что рандомную генерацию предметов и крафт будем обсуждать в следующий раз)