Как сделать игру на source

Добавил пользователь Владимир З.
Обновлено: 19.09.2024

Valve Software сообщила, что на сервисе цифровой дистрибуции Steam появилась новая версия Source SDK, включающая редактор уровней Hammer World Editor, утилиту Faceposer и другие инструменты для создания контента для игр серии Half-Life 2, Portal, Team Fortress 2 и Counter-Strike: Source.

При помощи Source SDK фанаты смогут не только делать новые карты и модели, но также создавать собственные игры на популярном движке.

ВНИМАНИЕ! ВЫ ХЕР ГДЕ НАЙДЁТЕ КАК ЭТО СДЕЛАТЬ.

1 Итак, сначала открываем папку CSS(HL2. )

2 Заливаем ВСЕ ПАПКИ КРОМЕ BIN В папку вашего SDK

3 Запускаем SDK и пользуемся всеми вам нужными прогами, не забывайте вибирать нужную игру в маленьком окне снизу, перед тем, как начинать работу какой- либо программы.

Всеми вами буду рад. Спасибо за внимание.

Концепт документ сценарий, арты в конце концов?
Что уже сделано?

>Игру хочу назвать Invasion (вторжение)
ну пол дела уже сделано.

fokin, все, что ты сейчас написал - сними на видео :) очень интересно посмотреть как эмоционально ты будешь говорить. просто до слез пробрало.
А вообще не понятно, что значит для тебя полноценная игра?

да ни фига у него не сделано, он же сказал что он ШАЛАПАЙ, почему шалапай? так вот его словаfokin
> я сценарист, звукорежиссер ну впрочем по мелочи, ещё учусь рисовать в 3d на движке Source
а как можно на движке Source рисовать в 3D и вообще как в 3D можно рисовать? эт новая технология или че? а то я смотрю у тя и программер рисует в 3Dfokin
> Ну программист, у него знание 3d рисования
твои слова?
.
Короче нет у тебя ничего и ты ни кто? Хотя заберу свои слова обратно, если
Zizilk
> Концепт документ сценарий, арты в конце концов?
> Что уже сделано?
ответишь

fokin
Вот допустим настал радостный момент и ты собрал всех нужных людей. Что будешь делать дальше? Есть план? Какой вклад ТЫ сделаешь в команду? А иначе это будет просто "Я хочу сделать игру, сделайте её за меня". Ты же понимаешь, это не серьезно.

Зачем вы так жестоки? Сегодня же День Святого Валентина! Любите нубов, будьте снисходительны к меньшим организмам и вам это зачтётся в грамотном коде и красивом арте! Аминь.

arte_de_mort
Аминь, брат. Успехов фокину в создании ААА-проекта.

Игровой движок Source, разработанный компанией Valve, не так популярен, как, например, Unreal Engine или Unity, зато о созданных с его помощью играх слышал, наверное, абсолютно каждый геймер – это признанные шедевры, стоящие в одном ряду с Super Mario, Tetris и GTA.

Что представляет собой Source?

Разработка движка началась еще в 1998 году, когда Valve подходила к финальному этапу создания своей первой игры – Half-Life. Тогда игроделы захотели реализовать кое-какие свои идеи, но не хотели рисковать, внося изменения в почти уже готовый проект. В результате было решено разделить код на две, так сказать, ветки: GoldSource и Source. Соответственно, первая ветка осталась за Half-Life, а вторая начала вбирать в себя инновации, постепенно оформляясь в движок, на котором Valve позже выпустит свой шедевр – Half-Life 2.

Counter-Strike: Source

Half-Life 2

В дальнейшем Valve постепенно развивала свой инструментарий, добавляла в него новые компоненты, оптимизировала и улучшала его, а также расширяла список поддерживаемых платформ. Среди особенностей Source отдельно стоит выделить гибкую масштабируемость под любые системы: для слабых ПК предусмотрено понижение качества графики вплоть до перехода на ранние версии DirectX, мощные же конфигурации смогут раскрыть свой потенциал благодаря многоядерному рендерингу, динамическому освещению, системе частиц и другим эффектам.

В 2015 году состоялся анонс движка Source 2. Поклонники ожидали новых игр от Valve, в частности, продолжения саги Half-Life, триквелов Portal и Left 4 Dead, но в список игр на движке Source 2 пока входит не так много игр: Dota 2, Artifact, Half-Life: Alyx а также сборник игр для устройств виртуальной реальности The Lab и инструментарий создания уровней для VR-шлемов Destinations. Движок разработан с учетом современных технологий, поддерживает API Vulkan, но его перспективы пока представляются туманными (как и игр от Valve, но это уже другая история).

Чем хорош Source?

Half-Life 2

В первую очередь своей доступностью. Инструментарий Source SDK доступен бесплатно всем пользователям Steam, и он включает в себя редактор карт, программы для импорта/экспорта и просмотра моделей и проработки лицевой анимации, а также утилиты для распаковки файлов и файлы исходного кода библиотек для некоторых игр Valve.

Garry

Source тесно интегрирован с Мастерской Steam, благодаря чему пользователи могут с легкостью создавать и добавлять моды в игры на движке – буквально, скопировав модификацию в папку с игрой. То же относится и к достижениям, выделенным серверам и прочим функциям: благодаря поддержке Steamworks разработчики модов и отдельных игр могут интегрировать их в Steam и пользоваться всеми возможностями сервиса.

Чем плох Source?

Несмотря на всю гибкость и доступность Source, движок не может конкурировать с инструментами от других компаний в плане насыщенности технологиями. Даже самые новые игры от опытных студий (например, Titanfall 2) выглядят блекло по сравнению с проектами, выполненными на Unreal Engine 4 и CryEngine.

Компания Valve приветливо относится к мододелам и предоставляет свой инструментарий на бесплатной основе. Но если вы захотите продавать моды или игры на движке Source, то вам придется заплатить за использование движка и всех его компонентов, включая отчисления Havoc, Miles и/или Blink, и обязательно выпустить игру в Steam.

Кому стоит использовать Source (в первую очередь)?

Portal Stories: Mel

Конечно же, моддерам, желающим освоить разработку игр, создать модификацию для любимого проекта или добавить новый скин оружия для CS: GO. Что касается более серьезных студий, то им, пожалуй, лучше обратить внимание на другие движки вроде Unreal Engine или Unity, где и больше возможностей, и более лояльные условия лицензирования.

лучшие игры на Source

Half-Life 2 (а также Episode One/Two)

Half-Life 2

Пожалуй, лучшая игра Valve, бессмертный хит, столь разочаровывающе оборвавшийся на полуслове. Отличный сюжет, запоминающиеся герои, динамичный экшен, широкие возможности взаимодействия с предметами, захватывающий мультиплеер – в Half-Life 2 идеально все, кроме, разве что, финала, которого поклонники так и не дождались.

Half-Life: Alyx

Half-Life: Alyx

VR-приквел к Half-Life 2, посвященный приключениям Аликс Вэнс. Игра может похвастать очень красивой графикой, широчайшими возможностями взаимодействия с миром, а также захватывающим сюжетом, который наконец-то сдвинул вселенную с мертвой точки: история дает более чем прозрачные намеки на продолжение событий после Half-Life 2: Episode Two.

Дилогия Portal

У Valve очень хороший нюх на талантливые студии и интересные концепты. Увидев студенческий проект Narbacular Drop, Гейб Ньюэлл (глава студии) сразу же предложил ее авторам работу, в результате чего и появилась серия Portal, обе части которой представляют собой головоломки с порталами и другими объектами, а сюжет дарит игрокам интереснейшую историю с одним из лучших антагонистов в индустрии видеоигр – речь идет, конечно же, о GLaDOS.

Дилогия Left 4 Dead

Left 4 Dead

Серия Counter-Strike

Counter-Strike

Серия тактических шутеров, как и Portal, выросшая из любительской работы. В Counter-Strike геймплей строится на противостоянии сил спецназа и террористов, а игроков ждет множество режимов, большой выбор оружия и широкое разнообразие тактик. Благодаря чему франшиза жива и по сей день.

Dark Messiah of Might and Magic

Dark Messiah of Might and Magic

Шикарный экшен от первого лица с элементами RPG от студии Arkane Studios, которая позже подарила нам Dishonored и Prey. В Dark Messiah of Might and Magic разработчики активно использовали возможности физического движка, поэтому игроки могут по-спартански сбрасывать монстров с обрывов, поджигать горючие поверхности и блокировать вражеские атаки.

Dota 2

Dota 2

Одна из двух флагманских игр в жанре MOBA (вторая, конечно же, League of Legends), полюбившаяся геймерам за большой выбор героев и огромное количество тактик, но также заслужившая не самую лучшую репутацию по вине токсичного комьюнити. Тем не менее Valve делает большую ставку на Dota 2, развивая игру в качестве киберспортивной дисциплины.

The Stanley Parable

The Stanley Parable

Дилогия Titanfall / Apex Legends

Titanfall / Apex Legends

Zeno Clash

Zeno Clash

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

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

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

— Я придумал игру, создай мне её.
— А почему ты сам её не создашь?
— Я не умею.

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

С чего начать?

Для начала нам нужна идея, что за игру мы будем создавать, благо у меня была идея брата. Рассмотрим её поближе.

  1. Это РПГ в средневековом стиле (банально, не правда ли? =) )
  2. Она должна быть 3D, а не 2D (тут, кстати, довольно интересно, потому как в основном весь интернет пестрит роликами с 2D играми)
  3. Вид камеры от третьго лица
  4. Характеристики изменяются сами с повышением уровня, с упором на используемое оружие.
  5. Лимит уровней — 30
  6. Предметы привязаны к уровню персонажа (персонаж четвертого уровня не сможет использовать предмет пятого уровня)
  7. Движок, на котором всё будет работать (в моём случае это Unity: по работе с ним самое большое количество уроков на мой взгляд)

Думаю, что данный план вполне подойдёт для создания шедевра ААА класса =).

Начнём создавать шедевр

В первую очередь регистрируемся на сайте Unity, скачиваем и устанавливаем движок последней версии. Далее перевоплощаемся в человека, который совершенно ничего не знает о движке и о создании игр.

Запускаем Unity Hub.


Выбираем NEW и далее 3D проект, пишем название и местоположение проекта.


И открывается сама программа.


Дальше снова идём в интернет либо проходим туториал в самой программе, чтобы научиться основам работы с движком. Для того, чтобы воспользоваться туториалом в программе, нужно в окне Unity Hub нажать на строчку Learn и выбрать любой из проектов. Я советую пройти все уроки и посмотреть несколько роликов по созданию игр.

Как создать модели для игры?
  1. Научиться моделированию (сложно, долго, но интересно)
  2. Купить готовый пак моделей (быстро и просто, но за деньги)

Я выбрал второй вариант. Отправляемся в AssetStore. Если у вас не активировалась ваша учетная запись, повторно входим в личный кабинет. И начинаем искать подходящие паки. Я нашел то, что нужно, примерно за 3 минуты по поиску knight. В паке, помимо моделей самих персонажей, были модели окружения. Купил за 10 долларов, нажал Import, поставил все галочки, и пропала проблема, неумения моделировать. 1/4 игры готово.

Сцена

Дальше начинается самое нудное. Нужно собрать рабочую зону (scene, сцену, кому как привычнее называть).

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

Поскольку мы с вами в этом деле новички, снова лезем в интернет и смотрим, как нам поставить поверхность в игровую зону. Выбираем GameObject -> 3D Object -> Cube, после масштабируем его до простой площадки.


Далее добавляем персонажа (рыцаря, демона, ниндзю, тяночку, или кто вам больше по душе). Персонажа берем из папки Prefabs: мы уже знаем (вспоминаем, чему нас научили во вкладке Learn), что туда сохраняют полностью готовые объекты, персонажей и так далее.

И вот он, наш герой, который будет покорять всех и вся.


Анимация

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

Что нужно в первую очередь? По мне — так научиться ходить и бегать. Возьмём анимацию ходьбы и бега.

  • В поисковике анимации набираем walking, выбираем понравившуюся анимацию, и ставим галочку In Place
  • Далее нам нужно подгрузить FBX модель от купленного пака для того, чтобы анимация не баговала (иногда такой модели может не быть в паке, но сейчас 99% разработчиков дают модель при покупке любого пака бесплатно либо она может лежать на официальном сайте). Тыкаем на upload character и загружаем модель FBX со смешным названием Mixamo_Guy_Naked.fbx.
  • Видим, что наш FBX заменил стандартную модель миксамо, и при желании можно кастомизировать анимацию, но этого делать мы, конечно же, не будем. Меня всё устраивает. Я жмякаю кнопку Download, выбираю Frames per Second 60 - анимация ходьбы готова.
  • Проделываем туже процедуру с анимацией бега (и другими, в зависимости от того, сколько вы их хотите добавить в данный момент)

Теперь создаём папку Animation в Unity и добавляем туда нашу анимацию. Начинаем настройку.

Выбираем персонажа, inspector, окно Animator, и в строке Controller нажимаем на кругляшок. Появится выбор, где мы и увидим нашу Animation, выбираем её и нажимаем на кнопку Play в Unity. Если вы всё сделали правильно, то сейчас должны наблюдать как ваш персонаж стоит, и у него проигрывается анимация Idle. То есть, он стоит и немного покачивается.


С анимацией разобрались, пора включать снова человека, который ничего не умеет =)

Скрипт W A S D


using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Move: MonoBehaviour

CharacterController controller = GetComponent ();
transform.Rotate(0, horizontal * rotateSpeed, 0);
Vector3 forward = transform.TransformDirection(Vector3.forward);
float curSpeed = speed * vertical;
controller.SimpleMove(forward * curSpeed);

Тут я немного поясню скрипт.

Верхние четыре строчки — это подключение библиотек, public class — название скрипта. Если у Вас скрипт называется Moving или что-то в этом роде, то поменяйте название. Учтите, к регистру скрипт тоже придирчив.

public float speed = 3.0F; public float rotateSpeed = 3.0F; — это скорость персонажа, настраивается по желанию. Далее идёт подключение управления Character Controller и, соответственно, анимации.

Перетаскиваем скрипт в Inspector персонажа и проверяем. It's ALIVE.

Но есть нюанс: поворачивается наш персонаж слишком быстро и не подключена анимация бега. Скорость поворота лечится просто — выставляем в строке Rotate Speed 0.5, и наш персонаж больше не использует чит-крутилку из CS GO. Теперь сделаем, чтобы наш персонаж все-таки побежал. Снова интернет, хотя, по мне, тут можно и логически додумать, как всё провернуть, но всё же я нашел строчку кода, чтобы всё заработало. Добавляем в наш код такую строчку

Если у Вас возникли вопросы, что такое Fire3, то ответ прост: это LShift, а проверить это можно, зайдя File->Build Setting->Player Setting->Input Manager. Эту информацию также не составило труда найти в интернете.


После проверки наш персонаж при нажатии клавиши LShift сменил свою анимацию на бег, но при этом его скорость никак не изменилась. Снова уже по протоптанной дорожке идём сами знаете куда, и я снова нашел строчку кода, которая мне подошла и оказалась полностью рабочей.

В итоге весь скрипт у нас получился такого вида

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Move: MonoBehaviour

CharacterController controller = GetComponent ();
transform.Rotate(0, horizontal * rotateSpeed, 0);
Vector3 forward = transform.TransformDirection(Vector3.forward);
float curSpeed = speed * vertical;
controller.SimpleMove(forward * curSpeed);

if (Input.GetKey(KeyCode.LeftShift))
speed = 6.0f;
>
else
speed = 3.0f;
>

Всё проверили, всё работает, осталось только прикрепить камеру к персонажу. Без заморочек просто перетаскиваем Main Camera в нашего персонажа, далее её настраиваем как нам удобно, проверяем и празднуем ПОБЕДУ!

Заключение

Думаю, что на этом можно этот пост закончить, но впереди еще много работы: создание локации, проработка боя, квесты, предметы, музыка, и еще бесконечное количество вещей, которые можно сделать. Я пока не решил, буду ли в следующей статье строить город или же займусь боевой системой — всё будет зависеть от настроения.

Я считаю, что не имея никаких знаний и денег, а только немного терпения, можно самому создать свою игру. Если вас смущает покупка пака из Asset Store, то всегда можно найти бесплатные паки. Я порылся в интернете и нашел как минимум 6 ресурсов, которые их предоставляют. Советую помимо интернета начать изучение какого-либо направления гейм дева.

Все описанное в этой статье было собрано без специальных знаний с помощью интернета.

Читайте также: