@IdoNotLikeNicknames
Молодой паренек, хочу пилить игры

Разработка игр.Как начать?

Я поучаствовал в олимпиадах, более-менее ориентируюсь в c++ (т.е знаю его).

И вот я захотел создавать игрушки (в первую очередь для десктопа).

Вопрос №1: Как и с чего начать?. Я не работал ни с движками, ни с чем-либо подобным.

Вопрос №2: один родственник посоветовал взять исходники(ну например олдскульной консольной змейки) и просто что-то поменять, или добавить, а не разрабатывать что-то с нуля. Так ли это?
  • Вопрос задан
  • 619 просмотров
Пригласить эксперта
Ответы на вопрос 9
Stalker_RED
@Stalker_RED
Вот вам првая попавшаяся статья о создании "компьютерной игры с нуля".
Вам она сокрее всего НЕ подойдет, и лучше бы вам почитать их несколько, и подобрать такую, которая соответствует вашим умениям и интересам.

один родственник посоветовал ... Так ли это?
Судя по вашим словам, он вам что-то такое посоветовал. Но так ли это на самом деле - отсюда не видно.
Ответ написан
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Подберите актуальный на сегодня игровой "движок" на С++ и читайте оф. мануал и проходите уроки шаг за шагом.
После того, как освоите - можете сделать что-то простое на нём.
А дальше - уже поймёте куда двигаться.
Ответ написан
dollar
@dollar
Сейчас можно вливаться в геймдев, изучая Unity. Во всяком случае, это идеальный инструмент для быстрого и дешевого создания прототипа.

Если вы знаете С++, то скорее всего вам зайдет другой движок - Unreal, так что можете начать с него. Он не такой модный, потому что порог вхождения выше, как раз из-за С++, но вы-то его знаете. И он вполне годный. В чем-то даже лучше Unity - меньше готовых решений (которые ограничивают ваши хотелки) и больше свободы, настроек, возможностей. Красиво устроен внутри. Продуманный. Вообще он для серьезных бородатых людей, а Unity нынче может даже школьник освоить.

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

Короче, нужно помнить два основных момента:
  1. Геймдев - это сложно. Реально сложно. Одному человеку, как правило, не под силу. Конечно, если это не пятнашки или тетрис, а также если ваша конечная цель - прибыль.
  2. Геймдев и любовь к играм - это не одно и то же. Совсем. Разница примерно такая же, как ездить на машине и чинить машину (и тем более, проектировать ее). Поэтому если вы просто игроман и хотите применить навыки программирования к играм, то делайте моды (Lua) и не касайтесь сферы геймдева.

Готовы спуститься в ад? Тогда добро пожаловать в геймдев. :) И удачи! Она вам понадобится.

P.S. Родственник явно далёк от геймдева. Но если очень хочется, вот вам исходники игр.
Ответ написан
JZ_52
@JZ_52
Студент
Ну с++ я знаю один движок, это Unreal. Unity работает C# или Java. Вы можете взять готовый пример, но нужно разобраться что и зачем это здесь написано. Ну это моё мнение.
Ответ написан
saboteur_kiev
@saboteur_kiev
build engineer
По идее, решая олимпиадные задачи, вы должны были научиться решать задачи, научиться учиться.
И тут же вопрос - прямо неизвестно с чего начать.

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

Ставите задачу, ищете методы решения, изучаете их, решаете.

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

В общем разбиваете задачу на понятные подзадачи и решаете их.
Ответ написан
@Denioo
Для начинающего разработчика игр, советую начать учить C# и Unity. C++ прекрасно, но присмотритесь к C# и Unity возможностей куча, декстоп, мобилки, браузерки все что угодно да и к тому же очень много можно найти информации на просторах интернета как на русском так и на английском.
Не думаю что для вас будет сложностью за недели 2 выучить шарп))
Удачи!)
Ответ написан
tsarevfs
@tsarevfs Куратор тега C++
C++ developer
Начните с чего-то совсем простого. Змейка вполне нормальный пример. Можно писать на чем угодно не закапываясь в детали. 2D, спрайты скорее всего ваш выбор.
Некоторое время назад я игрался с https://www.sfml-dev.org/ . Возможно сейчас есть выбор лучше, надо гуглить. Да, реальные игры пишут на больших монстрах типа Unity или Unreal. Но из-за высокого порога входа легко все бросить не получив результата.

Важно понимать, что игры в последние годы все меньше про программирование. У меня во время учебы возникало желание сделать игру, но все обычно упиралось в модели, текстуры и прочий контент.
Не советую начинать писать свой движок. Даже если смотреть на это как на учебную задачу, почти наверное это потребует больше сил и времени чем у вас есть.
Ответ написан
@vanyamba-electronics
На С++ игры не пишут, на C++ пишут игровой движок. Но сами игровые сценарии намного удобнее писать на скриптовом языке, например, на Python, ActionScript или Java.

Впрочем, простую игру, вроде Тетриса или Змейки, можно написать и на C++ с помощью SDL (для 2D-графики) или OpenGL (для 3D). Хотя мой совет - использовать Python.
Ответ написан
@smart-drone
Игра это бесконечный цикл в котором происходит рендеринг и обработка событий от пользователя и от объектов игры. Вы создаёте различные классы для объектов игры и класс самой игры. Это могут быть персонаж, противники, карта, hud элементы. Каждый класс имеет обязательный метод отрисовки и пересчёта позиции в главном цикле. Главный цикл запускается из класса игры.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы