it-swarm.com.ru

Начните основы программирования игры

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

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

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

17
user201788

Я начал писать карьеру в программировании, когда мне было 15 лет, и это было очень весело (хотя я боролся с C++ в течение 3 лет только потому, что «это то, что используется для написания игр»). Мои два цента:

  • Начните с языка программирования, который прост в использовании (НЕ C или C++)
  • Получить книгу для начинающих для этого языка программирования (не для игр)
  • Выберите какой-нибудь API или среду, которая предоставляет то, что нужно для написания игр. Я начал с создания змеи, космических захватчиков и т.д. В консоли, но подойдет любая 2D-среда (держитесь подальше от 3D как можно дольше; сначала нужно изучить гораздо более важные вещи). SDL / GLUT for OpenGL имеет привязки практически на любом языке. Pygame для Python тоже выглядит многообещающе. Используя HTML5-элемент canvas -, вы даже можете писать программы в браузере, используя JavaScript. Я не уверен, что лучше в эти дни, но у вас есть несколько предложений.
  • Найдите сообщество для вдохновения и помощи, когда застряли. Я использовал gamedev.net . Так как мы находимся на stackoverflow, gamedev.stackexchange.com также должен быть естественным выбором :)
  • Начните с малого. Очень маленький. Я имею в виду действительно крошечный. Затем сделайте небольшие шаги к новым вызовам. Пожалуйста, не пишите MMORPG .
  • Дизайн игры и графика забавны, но сосредоточены на программировании (пока, по крайней мере). Когда вы написали простую игру, научитесь делать то же самое лучше.
  • Поставить цель. Представьте себе игру, которую вы хотели бы сделать. Не пытайтесь сделать это немедленно, но убедитесь, что каждая новая вещь, которую вы изучаете или делаете, приближает вас на один шаг. Не учите, что вам не нужно, так сказать (слишком много, слишком много учиться).

Я желаю вам и вашему брату удачи, я никогда не жалею о том, что иду по пути, который он собирается пройти!

25
Jakob

Для начинающего энтузиаста разработки игры, я думаю, вы не ошибетесь с комбинацией Python + Pygame . Python - это отличный, элегантный (и легкий для изучения) универсальный язык, и для Pygame доступно множество отличных учебных пособий, которые объясняют основы (в основном) программирования 2D-игр.

5
ChristopheD

Это пост на Gamedev в стеке, где постер находится буквально в той же позиции.

Цитирую мой ответ оттуда:

Мне тоже 15, так что, думаю, это может помочь? :П

Я недавно начал изучать Python (занимался C++ в течение года или около того) и Мне гораздо легче учиться чем С ++. Гораздо меньше подводных камней, и вам нужен маленький код, чтобы получить что-то на экране - что я нахожу заставляет вас хотеть продолжить.

И есть обертки, как Pygame и Пиглет над SDL/OpenGL для графическая сторона.

И прежде чем он начнет делать просто игры, я бы посоветовал учиться язык как минимум на пару месяцы. (Конечно, текстовые игры Вроде угадать число и палач Хорошие упражнения в это время)

И для чего читать; Я могу посоветовать Изобретите с Python . Это идет от изучения языка очень игровым способом - это хороший шаг, чтобы убедиться, что он остается заинтересованным; Я сомневаюсь, что многим детям его возраста захочется узнать все о переменных и циклах, а также о возможности сделать игру - вплоть до простого представления PyGame и графики.

3
The Communist Duck

Я согласен с ChristopheD насчет Python и Pygame. Что касается языков, Python отлично подходит для начинающих, потому что он очень высокого уровня, поэтому его легче понять, а синтаксис чистый и простой. А Pygame - отличная библиотека для обучения программированию игр.

В конце концов он захочет перейти на C++, который, как я понимаю, является языком для разработки игр. Но Python и Pygame были бы лучшим началом, особенно для 11-летнего.

Хорошей серией легко читаемых онлайн-книг являются следующие три:

http://greenteapress.com/thinkpython/thinkpython.html чтобы выучить Python http://inventwithpython.com/ на этом сайте есть две книги о том, как создавать игры на простом Python, и другие для создания игр с использованием библиотеки Pygame для Python. Прочитав эти три книги, он сможет начать создавать свои собственные игры на Python с использованием Pygame, а затем перейти к более серьезным языкам/инструментам разработки игр.

1
theCodeBear

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

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

Если ему 14 лет, то он старшего школьного возраста (при условии, что он базируется в США ...), и есть большая вероятность того, что ему доступны курсы по программированию. Позвольте ему стиснуть зубы, чтобы избавиться от трудностей, связанных с внедрением программирования, а затем, как только он захочет выйти за пределы набора инструментов, познакомит его с ответами других пользователей.

Мои два цента ... Я видел, как дети разочаровались в программировании, потому что они прыгнули прямо в создание игр и быстро разочаровались ...

1
the_e

В начале убедитесь, что вы делаете это весело. Попробуйте издеваться над старыми играми, такими как 1-этап контратаки или аэрохоккея. И использовать язык программирования с простой реализацией таймера. Поскольку таймеры, я думаю, являются самым простым способом показать некоторые видимые эффекты. Я бы порекомендовал Visual Basic или Objective-C (я знаю, что многие не согласятся, НО это чертовски легко с мощью XCode). Пальцы вверх ! Повеселись.

1
divyenduz

Это может занять некоторое время, пока он не сможет запрограммировать правильную игру ...

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

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

Я думаю, вы должны купить ему книгу по Java и начать с основ.

Вы получите много разных ответов на этот вопрос, так как это в основном личное мнение ...

1
fingerman

Научите его основам программирования: переменные, объявления, свойства, методы, аргументы, классы, массивы, циклы. Я полагаю, что C # в качестве исходного языка, на мой взгляд, кажется проще, чем C или C++. Как только он поймет эти концепции, ему не должно быть очень сложно перейти к некоторым учебникам по XNA в простой игре, такой как понг или что-то в этом роде.

1
Kyle

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

1
LandonSchropp

Это очень простой исходный код игры (Butterfly adventure 1.0), созданный с использованием javascript для начала изучения программирования. Используются только базовые коды (переменная, if, switch, функция, событие и т.д.). 

Может быть полезно начать изучать разработку игр.

Скриншот

enter image description here

Повеселись.

0
bugra ozden

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

Обучение основам программирования также важно. Язык, такой как python, вероятно, является хорошим началом .. Язык понятен и прост в изучении и обучении .. И он очень расширяем.

0
VGE