2018-01-05 11:03:37 +0000 2018-01-05 11:03:37 +0000
35
35

Как я могу убедить брата заняться программированием?

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

В любом случае, к теме…

У меня есть младший брат (19, мне 23.). Нас обоих интересуют технологии (больше меня, чем моего брата, но суть все равно остается).

Я программист (мой брат - нет). В большинстве случаев я либо работаю над своим проектом, либо изучаю новый язык.

За последние 7-8 месяцев мой брат несколько раз приходил ко мне с мыслью об игре (с такими аспектами, как название AA или AAA видеоигры) и предлагал попробовать сделать игру.

Здесь я каждый раз сталкиваюсь с проблемой.

Я пытаюсь объяснить ему, что нам нужно сесть и позволить мне показать ему хотя бы основы языка.

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

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

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

Как я могу объяснить брату, что если мы хотим сделать эти игры, то у него появляются идеи для этого, мне нужно, чтобы он, по крайней мере, выучил язык настолько, чтобы понять, что происходит?

Ответы (12)

54
54
54
2018-01-05 11:56:09 +0000

У меня такое чувство, что твой брат никогда не заинтересуется программированием. Может показаться, что он заинтересуется, но я считаю, что на данном этапе это все еще подлость для него (я хочу сделать игру, и программирование доставит меня туда).

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

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

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

43
43
43
2018-01-05 17:43:11 +0000

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

я получил диплом бакалавра по специальности “Игровой дизайн”. Плохое решение. Это затронуло основы, но в конце концов я все равно не смог сделать игру. Через несколько лет я решил научиться пользоваться студией Game Maker Studio. Я ничего не знал о программировании. К концу проекта я кое-что знал и перенес игру от концепции к завершению. Я был самодовольным. Она почти ничего не продавалась. Мне было грустно.

Позже я вернул себе немного уверенности в себе и решил пройти курс по постградусному преобразованию для людей, которые хотели научиться программированию. Я сделал игру, насколько сложной она может быть? Оказалось… довольно тяжело. Однако, к счастью, мне никогда не приходилось использовать такие вещи, как многопоточность за пределами класса.

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

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

Сделать игру сложно. Очень тяжело. Если ты хочешь делать игры, ты должен быть готов вернуться домой уставшим от 9-5 и заставить себя написать какой-нибудь код для ужасной проблемы Бога, с которой никто из твоих знакомых не может помочь. Ты неделями боролся и чувствуешь, что плачешь, потому что как это исправить? Иногда чувствуешь, что не знаешь, закончится ли это когда-нибудь, и задаешься вопросом, не тратишь ли ты свою жизнь впустую. Иметь подлинные сомнения в себе, и все же заключить: Нет. Это правильное решение. Иметь эту чертову решимость. Оповещение о спойлере: Я все исправил. Так что твой брат должен получить это. Может, вместо этого он может стать твоим художественным факультетом? В этом нет ничего плохого, но не будет меньше работы, чтобы научиться и сделать то, что тебе нужно. Что бы он ни делал, он должен быть так же занят, как и ты. Ты парень с идеями? Да, за идеями стоит парень, который может заниматься искусством, или парень с идеями, который может кодировать.

С этой ободряющей беседой, дайте ему что-нибудь вроде “Юнити” или “Игрового Создателя”. Скажите ему подумать о том, чтобы сделать очень простую игру. По одному шагу за раз. В сети есть много учебного материала для этих двух движков (и других), и что-то вроде TutorialsPoint поможет познакомить его с основами программирования.

В моем случае, после борьбы с GML и Game Maker Studio, я прочитал первые сто страниц Programming: Principles and Practice Using C++ by Bjarne Stroustrup, чего было достаточно, чтобы начать с Unity и C#. Просто научить его работать самостоятельно и решать проблемы самостоятельно с помощью Google и StackOverflow - это половина битвы.

Покажите ему, как использовать IDE, такую как VisualStudio, и отладчик, и держите его за руку через базовые учебники на C# (например). Будьте терпеливы. Переменные, функции, массивы, классы и т.д. Мы, программисты, забываем, как страшно начинать. Я не могу переоценить, насколько важно для вас помочь ему пройти через эти детские шаги. Будьте терпеливы. Не все так безумны, как я, чтобы пройти через это в одиночку. Но если вы поддержите его по основам и дадите ему возможность делать простые отладки и создавать простые классы, он начнет думать о создании игр в терминах программирования. Тогда он получит это.

Вы не сможете убедить его заниматься программированием. Ему просто нужно решить, действительно ли он хочет создавать игры. Тогда он поймет, что должен стать программистом.

28
28
28
2018-01-05 13:14:00 +0000

TL;DR

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


Я думаю, что вы неправильно понимаете динамику предлагаемых отношений.

Твой брат не говорит: “Эй, я лично хочу построить игру с нуля”. Он говорит: “Эй, я думаю, мы сможем заработать немного денег, если ты запрограммируешь мои идеи”. Это деловое предложение.

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

Я знаю, это звучит так, как будто он эгоистичен и груб, но это не так; это именно то, как работает бизнес. Когда владелец компании хочет создать сайт, то очень вероятно, что кто-то другой строит его для него.

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

12
12
12
2018-01-05 23:34:02 +0000

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

Однако, навык, который он вносит, не обязательно должен быть программированием. Если у вашего брата есть или есть желание развивать художественное мастерство, он может предоставить художественные ценности для игры. Я часто сталкиваюсь с тем, что пытаюсь создать хотя бы отдаленно проходимые произведения искусства для своих домашних проектов. Так что наличие партнера-художника может быть очень полезным.

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

9
9
9
2018-01-05 13:40:15 +0000

Я переживаю то же самое с моей соседкой по комнате. Я программист, а он нет. Он никогда не хочет ничего узнавать о разработке игр, но всегда хочет создать игру:

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

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

Если он по-настоящему заинтересован в разработке игр, то оттуда все начнется. Скорее всего, он просто хочет “пропустить скучные детали” и уже иметь конечный продукт. Никакое количество убедительности этого не изменит.

3
3
3
2018-01-08 12:58:50 +0000

Как я могу убедить брата заняться программированием?

Ты не можешь.

Как я вижу, здесь есть заблуждения с обеих сторон.

Проблемы с тобой:

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

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

Поэтому вы должны перестать испытывать эти ожидания от своего брата.

Проблемы с братом:

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

Ваш брат - пиявка. Он возлагает большие надежды на продукт и ожидает многого от вас, и в то же время претендует на многое для себя, но не вносит большой вклад. Каждый может бросать идеи о том, что ему нравится в игре без всякого контекста. Но сделал ли он что-нибудь, чтобы доказать, что это на самом деле выполнимо или даже весело? Какие-нибудь хорошие концепции, тесты, сравнения, …?

Не делай этого.

Он не знает, чего он хочет. Вы начали несколько раз знакомить его с программированием, но он прервал его через невероятно короткое время. А теперь он хочет, чтобы вы поверили, что у него хватит терпения и выдержки, чтобы сесть и поучиться на большом куске кода, который вы написали? Что за шутка.

Не делай этого.

Он перестал быть уверенным. Похоже, это также относится и к вам. Он совершенно не понимает, сколько работы будет в этом проекте, и либо переоценивает свои способности, либо недооценивает работу - или и то, и другое. Вы, ребята, кажется, не имеете представления о том, сколько и какого рода работы нужно сделать.

Не делайте этого.

Он - разработчик подражателей. Это не редкость в интернете и не удивительно, если учесть сочетание неопытных детей/старшек с комплексом превосходства и анонимностью. Все думают, что знают, чего не хватает и как было бы лучше. Но сколько людей на самом деле имеют опыт в этом? Сколько из этих людей могут делать или имеют опыт работы с произведениями искусства, анимацией, математикой, графикой, программированием, голосом, музыкой, повествованием, написанием персонажей, уровнем дизайна, геймплейным дизайном, … По какому из этих пунктов ваш брат может помочь вам с ценным вкладом? Из того, что вы нам сказали, кажется, что нет.

Не делайте этого.


В заключение

Это не тот, с кем вы хотите начать проект. Если вы начнете с условий в том виде, в каком они есть сейчас, то вы сделаете все, с минимальным или нулевым вкладом от него. Вы заметите это всего через пару недель (четные дни или с ним через минуты) и проект будет остановлен.

Что вы можете сделать

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

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

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

1
1
1
2018-01-05 14:17:55 +0000

Что твой брат находит интересным (кроме видеоигр)? Возможно, есть другой крючок, который можно найти. Обработка (язык, популярный у технически подкованных визуальных художников) и более крупный сделать движение , частью которого он является, может вызвать интерес. Кстати об искрах – The SparkFun Guide to Processing - хорошее начало. Возможно, А в STEAM - недостающий ингредиент.

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

1
1
1
2018-01-05 20:38:09 +0000

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

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

По собственному опыту я впервые “научился” программированию в старших классах, и делал это хорошо, пока не получил невозможное задание (мне дали работу без буквальных файлов, чтобы я следовал инструкциям). Я чувствовал, что потерпел неудачу, сдался, вместо этого получил степень по английскому языку. Спустя 0x2 и 0x2 и годы я использовал VBA для автоматизации скучного задания в Excel, потом следующее задание, и следующее, и так далее, и так далее. Вот тут я и общаюсь с твоим братом: если кто-то сказал мне “Научись программировать, чтобы автоматизировать анализ данных”. Мне было бы скучно в течение первых десяти минут, и я, скорее всего, все равно не стал бы программировать. Вместо этого я нашел свою собственную ценность в задаче, освободившись от скучной работы, и постепенно расширил свои возможности, потому что наградой за это было подкрепление.

В некотором смысле, вы можете дать вашему брату простой файл, и позволить ему манипулировать и играть с ним. Он может решить, что двигать ‘P’ слишком скучно, чтобы манипулировать, или вместо этого он может задаться вопросом, как изменить ‘P’ на ‘O’, ‘O’ на ‘MOVING’, он может узнать, как заставить его отскочить от стен, или изменить форму. В конце концов, он должен быть заинтересован в тестировании кода, и открытие как процесс работает, в противном случае он не будет поглощать ничего из этого.

Мне посчастливилось иметь несколько великих программистов, которые учат меня тому, что они знают, чтобы помочь мне достичь больших высот, но в каждом случае я должен был сначала по-настоящему увидеть ценность кода, прежде чем использовать его. Легко понять, что абстракция - это хорошо, или что интерфейсы полезны, но это еще одна вещь, которую нужно решить, чтобы решить эту проблему, которая не может быть легко решена без интерфейса, или бороться с клубком кода, который ломается, если i меняется на i + 1, и изменение этого кода на j исправляет это, но вы забыли исправить это и здесь, и теперь мы на k, потому что вы не можете вспомнить, был ли i прав, или действительно ли это был j.

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

1
1
1
2018-01-07 20:31:59 +0000

Этот ответ строго “межличностный”…

У меня была очень похожая ситуация с братом примерно того же возраста, и, по крайней мере, для нас проблема оказалась не имеющей отношения к программированию и всему, что связано с межличностными отношениями.

Братья и сестры имеют эту тенденцию хотеть отличаться друг от друга. По крайней мере, в нашем случае, мой брат сопротивлялся программированию, потому что это то, что я делал. Я никогда не мог его научить или убедить (я пытался), потому что это исходило от меня - я был экспертом, хотя я мог абсолютно точно видеть, что у него есть потенциал быть, по крайней мере, таким же хорошим.

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

Он стал фантастическим программистом/менеджером/лидером/архитектором в средней компании и был таковым в течение нескольких десятилетий. Не думаю, что я мог бы привести или подтолкнуть его к этому, хотя… я пытался. Я бы его не научил, он бы сопротивлялся (бессознательно).

Итак, если бы я посмотрел на это с этой точки зрения, что бы я сделал в вашем случае?

Учитывая ваше описание, я бы, вероятно, попросил его загрузить фреймворк “Единство” (как предполагает принятый ответ). Я попробовал это в последнее время, потому что Огромный процент игр начинает выходить с использованием Unity. Дело в том, что как только я скачал его, они начали доставать меня письмами, пытаясь заманить меня к себе, чтобы я пробежал через их учебники (и у них много учебников/помощи для новичков). Они очень хорошо держатся за руки, и довольно легко поднять игру, которая выглядит довольно нетривиально.

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

Я не уверен, что это сработает, но я думаю, что это сработает для меня и моего брата.

1
1
1
2018-01-06 00:44:42 +0000

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

У твоего младшего брата есть идеи. Говорят, что идеи - десять за пенни. Так что, чтобы создать что-то ценное, у него должно быть нечто большее, чем просто идея. Попроси его на самом деле начать проектирование игры. Не просто идею. Пусть напишет, как начинается игра. Что пользователь может делать, какие эффекты имеют действия пользователя, какие действия производятся игрой. Все должно быть продумано до мелочей. Что бы ни делало игру великой, оно должно быть в его дизайне, он не может полагаться на программиста (программистов), чтобы сделать игру увлекательной. Это должен делать дизайнер игры.

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

1
1
1
2018-01-05 23:04:37 +0000

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

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

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

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

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

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

Наверное, каждому, кто учится этому, было бы неплохо воспользоваться 35-летним компьютером и некоторыми подходящими книгами по программированию, и не более того. Это держит его в фокусе, и он не может играть в игру до того, как сам войдет в программу, что дает некоторый стимул. Затем обучение приходит само по себе, просто войдя в него, потому что он видит, как это делается, и неизбежно начинает думать о том, как это изменить, а затем сделать это.

Дайте кому-нибудь какое-нибудь программное обеспечение для разработки игр или полноценный компилятор C/C++ и промямлите что-нибудь о классах и методах, и ваш ученик будет полностью потрясен. Дайте ему что-нибудь простое и понятное, написанное на простом BASIC-варианте —, если вы все еще можете его найти —, или, в качестве альтернативы, на perl, распечатайте его и пусть он сам введет его, и он может просто учиться.

Наверное, перед тем, как приступить к программированию, ученику нужно дать возможность понять, какая проблема должна быть решена программированием. Следующим шагом может быть демонстрация того, как разделить проблему таким образом, чтобы компьютер мог с ней справиться; затем показать и объяснить реальную реализацию. Нужно начать с самой простой проблемы, которую можно придумать, а не с одной из самых сложных, таких как создание игры.

-2
-2
-2
2018-01-05 17:28:35 +0000

Покажи ему, сколько денег он может заработать. _COPY9_pref=1

И

Однако, программирование hard и не каждый может это сделать. Поэтому программисты зарабатывают так много. Моя мама купила Commodore-64, чтобы научиться печатать, и купила книгу на BASIC, и это я закончила книгу. Если бы ему суждено было стать программистом, он бы уже это делал. Из этого графика видно, что средний возраст, с которого начинали программисты, был 13.5 лет. Очень немногие из них старше 20 лет.

0x4 Источник

У меня есть брат-геймер, который такой же - без мотивации, без амбиций, без настойчивости. Может быть, он найдет другой родственный навык, который его заинтересует. Если вы настаиваете на продолжении попыток, может быть, начните с Scratch, который был разработан, чтобы помочь детям научиться программированию с помощью перетаскивания интерфейса. https://scratch.mit.edu/

Похожие вопросы

11
5
6
17
8