Итак, я пытаюсь научить своего младшего двоюродного брата немного программированию. Моей первоначальной мыслью было что-то вроде Scratch или Alice , но в этом было несколько недостатков.
Кажется, что все действительно увлекаются программированием игр и разработкой видеоигр (потому что все любят играть в видеоигры, и если вы играете в видеоигры, то играть в свои собственные игры может быть самым полезным), но ни Алиса, ни Скретч, похоже, не обслуживают игру. развитие
Алиса и Скрэтч кажутся слишком ребяческими, хотя я уверен, что моему двоюродному брату понравится в этом баловаться, я думаю, он быстро надоест
Я хочу язык, который можно использовать для разработки действительно классных вещей, которые поразят его друзей. Я помню, как писал BASIC в тот день, пригласил всех своих друзей и продемонстрировал свое творение, и я просто чувствую, что Алиса и Скретч просто не апеллируют одинаково
Я хочу язык, который требует, чтобы мой двоюродный брат писал код. Теперь, это не только потому, что я думаю, что вывод кода является хорошей подготовкой для других языков программирования, но и потому, что он дает ему возможность практиковаться в наборе текста и, возможно, привыкнуть к некоторым немного более эзотерическим символам на клавиатуре.
Вот почему я не хочу выбирать Алису или Царапину.
Я также не хочу выбирать язык как C или Java, или даже Python или Ruby в этом отношении. Мой двоюродный брат уже сообщил мне, что он любит играть в видеоигры и хочет делать свои собственные, и что он любит пользоваться компьютерами. На мой взгляд, даже простой язык, такой как Python или Ruby, просто занимает слишком много времени, чтобы создавать классные вещи. В идеале он садился, проводил день или два (или, может быть, даже до недели, но, надеюсь, меньше) и имел бы работающую двухмерную игру. Я не говорю, что вы не можете сделать это на Python или Ruby, но я просто говорю, что это будет сложно для начинающего программиста. Кроме того, я не хочу увязать его со всем, что связано с информатикой, как это может произойти позже. Я просто хочу помочь ему создать искру, а затем позволить ему продолжать огонь.
Я смотрел на такие языки, как Lua, и, хотя это кажется распространенным явлением в игровом программировании, я не уверен, что это лучший выбор - но если вы, ребята, думаете иначе, пожалуйста, дайте мне знать.
Я также посмотрел на такой язык, как Blitz, и он выглядит очень многообещающе (к тому же, я попробовал его несколько лет назад, и это было действительно очень приятно). Недостатком является то, что я должен платить, что я категорически против.
Я посмотрел на SmallBasic , который кажется многообещающим, и я продолжу смотреть на него. Но я ничего не сделал (на самом деле, я запускаю установщик, когда набираю это, поэтому я вскоре сообщу о своих мыслях по этому поводу).
ОБНОВЛЕНИЕ: я быстро попробовал SmallBasic, и это кажется интригующим, но, по сравнению с некоторыми другими языками, оно также выглядит совершенно по-другому - это неплохо, но просто необычно. Из всего, что я посмотрел, Blitz по-прежнему мой любимый, но я отказываюсь туда из-за стоимости.
Но в основном, что вы, ребята, думаете о том, что я сказал до сих пор, о языках, на которые я смотрел, и знаете ли вы какие-либо другие, хорошие альтернативы?
ОБНОВЛЕНИЕ: Вот что я выбрал, чтобы сделать ...
Я понял, что хотя я хотел бы помочь своему двоюродному брату, я не могу быть с ним все время, и я не могу помочь ему каждый раз, когда ему нужна помощь. Итак, я хотел выбрать то, что имеет хорошую документацию, хорошее сообщество и хорошую книгу, которой он может следовать.
В любом случае, я выбрал Python и Pygame. Python - это язык, с которым я довольно хорошо знаком, плюс я знаю, что вокруг Python есть довольно хорошее (и довольно большое) сообщество. Кроме того, я знаю, что документация по Python довольно полная и с ней легко ориентироваться. Pygame также имеет отличную документацию и набор учебных пособий. Я также заставляю его использовать / следить за « Придумай свои собственные компьютерные игры с Python» , который кажется очень хорошей книгой, я купил ему бумажный экземпляр в качестве рождественского подарка, плюс я знаю, что его монитор не очень большой, и он будет неудобно постоянно переключаться между текстом и редактором.
Я думаю, что это должно идти хорошо!
РЕДАКТИРОВАТЬ: Я не хочу подразумевать, что мой выбор является окончательным или что это правильно. Я просто думаю, что это лучше всего подходит для этой ситуации. Я думаю, что каждый, кто хочет научить кого-то моложе, должен просмотреть выбор и найти лучшее решение для конкретного человека, учитывая такие вещи, как возраст, уровень квалификации и интерес.
I want a language that can be used to develop really cool stuff that will impress his friends.
Это все еще моя основная мотивация для программирования, после 25 лет в нем ...Ответы:
Похоже, никто не выбросил Python + Pygame . В зависимости от возраста / зрелости ваших двоюродных братьев, это, безусловно, открывает множество интересных вещей. Это, безусловно, достаточно просто, чтобы начать, но с его огромной стандартной библиотекой, вы не можете скучать с Python.
источник
Я думаю, что современным эквивалентом Бейсика является Javascript. Дайте ему простую HTML-страницу, на которой есть встроенный скрипт, который создает холст и рисует на нем фигуру, покажите ему несколько уроков и посмотрите, что получится. Быстрый поворот (сохранить изменения и обновить страницу) и достойную поддержку отладки.
источник
Не язык программирования явно для игр, но очень крутые графические эффекты могут быть сделаны с использованием довольно небольшого кода с обработкой . Плюс, это бесплатно и относительно легко учиться. ИМХО идеальный язык для изучения основ программирования, тем более что в учебных пособиях рассказывается о многих базовых понятиях, таких как переменные, массивы, математические операции и т. Д.
источник
Я не играл с ним в течение года или двух, но использование C # с XNA может быть хорошим началом. Из того, что я помню, начать это довольно легко. Хотя эта ссылка, вероятно, больше для вас, чем для него.
источник
Попробуйте Greenfoot ,
Изображение http://www.greenfoot.org/images/screenshot.png?1310995619
Он основан на Java, и есть все эти учебные пособия для использования его на Youtube .
greenfoot предоставляет хороший нисходящий подход, предназначенный для начинающих.
посмотрите на этот ответ , описанный мной в сообщении stackoverflow , который я заметил там: «На самом деле дети - самые быстрые ученики, и они делают это путем сопоставления с образцом, экстраполяции, интерполяции и т. д.»
поэтому после использования java в greenfoot на некоторое время более поздние концепции будут легче понять только потому, что они кажутся знакомыми.
источник
Звучит как типичный случай для моддинга . Многие игры очень гибкие и расширяемые, от старого доброго Quake I (с его языком QuakeC) до TES IV Oblivion или десятков игр, которые можно расширить с помощью Lua.
Другой вариант - Second Life - это очень гибкий мир, в котором можно создавать игры, симуляторы, демонстрации и все остальное, используя приятный и чистый язык сценариев .
источник
В настоящее время я заядлый пользователь Game Maker . - Хотя полная версия не бесплатная (40 долларов), бесплатной версии достаточно, чтобы попробовать основы игрового дизайна. В нем достаточно «контента», чтобы кто-то новичок мог оставаться занятым в течение нескольких лет. Если бы мне пришлось разместить его где-нибудь, я бы поместил его где-то между моддингом и языками, такими как python.
У этого есть несколько методов письма. Вы можете использовать «иконки перетаскивания» и гораздо более продвинутый «язык сценариев» (GML). Я никогда не понимаю, почему люди так хотят «писать код» - я вижу перетаскивание как способ визуализации кода.
Другое преимущество геймейкера - и причина того, что после изучения других языков и 10 лет опыта я остаюсь геймейкером - это то, что он помогает в организации игры: у него есть несколько ресурсов, система событий и т. Д.
И т. Д. Это не идеальный инструмент для создания следующий мир варкрафта, однако, чтобы произвести впечатление на других, важнее создать ЧТО-ТО.
Я не могу порекомендовать другие варианты - лично я доволен разработчиком игр и в настоящее время больше интересуюсь изучением языков общего назначения.
источник
Дело в том, что тысячи людей , которые развивающие игры в это флэш. «Официальный» пакет разработки Flash от Adobe стоит денег, но есть бесплатные альтернативы; FlashDevelop занял у меня меньше часа, чтобы найти, загрузить, запустить и запустить флешку «Hello World». Библиотека Flixel предоставляет хорошие вспомогательные функции для игр, включая физику, частицы, простое создание уровней для платформеров, имеет множество сэмплов и проста в настройке.
источник
FWIW, я купил свою кузину " Land of LISP " для этой же цели. Книга иллюстрирована мультфильмами и посвящена созданию игр в LISP. Хотя мой двоюродный брат хотел создавать только текстовые игры, но я думаю, что книга даст ему хорошее представление о программировании.
источник
Язык, с которого я начал, был Dark Basic Pro . Я отошел от этого довольно быстро, потому что разработка игр - это не моя чашка чая, но это был мощный язык. Я не зацикливался на этом уже несколько лет, поэтому не уверен, насколько он хорош сейчас (последний раз я использовал его, когда DirectX 9 был новым и передовым). Но это позволяет быстро приступить к кодированию и созданию трехмерной графики с небольшим количеством кода (а также с чистым кодом).
источник
Одной из самых сложных частей в разработке игр, хотя она менее распространена в разработке 2D-игр, является создание графики. Итак, если предположить, что вашему двоюродному брату не нужно заниматься созданием художественных оценок или он очень хорош в 2D-искусстве, тогда я думаю, что цель достижима.
Я бы предложил вам использовать Python вместе с Pygame, чтобы начать. Я знаю, что у вас были сомнения относительно питона, но выслушайте меня. Python - это очень простой язык. Я бы сказал, что отсутствие строгой типизации делает его намного лучшим выбором, чем что-то вроде C #.
Языки, основанные на прототипах, хороши, и некоторые люди находят их очень легко подобрать, однако я не думаю, что люди действительно понимают концепции того, как объекты работают в языках, основанных на прототипах, так же легко, как они могут обмануть парадигму класса / объекта.
В Pygame также есть множество примеров того, что ваш двоюродный брат и вы могли бы перейти к изучению основ, и во многих отношениях это очень простая структура, которая не столько скрывает от вас, сколько заставляет вас изучать многие основы, чтобы выполнять более сложные задачи. вещи.
Возможно, после игры, написанной на pygame, вы можете перейти к написанию игр, которые также интегрируются с физическим движком 2d, таким как box2d, который имеет отличные привязки к python.
Что касается обучения вашего двоюродного брата по питону, я бы отказался от того, чтобы он сначала выучил язык, возможно, ускоренный курс по изучению идей класса / объекта. Затем некоторый базовый синтаксис языка, прежде чем бросить его в глубокий конец и заставить его / ее искать синтаксис и / или библиотеки, когда ему / ей что-то нужно.
Наконец, еще одна хорошая вещь в Python, это то, что вы можете легко переходить на движки 3D-игр, сохраняя свои навыки с такими движками, как panda3d или даже Unity (Boo очень похож на Python).
источник
Луа и Лёв . Lua - один из самых простых доступных языков. Фреймворк LÖVE оптимизирован для 2D игр. Он также имеет бэкэнд OpenGL, с его производительностью и другими преимуществами.
источник
Вы можете попробовать Unreal Development Kit ( Возможности ). Может быть немного сложно узнать об интерфейсе. Но самое замечательное в этом то, что он также имеет визуальный механизм сценариев, поэтому вам не нужно программировать, чтобы что-то создавать. Затем он может что-то сделать и сам запрограммировать небольшие части. Недостатком может быть то, что он использует свой собственный язык сценариев.
Еще один движок, который мне действительно нравится, это Unity3D ( Особенности ). Unity не имеет визуального программирования, но использует два распространенных языка: C # и JavaScript. Он также поддерживает Python диалект под названием Boo. Эти три могут взаимодействовать. Unity также поставляется с множеством готовых скриптов.
источник
Существует библиотека Haskell под названием Gloss , которая имеет очень простой интерфейс и используется для обучения детей:
http://cdsmith.wordpress.com/2011/09/28/haskell-for-kids-week-7/
Это также можно попробовать онлайн:
http://dac4.designacourse.com:8000/anim
источник
Я знаю, что вы ищете бесплатные языки, и есть другие хорошие предложения от других авторов. Поскольку вы стремитесь к быстрому получению интересных результатов, а Блиц - это то, что вам нужно, за исключением стоимости, я хотел бы предложить Phrogram . Раньше это был KPL (который был бесплатным). Он не бесплатный, но он дешевле, чем Blitz, и у него много тех же функций, которые, я думаю, делают его очень подходящим для использования в качестве языка обучения, особенно для подростков.
Вы можете делать довольно сложные вещи с Phrogram, и есть довольно хорошо зарекомендовавшее себя сообщество пользователей Phrogram и KPL, которые выложили много кода для изучения.
источник
Множество хороших предложений, я просто выскажу RoboCode . Есть много примеров, которые можно настроить, и вы можете приступить к работе всего за несколько минут. Это даст ему вкус программирования, но он вряд ли научится понимать, как писать программу с нуля. Это также на основе Java, для чего это стоит.
источник
Я не могу понять, как никто не говорит о фабрике игр! Это один из лучших ресурсов для быстрого создания компьютерной игры без знания программирования.
http://www.clickteam.com/website/usa/downloads/index/7
Он состоит из редактора раскадровки - с фреймами. Вы помещаете различные объекты, которые могут контролироваться игроком различными способами (движение платформы, 8 направлений и т. Д.)
. Самый важный аспект - это редактор событий - это огромная матрица, которую вы используете для определения того, что происходит из предустановленных событий. определенные правила (Like - объект (1) перемещен в конец экрана, местоположение объекта> 100 и т. д.).
источник
Перейти с Unity3D ...
не нужно бояться кодировать в нем ... и есть много вещей, в которых вам не нужно кодировать ... примеры сделают вашего двоюродного брата счастливым.
также есть несколько видео ... приятно смотреть walkerboystudio.com/html/unity_training_ free .html
источник
http://news.bbc.co.uk/2/hi/programmes/click_online/9658183.stm
Программа BBC Click показала веб-сайт, где вы можете создавать игры на основе Flash, не зная языка программирования.
http://www.stencyl.com/
источник