Мой сын (15 лет) решил, что хочет продолжить карьеру программиста игр. Я сказал, что он должен начать сейчас с простой игры. У него еще нет опыта программирования, но я программист (бизнес-приложения, а не игры), поэтому я могу научить его программированию, но с чего бы ему начать? Изначально я ищу что-то, что может дать быстрые результаты, чтобы поддержать его энтузиазм.
Что ты предлагаешь?
Ответы:
XNA - хорошее решение для довольно уверенного программиста. Это будет хорошей целью, к которой нужно стремиться в будущем.
Комплект разработчика Unreal является способ , чтобы получить результаты гораздо более быстро и легко, и может быть хорошим местом для начала. Комментарии показали, что UDK на самом деле довольно плохая альтернатива, поэтому я не могу рекомендовать это.
Unity - это альтернатива, она будет работать на телефонах, чего UDK не может сделать (насколько я знаю). Так что, если он занимается программированием игр для телефонов, возможно, единство будет лучше?
источник
Мне тоже 15, так что, думаю, это может помочь? :П
Я недавно начал изучать Python (занимался C ++ в течение года или около того), и я считаю, что его гораздо легче изучать, чем C ++. Здесь гораздо меньше подводных камней, и вам нужно немного кода, чтобы что-то вывести на экран - то, что я обнаружил, заставляет вас продолжать.
И есть графические оболочки, такие как Pygame и Pyglet поверх SDL / OpenGL.
Прежде чем он начнет делать простые игры, я бы посоветовал выучить язык хотя бы на пару месяцев. (Конечно, текстовые игры типа угадай число и палач - хорошие упражнения в это время)
источник
Немного неортодоксальный ответ здесь:
Starcraft II Galaxy Editor.
Вы можете сделать практически любую игру в Starcraft 2.
Он также учит большинство конструкций программирования как циклы и операторы if в GUI-ориентированном виде.
Как только он будет уверен в основах, вы можете использовать его в сценарии.
Если он хорош в этом и находит это интересным, ему понравится правильное программирование игры.
источник
Я бы грубо разделил инструменты разработки игр на три большие категории:
Людям, не имеющим опыта программирования, я обычно советую начинать с первой категории, просто чтобы начать что-то делать. Когда они чувствуют себя комфортно с данным авторским инструментом, но действительно чувствуют, что ограничения перевешивают преимущества, пришло время изучить что-то в следующей категории.
источник
Я знаю, что это несколько подействует на меня, но когда я рос, мне действительно нравились P-Robots . Есть действительно простая цель (побить других роботов), простой API и короткий промежуток времени между изменениями в коде и просмотром результатов. Он переходит к искусственному интеллекту, шаблонам проектирования и даже более крупной структуре кода (некоторые из этих роботов могут стать довольно большими - а как насчет совместного использования кода между роботами?). Если вы можете найти что-то похожее, но более новое, это был бы хороший способ получить часть «начинающего программирования». Предложения:
Как только это будет сделано, подумайте о том, чтобы выбрать действительно простой 2D скролл-шутер, платформер или аналогичную игру в «аркадном стиле» - вы можете использовать SDL или XNA или любую другую, наиболее знакомую вам. Даже получить клон понга и запустить его не совсем тривиально. Это дает вам небольшое эхо о том, что значит строить что-то «с нуля».
После этого, изучите: мод для существующей 3d-игры (новый объект, или бот, или что-то), чтобы немного понять более крупные движки.
Ключи, из того, что я видел, выглядят так:
источник
Мой совет - делать веб-игры. Зачем? Ну, во-первых, JavaScript - это прекрасный язык, который научит его всем основным понятиям программирования, и вы действительно сможете сделать из него отличную, компетентную и кроссплатформенную игру. Это также даст ему право на гораздо большее, чем просто создание игр ... Если вы по какой-то причине не хотите, чтобы ваш сын занимался веб-разработкой, тогда я предлагаю использовать Python с модулем под названием PyGame. У меня также есть опыт с этим, и я потрясающий. Я не советую начинать с C / C ++, это то, что я сделал, и это ужасно и может лишить его мотивации для программирования в целом.
С другой стороны, вы, вероятно, потрясающий отец, поздравляю!
источник
Mindstorms Roboter действительно крутые. У нас есть несколько NXT в школе, и на прошлой неделе мы начали программировать такие вещи, как «следуй за линией» и тому подобное. Вы можете легко получить результаты.
Также я нашел www.3dgamestudio.de некоторое время назад. Я не получил больше в это, но это было действительно интересно. Вы можете программировать с lite-C, который:
На http://tutorial.3dgamestudio.net/ вы попадаете в него. А еще есть редактор уровней, моделей и ландшафтов.
PS: Мне 16 лет, и я начал с друга, который программировал веб-сайт и настраивал запрограммированный игровой сервер. Так что это тоже может быть ему интересно.
источник
Я не могу предложить это достаточно, но создаю его собственные уровни для его любимой игры выбора .
Для людей этого возраста / уровня квалификации они должны начать с создания уровней в своем любимом игровом движке .
Многие отличные игры поставляются с редактором уровней, который дает много степеней свободы.
RPG : набор инструментов OWSIDIAN NWN 2 для электроники , Elder scrolls
RTS : редактор уровней Warcraft III - это фантастический редактор RTS, который даже создал свою собственную игру ( лига легенд и героев новичков ).
FPS's : Hammer для периода полураспада 2. Counter-Strike изначально был модом Half-Life.
Начните здесь . Построение уровней для вашей любимой игры - это, пожалуй, лучшее место для начала.
источник
Хотя вся информация здесь полезна, я хотел бы упомянуть, что у STEM Challenge (национального конкурса игр, проводимого Белым домом и ЕКА) есть некоторые предложения о платформах http://www.stemchallenge.org/about/Default.aspx
Gamestar Mechanic, Gamemaker, Kodu, Scratch, PBS KIDS готовы к обучению
У меня есть ощущение, что есть ресурсы сообщества об этих платформах, особенно в отношении STEM.
Смотрите также этот превосходный учебник о Python и Pygame (который также является онлайн-книгой) http://inventwithpython.com/chapters/, здесь находится PDF сиквела к книге, в частности, о Pygame http://inventwithpython.com/blog/making. -Игры-с-Python-Pygame /
Вот еще одна статья Нью - Йорк Таймс http://www.nytimes.com/2011/11/10/technology/personaltech/computer-programming-for-children-minus-cryptic-syntax.html?_r=2&sq=mitchel+resnick&st=cse&adxnnl= 1 & УПП = 1 & adxnnlx = 1322489239-tMp1Wjl9FUcI8rLaJ6cbOw
Обновление: вот обсуждение slashdot http://ask.slashdot.org/story/11/12/27/152228/ask-slashdot-tools-for-teaching-high-school-kids-how-to-make-games
источник
Game Maker - отличный выбор для людей, не имеющих опыта программирования. Он имеет бесплатную версию и относительно дешевую платную версию. Он позволяет быстро создавать игры с интерфейсом перетаскивания, но включает в себя поддержку более сложных сценариев.
источник
Как упоминал Мартин, UDK - это, пожалуй, самый быстрый способ заставить что-то работать, поскольку он поставляется с таким количеством готовых вещей, как ИИ, модели, а также множество книг. Он имеет очень хороший редактор карт, и язык Java-esque (и ECMA-скрипт, как).
Альтернативой может быть попытка делать игры во Flash или Silverlight - начните с простых 2D-игр. Какой бы жанр игр он ни любил диктует инструментарий.
источник
Исходя из 14 лет, этот совет может быть полезным. Я считаю, что лучший способ выбрать платформу - это платформа, наиболее подходящая для этой цели. Я сделал этот пост много раз раньше.
Из Reddit -
Посмотрите на такие игры, как Minecraft. Конечно, он написан на Java, языке, который имеет чрезвычайно небольшую долю рынка в индустрии разработки игр. Но заботятся ли потребители? Нет, они заботятся о функциональности.
Однако, поскольку ваш сын не имеет никакого опыта в программировании, я предлагаю изучать язык, который быстро кодирует, например, Python, или использовать существующую платформу, такую как XNA. Лично я люблю Slick2D с Java, но я думаю, это мое предпочтение ...
источник
Я познакомился с программированием в молодом возрасте (моложе 15 лет), и мой папа решил использовать VB (1.0). Мы сделали скрученную версию понга, используя объект таймера и рисование GDI. Мне понравилось это, потому что мы начали с чистого листа и смогли изучить основы программирования, пытаясь сделать что-то веселое.
Сегодня я думаю, что выбрал бы XNA и выбрал бы простую 2D-игру. C # и XNA довольно просты, и у вас есть много возможностей для роста, и они свободны.
источник
Если он просто хочет создавать игры, он должен использовать XNA, Unreal, Unity и т. Д. Если он хочет быть программистом игр, то он должен сначала изучить C / C ++ и OpenGL / SDL или D3D.
XNA, Unreal, Unity и т. Д. Отлично подходят для создания игр, но очень плохо делают слишком много для вас. Я уверен, что люди не согласятся со мной по этому поводу, но это в основном превращает вас в ленивого программиста, и когда придет время изучать такие вещи, как пункты в C ++, это будет сложнее, потому что вы сначала пошли с более простыми опциями.
Peronally, я никогда не рекомендую использовать другой C / C ++ в качестве первого языка для изучения, если вы хотите стать программистом игр. Основная причина в том, что даже если вы пойдете изучать C # / XNA, если вы серьезно собираетесь стать разработчиком игр, вам придется знать C или C ++ на каком-то этапе, потому что иначе вас никто не наймет. Так что если они серьезно относятся к профессии, то вы только откладываете изучение того, что от вас ожидают.
источник