0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Как создать графику для игры, советы программиста.

Разработка игр и работа с графикой — с чего лучше начинать и на что обратить внимание

    Ответы экспертов, 27 мая 2015 в 23:42

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

Дмитрий Кунин , ведущий Front-End разработчик в AT Consulting

Разработка игр – дело непростое, многогранное. Я уверен, что тот, кто задумал разработать игру, может подступиться к этому вопросу с совершенно разных сторон. И, на мой взгляд, начинать с технической стороны не совсем верно. Ты можешь быть гением Unity или двухмерного движка типа phaser.js и все равно сделать неинтересную игру низкого качества. Игры – это не только техническая реализация: любая хорошая игра – это синергия звука, цвета, движения и, на мой взгляд, самого главного – сценария, истории. Именно она позволяет игрокам полноценно окунуться в мир игры, забыв обо всем на свете. В данном разрезе я призываю игнорировать игры вроде Счастливого фермера или Candy Crush. У них нет толковой сценарной составляющей, но они все равно ужасно затягивают, не благодаря их качеству, а потому что «играют» на умении мозга получать удовольствие от малейшего стимула. Такие игры, сочетая простоту и красочность, делают зависимыми от них. Кто-то из гейм-индустрии сказал о том, что игра, которая заставляет тебя думать о ней все время, плохая, наркотик.

С чего начать разрабатывать игру? С истории и сюжета. Любая техническая сторона вспомогательна. Если кто-то скажет, что только гигантские корпорации, разрабатывающие 3D игры и миры, выпускают качественные продукты, то они не слышали об успешных инди-играх вроде Hotline Miami 1/2, Meat Boy, Fez. Они, может быть, не блещут графикой, но зато сверкают своим глубоким миром, который приглашает миллионы людей окунуться в волшебное пространство игры.

Джозеф Браун , профессор Университета Иннополис

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

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

Егор Шубин , программист, команда сервера Skyforge

Вообще, разработка игры мало отличается от разработки любого другого приложения. Основное отличие – производительность. Если десктопное/мобильное приложение довольно терпимо к задержке, допустим, в полсекунды, при игре эта задержка может быть критичной.

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

Книжек по алгоритмам и структурам данных огромное множество. Очень хороша книжка Роберта Седжвика про алгоритмы. Как java-разработчик, могу ее рекомендовать.

Также, если иметь дело с графикой (в любом проявлении, от перемещения двухмерных объектов по экрану до разработки собственного движка), нужна математика. Чем глубже занятие графикой, тем глубже нужна математика. Для примера можно изучить статью нашего технического директора Сергея Макеева про технологии рендеринга в нашем игровом клиенте. Думаю, к нему же можно обратиться за более подробным описанием того, что нужно для подобной разработки.

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

В принципе, все эти навыки/знания будут полезны любым программистам. Но при разработке игр без них просто никак.

Ну и главное, нужно любить игры

Александр Акбашев , специалист по тестированию в Mail.Ru Group

Учить матанализ, аналитическую геометрию, математику и диффуры. Дать им ссылки на статьи по графике Skyforge с хабра (должно быть 3 штуки). Это если графика.
Если сервер, то учить алгоритмы, теорию вероятностей, статистику, алгоритмы еще раз.

Если мобильная разработка, то ничего учить особо не нужно – нужен просто знакомый художник и куча времени

В тех же статьях на хабре есть подборка литературы по теме графики.

Сергей Зефиров , программист с широким опытом работы, энтузиаст и евангелист языка Haskell

Попробуйте написать интересную вам игру. А дальше приложится.

Общаясь с разработчиком игр, я выяснил, что главным ограничивающим фактором быстродействия игры является обращение в память по произвольным адресам. Например, при выяснении “ближайших” предметов или проверки столкновений.

Внимание, вопрос: можем ли мы избежать полностью или уменьшить количество обращений в произвольные (не последовательные) адреса памяти?

Реально ли самому создать игру без навыков программирования и рисования

Сразу отвечу — реально! Я живой пример этого. Более того, на созданных играх можно еще и заработать впоследствии. Но давайте обо всем по порядку.

Читать еще:  Бычков Василий. Музыкальные инструменты

Меня зовут Владимир. Мне 35 лет. Мое хобби — создание игр. Вот пара скриншотов из игр, созданных мной:

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

Вступление

Рано или поздно люди, играющие в игры, начинают задумываться о том, как все это устроено изнутри. А у некоторых возникает желание попробовать самому. У меня такое желание появилось еще лет в 8 наверное. Но тогда еще не было ни консолей, ни нормальных ПК, ни интернета, чтобы почерпнуть информацию. Были персональные компьютеры моделей БК , Спектрум , Радуга и прочие. И игры на них выглядели как-то так:

Сейчас на это некоторым игрокам смотреть без боли в глазах невозможно, а тогда это казалось дико крутым.

В те времена сделать такую игру стоило больших трудов. Сейчас же игру на порядок лучше может создать школьник 12-15 лет в одиночку за пару вечеров у компьютера. Все дело в инструментах. Сейчас существует уйма программ для создания игр (конструкторы и движки) в которых можно делать игры даже не имея навыков программирования. Достаточно базовых школьных знаний.

Не знаю, что сейчас проходят в школах на уроках Информатики, но в мое время мы изучали язык программирования Basic . Да и сама Информатика появилась только в 10-11 классах, если память не изменяет. Сейчас Информатику преподают с более раннего времени. Так вот тех знаний мне хватило с лихвой.

Кстати, если присутствуют школьники, напишите в комментариях что вы изучаете на уроках Информатики. Какой язык программирования (ЯП) учите. Было бы очень интересно узнать.

Но вернемся к инструментам. Существуют как очень крутые движки для 3D игр ( CryEngine , Unreal Engine , Unity ), так и более простые для 2D игр ( Game Maker , Construct , Stencyl ). В данный момент уже присутствует несколько версий того или иного движка/конструктора.

С чего начать

Так с чего же начать? Главная ошибка начинающих — это » хочу сделать клон GTA «. Нет. Нет! И еще раз — нет! Это неверный путь! Любое обучение начинать нужно с малого. Перенесем это на вышеописанные инструменты. Первый тип нам не подходит, по моему мнению. Сделать 3D игру без навыков сложно и очень ресурсозатратно. Остается вариант с 2D игрой. Тут в одиночку справиться уже шансов гораздо больше. По этому выбираем для себя конструктор/движок 2D игр и начинаем его «щупать». Т.е. элементарно устанавливаем, запускаем, и пробуем делать что-то на практике. Это лучший способ обучения. Сам так начинал.

Сам я работаю на движке Game Maker Studio . Выглядит он как-то так:

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

Что касается самого движка Game Maker Studio , то на нем было создано множество известных в определенных кругах игр. Например Nuclear Throne, Hotline Miami, Undertale, Katana Zero, CrashLands, Blackhole, Nidhogg, Peace, Death!, Risk of Rain, Spelunky, They need to be feed, The Swords of Ditto, Forager и много-много других. Небольшую часть игр, созданных на этом движке можно посмотреть на их официальном сайте: https://www.yoyogames.com/showcase

Я не призываю работать именно на нем. Можете попробовать Construct2 . На нем тоже вполне можно создать игру вообще без кода.

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

Хорошо. Итак мы определились с инструментом на котором будем собирать игру. Что дальше?

Где искать помощь

Так или иначе в ходе обучения у вас начнут появляться вопросы. Вопросы по самому конструктору/движку, общие вопросы по разработке игр, по их монетизации, по тому, как показать игру игрокам и т.д. Где брать ответы?

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

Не стесняйтесь задавать вопросы. На таких форумах обитают люди разных возрастов. Порой разброс от 10 до 40 лет. И с разным уровнем опыта и знаний. Это не важно. Просто будьте максимально вежливы. И вам всегда помогут.

Для начала я бы вам посоветовал пару таких:

Этого хватит за глаза на начальном этапе обучения. Я сам иногда захожу до сих пор на gcup например и помогаю новичкам в разделе форума game maker . Ну и конечно не забываем про Гугл и Ютюб. Обучаться в сети и искать ответы на вопросы сейчас проще простого. Было бы желание.

Ну ок. На чем делать игру и где искать помощь и подсказки мы определились. Но как быть с графикой для игры?

Где взять игровую графику

Если сами не владеете навыками рисования, то на начальном этапе можно использовать графику из старых игр, либо из бесплатных ресурсов. Ну или начинающих (и не очень) художников можно найти на вышеуказанных форумах. Часть из них уже работает за платно конечно. Это нам не подходит. Но если вы уже будете владеть более или менее уверенно навыками создания хотя бы простой игры и у вас в портфолио будет хотя бы одна-две законченных игры , то вы вполне можете объедениться с начинающим художником. Я именно так познакомился со своим коллегой, с которым работал над несколькими играми.

Читать еще:  «Мистическое» в творчестве Н.В. Гоголя

Если брать спрайты (изображения) из старых игр, то можно посмотреть например тут: https://www.spriters-resource.com

На этом сайтее можно найти и бэкграунды (фоновые изображения) для игр и анимированные спрайты (изображения) персонажей и тайлсеты (набор кирпичиков из которых строится сам уровень).

Ну или просто через поисковик ищете сайт с бесплатными ресурсами для игр. Таких сейчас много. Найти не сложно. Я в свое время начинал делать первые игры, пользуясь ресурсами из старых игр. Получалось вот так:

Это был мой один из самых первых платформеров. Я учился, создавая его. В итоге сделал два уровня и босса. Этого вполне хватило, чтобы освоить базовые инструменты в движке. Было это лет 10 назад наверное.

Заключение

Итак, подведем итог. Что же нам нужно для создания игры.

1) Сильное желание.

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

2) Выбрать инструмент.

Об этом я уже описал подробнее выше. Совет лишь один. Если есть навыки в каком-то языке программирования, то ищите движок, который поддерживает этот язык. Если же нет, то я бы вам посоветовал Game Maker Studio 1.4, Construct2 или совсем простой Stencyl. Попробуйте что-то из этого. Я бы советовал обратить внимание на первые два.

3) Идея для игры.

Если вы только-только делаете первые шаги в мир геймдева, то просто сделайте клон простой игры. Постарайтесь сделать арканоид, простенький платформер, клон galaga, flappy bird и т.д. Т.е. сделайте максимально простую игру. Чтобы прощупать инструмент и столкнуться с первыми задачами и трудностями . А они несомненно появятся. Если это слишком просто и банально для вас, то сделайте клон с небольшими изменениями, какой-нибудь своей фишкой. Но сильно не усложняйте. Ну или просто придумайте свою идею. Главная мысль, что она должна быть максимально простой и реализуемой. Никаких клонов GTA где можно грабить караваны! 🙂

Сколько времени нужно для создания игры? Тут все зависит опять же от ваших способностей и желания. Я собирал первые прототипы в среднем за неделю. Самую первую игру с параллельным изучением движка делал может месяц. И поверьте это не много. Сложные игры можно собирать год (как одна из моих игр в самом начале статьи). Но они уже на порядок сложнее и могут продаваться. Хотя монетизировать можно и совсем простые поделки начинающего. Как заработать на совсем простых играх, я раскажу в другой статье.

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

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

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

16 замечательных сайтов с БЕСПЛАТНОЙ графикой для разработчиков игр.

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

Этот длиннопост специально для нас!

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

Кроме того, на сайте представлены подборки бесплатной музыки.

Наверное, один из лучших сайтов в своём классе. OpenGameArt.org огромный сайт, предлагающий все виды графики, необходимые для разработки игр. Так же на сайте имеется бесплатная музыка (звуки). Основными плюсами данного ресурса являются наличие оживленного и весьма полезного форума, а так же постоянное обновление материалов за счет пополнения самими пользователями и рейтинговой системы оценивания. Так что вы всегда сможете быстро выбрать самое лучше и свежее.

Отличный ресурс для тех, кто задумывает или уже создает свою RPG.

При переходе по ссылке справа вы увидите колонку ресурсов. Персонажи, предметы, локации и тому подобное, при нажатии на которых все-все объекты появятся на одной странице, что упрощает и ускоряет выбор. При клике на понравившегося персонажа, открывается ссылка на .png файл, со всеми 3d-проекциями и движениями, что идеально подходит для создания собственных спрайтов.

Отличительная особенность данной коллекции — 8-битная графика городов. Вся библиотека совершенно бесплатна, и всё, о чём просит автор — упомянуть о нём в своей игре (credits).

Цветовая гамма данной библиотеки является её отличительной особенностью, и при использовании в исходном виде вполне может определить дизайн всего проекта.

Коллекция материалов, созданных и использованных в различных проектах дизайнером Робом Фероном для Вашего личного пользования.

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

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

Создатели проекта Glitch, закрытого в 2012 году решили сделать всю её графическую часть Достоянием общественности (никакие авторские права для использование не требуются). К Вашим услугам более 10,000 изображений восхитительного качества собранные воедино и доступные по одному нажатию.

Читать еще:  Откуда мы узнаём о прошлом? Цитаты о прошлом.

Идеально для сайдскроллеров и платформеров

Множество графики от дизайнера-фрилансера Брента Андерсона. Всё бесплатно при условии упоминания в приложении (Credits).

Бесплатная графика от разработчика игр разработчикам игр. Помимо библиотек на сайте есть неплохие туториалы.

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

Отличный сайт с графикой для инди проектов и казуалок.

Всё разбито на категории по типу игры и упаковано в ZIP архивы. Есть и 2D и 3D графика, но так же как и в предыдущем случае стоит внимательно смотреть на лицензию, под которой распространяется контент.

Сам сайт — форум про Гугл и всё, что с ним связанно, но в 2006 году его участник Philip Lenssen выложил на нем около 700 спрайтов, которые теперь распространяются под Creative Commons License

Сайт немного отличается от рассмотренных выше. Это блог игрового дизайнера, в котором время от времени появляется бесплатная графика для разработчиков игр. Так же интерес представляет и сам блог, в котором дизайнеру можно найти уйму важной и интересной информации.

Безумное количество фонов и текстур для Ваших игр и приложений. Всё как и прежде бесплатно — только не забудьте поблагодарить автора.

Обширное сообщество с огромными объемами графики. Всё, что сможете найти на этом сайте, совершенно бесплатно. Правда вот поискать придется как следует.

По моему скромному опыту самый быстрый способ начать писать почти с нуля, это скачать QT, поставить V-Play, разобрать пару туториалов и начать реализовывать свою идею. Если совсем ничего не умеешь, то через неделю-две уже что-то да начнет проклёвываться.

Если был минимальный опыт прогания, то через день два уже начнешь делать свой проект. Язык qml очень прост в понимании.

Всё это совершенно бесплатно и собирается подо все платформы.

http://v-play.net/ — тут всё очень подробно и понятно, но потребуется минимальное знание английского

Автор! Вот мне интересно попробовать что-то сделать, но я полный 0. Перешел на тот сайт, скачал v-play. Что такое QT, посмотрел в википедии, понятней особо не стало — кроссплатформенный инструментарий разработки ПО на языке программирования C++ — единственная до конца осмысливаемая фраза в статье. Думаю, многие бы вместе со мной выразили бы вам огромную благодарность за пошаговую программу (желательно со ссылочками на источники) плавного введения в волшебный мир игроделов. Как отдельный пост бы отлично зашло, имхо!

Если за это браться, то нужно как-то основательно. Сейчас времени не очень много.

Но если очень хочется начать, то пошагово я бы посоветовал выполнить установку по данной инструкции

Скачается и устнановится QT (как Word для работы с текстом, Photoshop для картинок, так QT для работы с кодом). Даже в процессе установки могут возникнуть проблемы.

А далее нужно брать любые туториалы отсюда

и более сложные примеры игр с полным исходным кодом.

С нуля это будет нелегко — недели полторы точно придется покопать, почитать документацию, погуглить. Но язык действительно очень дружелюбный, поэтому скорость освоения будет расти. Было бы желание. Еще очень важно понимать, нужно ли оно?

Если действительно есть цель освоить, то желаю удачи и терпения.

ТС я так хотел спать, а в итоге 3 часа смотрю видео уроки по созданию простейших игруль..

Хер положил. И на Пикабу тоже)

Хех, бывает) а мог за это время разработчиком стать начального уровня). Надеюсь я не забью через 3 года

Большое спасибо за ответ.

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

Очень интересную идею нельзя реализовывать, если ничего не умеешь. Советую попробовать программировать в Stencyl или Game Maker Studio.

Я это отлично понимаю. Учитывая, что в ней придется задействовать различные формулы из физики и геометрии, и сам код кажется делом непростым. Благодарю за совет! Но GMS точно не подойдёт, судя по тому, что я видел про него на ютубе, а Stencyl обладает схожим инструментарием.

Даже не знаю, что ты там хочешь сделать ТАКОГО, раз тебе ГМС не подойдет, ММОРПГ?

Важна не только простота языка, но и то, много ли по нему материалов. По Стенсилу я когда-то даже статьи переводил с английского, а по ГМС достаточно информации и форумов на русском.

Ну, все дело в огромной кастомизации, которая и является основной фишкой идеи. На первый взгляд все просто — баталии в плоском мире на космических короблях, которые игроки создают для себя сами. С ростом уровня игрока креативные и конструкционные возможности растут в геометрической прогрессии. Встал уже вопрос, как же игроки будут создавать корабли? В этом и заключается основное отличие от привычных игр — в роли космического корабля будет выступать геометрическая фигура. 1 уровень — треугольник, 2 — квадрат и т.д. Число вершин равно числу оборудования, которое можно присобачить. Грубо говоря, на 1 уровне будет одно орудие и два двигателя.

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

Короче, кастомизация полная — от формы корабля до тяги каждого двигателя, плюс любой чих можно забиндить на клавиатуру.

Источники:

http://tproger.ru/experts/11/
http://zen.yandex.ru/media/id/5cfbc7bf9511bd00afb50470/5cfbcce1254b9f00af8a83ca
http://pikabu.ru/story/16_zamechatelnyikh_saytov_s_besplatnoy_grafikoy_dlya_razrabotchikov_igr_3903473

Ссылка на основную публикацию
Статьи c упоминанием слов:

Adblock
detector