С чего начать ребёнку программировать?

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

В связи с чем хочу спросить у имеющих отношение к разработке игр, какой путь к достижению этой цели (не обязательно Майнкрафт, а геймдев в целом) выбрать?

Имеет ли смысл практиковаться в псевдопрограммировании на сайтах типа code.org?
И приминительно к Майнкрафту: там же есть возможность писать скрипты на разных языках. Чему отдать предпочтение, что перспективней?

Что касается меня, то я буду помогать по мере возможности, знаю несколько языков (PHP, C++, C#, Perl, JS, Pascal, Basic:) ), но не люблю их всех :), и представления не имею как сейчас пишутся игры.
  • Вопрос задан
  • 1827 просмотров
Решения вопроса 4
Neznayka1979
@Neznayka1979
Интересы - IT, психология...
Есть такое мнение, что практическое применение какого-либо яп в конечном итоге влияет на мышление человека...
Для начинающих лучшим решением пожалуй будет освоить первым - функциональный яп.
Почему функциональный ? Потому что функциональный яп не содержит "ничего лишнего" и тем самым поможет освоить суть алгоритмов и выработать соответствующее мышление, т.е. научит мыслить Логически.
Подводя итог вышесказанному начинающим программистам лучше начать с изучения одного из функциональных яп - Haskell или Scala, Lisp...
А уже после можно переходить на яп С (Си), который поможет понять многие другие очень важные детали...
И уже освоив на достаточном уровне яп С можно переходить на другие яп (С++, Java, С#...)
Да, и ещё желательно (обязательно) освоить англ.яз и параллельно осваивать - Дискретную математику.
Но учитывая возраст вашего ребёнка (7 лет) можете купить данную книгу:
www.ozon.ru/context/detail/id/32092949
А если интересует геймдев (разработка игр), то посмотрите тут:
https://thequestion.ru/questions/205745/chto-uchit...
https://habrahabr.ru/company/miip/blog/313326/
https://habrahabr.ru/post/319582/
https://dou.ua/lenta/articles/gamedev-for-programm...
Ну и видео:
https://www.youtube.com/playlist?list=PLR4wcBxrUGP...
Ответ написан
Комментировать
MrNexeon
@MrNexeon
Вообще-то сервера в Minecraft'e не кодят.. но это так, к слову.

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

К сожалению, интересы ребенка могут отличаться от ваших планов, но, если уж очень хочется, то в 7 лет лучше уделить внимание модам в Minecraft. Например: GregTech, Build Craft, Industrial Craft 2 - отлично развивают логику.

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

maxresdefault.jpg
Ответ написан
@vetsmen
Загуглите приложение MCreator, оно поможет вашему сыну создавать модификации для игры Minecraft, не зная самого языка программирования.
А чтобы идти глубже - нужно знание Java, Bukkit API & Forge API
Ответ написан
lxsmkv
@lxsmkv
Test automation engineer
- есть TigerJython (Python) специальная среда созданая для обучения программированию. Можно программировать Raspberry, NXT, писать симуляции, рисовать, работать со звуком и пр. все это из коробки.
- есть LÖVE2D (Lua) он заточен под разработку игр. Бонус-туториал
- есть Gosu (Ruby) Библиотека для разработки 2d игр
- есть DevelNext (PHP) RAD - что-то типа дельфи. Еще и "наша" разработка. Впечатлило.
- можно написать свой мод для майнкрафта на Яве, в принципе там ничегои сложного, даже книжки про это есть.
- или писать на яваскрипте игры BreakOut на JS в Canvas (developer.mozilla.org)

игры сейчас пишутся также как и раньше, в туториале oт mozilla очень хорошо все разложено.

Добавлю из собственного опыта, что очень полезно начать с определения требований к конечному продукту. Так можно будет прояснить наличие предрасположености к структурированому мышлению у ребенка , и если да, по итогам будет конкретная задача. Всем от этого будет только проще.
Ответ написан
Пригласить эксперта
Ответы на вопрос 12
@d-stream
Готовые решения - не подаю, но...
Пусть ребенок сделает своего рода "первый шаг": найдет и выберет что-нибудь САМ.
Ответ написан
AlexeyGfi
@AlexeyGfi
YouTube >>> Битриксоид из Колхоза
Моему 10, задатки есть, но пару моих попыток не увенчались успехом. Я не наседаю, просто время от времени придумываю какой-то ход и пробую. Например выбирал простенькие примеры и на css+js показывал, что можно делать... В таком стиле, в общем.
Что пошло: игровой движок Construct2, при чем он у меня в закладках лежал, пока сын не спросил, какие есть игровые движки.
Разбирался сам по урокам, я буквально в нескольких моментах принимал участие.
Сейчас у него заготовок 6-7. Небольшие работающие игровые кусочки.
https://www.scirra.com/construct2
Там в основном алгоритмы и события, но без прямого программирования.
Ответ написан
Комментировать
@flaction
Всему свое время. Лучше не сыну литературу по программированию, а себе по возрастной психологии купите. Тут на лицо игровая зависимость у ребенка, он живет в мире майнкрафт и хочет как-то себя реализовать там. Значит много времени играет в эту игру, а детям вообще противопоказаны виртуальные игры.
Ответ написан
anton_lazarev
@anton_lazarev
Раз уж любит Minecraft, то есть тематическая книга «Minecraft. Программируй свой мир». Вот обзор на Хабре: https://habrahabr.ru/company/piter/blog/269757/
Ответ написан
Комментировать
GTRxShock
@GTRxShock
SA
Алгоритмы и задачи на логику ваше все, если хотите технаря вырастить :)

- читаем, разбираем и задаем вопросы на понимание Энциклопедии профессора Фортрана
- пилим вместе игру в Kodu Game Lab
- достаточно мотивирует мододел любимых игр, так как результат можно наблюдать сразу и корректировать вслед полету фантазии

p.s. насчет сервера мое имхо, довольно быстро наскучит, так как лучше производить новый контент который радует глаз, чтобы поддерживать мотивацию
Ответ написан
abyrkov
@abyrkov
JavaScripter
Нужно его научить трем вещам:
1. Алгоритмам
2. Не задавать неконкретных вопросов и вопросов в которых он не компетентен
3. Гуглить

После чего еще раз задать вопрос, я не понял, что вы имеете в виду под "закодить сервер Minecraft"...
Ответ написан
ThePyzhov
@ThePyzhov
iOS Ninja
Сами изучите эту тему, сделайте простенький сервер, затем разделите свою разработку на этапы и подталкивайте (не делайте все "за него", а только направляйте) в нужном направлении. Если застревает, объясняйте, а затем пусть тоже самое сделает сам.
Ни в коем случае не нужно давать ребенку кирпичи под полтора тысячи страниц.
У вас должна быт цель больше практическая, нежели теоретическая, чтобы ребенок сделал все сам, а иначе он погрязнет в пучинах теории, так и не создаст сервер, да еще и разочаруется в программировании как таковом.
По минимуму, т.е. не нужно рассказывать что такое инкапсуляция, если от вас требуется создать один просто класс.
Ответ написан
A1ejandro
@A1ejandro
youtube блогер, ИТ-специалист
Самые азы изучить можно в простой игровой форме. Начать рекомендую с LightBot.
Ну и еще почитайте: https://habrahabr.ru/post/251583/
Если осилит азы - дальше простор для фантазии.
Ответ написан
Комментировать
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
В связи с чем хочу спросить у имеющих отношение к разработке игр, какой путь к достижению этой цели (не обязательно Майнкрафт, а геймдев в целом) выбрать?
Советую начать с Unity, т.к. очень много уроков уже по нему и визуальная/наглядная разработка даёт бОльший стимул для любого, чем чистый код.
Уже создавая что-то примитивное, волей-неволей он будет автоматом учить C# (пока в базе, также C# используется в львиной доле "движков" game-dev) и а читая API - также, волей-неволей, изучать технический английский язык.
Т.е., в плане покрытия направлений и результата, Unity обладает лучшим балансом для начинающих game-dev-программистов.

Итого: [полная визуальная разработка и возможность сразу видеть результат]+[перспективный ЯП: C#]+[техн.английский]+[логика]+[обширное community] = Unity.
Оф. уроки на русском: https://unity3d.com/ru/learn

Игровые движки (табличная сводка с википедии).
Ответ написан
Вот хороший курс по JAVA для начинающих https://www.youtube.com/playlist?list=PLawfWYMUziZ...

там же есть конструктор для понимания основ
Ответ написан
Комментировать
skyksandr
@skyksandr
Full Stack Ruby on Rails Developer
Бегло просмотрел ответы и не заметил среди них amperka.ru/product/tetra-kit
На мой взгляд - для ребенка лучше вариант придумать сложно.
Ответ написан
unwrecker
@unwrecker Автор вопроса
Спасибо всем за ответы! Большинство попробовали, но, похоже, ребёнок маловат ещё для всего этого...
Заинтересовался разве что локальным сервером с консольными командами для Майнкрафта (кстати, есть что-нибудь работающее на свежих версиях?). Ну и Scratch вроде неплохо пошел: мгновенность результата и рисовалка спрайтов с записывалкой звуков притягивают.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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