Подтвердить что ты не робот

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

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

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

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

4b9b3361

Ответ 1

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

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

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

Ответ 2

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

Ответ 3

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

Цитата из моего ответа:

Мне тоже 15, так что, наверное, это может помочь?: P

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

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

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

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

Ответ 4

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

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

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

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

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

Ответ 5

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

Ответ 6

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

Ответ 7

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

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

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

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

Ответ 8

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

Ответ 9

Я согласен с Кристофом о Питоне и Пигаме. Когда дело доходит до языков, Python отлично подходит для новичков, потому что он очень высокий, поэтому его легче понять, а синтаксис чист и прост. Pygame - отличная библиотека для изучения игрового программирования.

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

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

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

Ответ 10

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

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

Ответ 11

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

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

Скриншот

введите описание изображения здесь

Удачи.

Ответ 12

ИМХО он должен начать изучать C. затем переключитесь на OpenGL позже, как только он захватит основные C-конструкции.