Как стать автором
Обновить

Передача опыта: Путь Джедая

Время на прочтение 3 мин
Количество просмотров 21K
image

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

Пора!… Кони уже неслись над крышами… (с) Михаил Булгаков


Я, как радеющий папаша, решил передать опыт программирования сыну 14 лет. К этому моменту у него был неплохой опыт разработки собственных программ для роботов типо Лего-MindStorms и летний клуб Id-tech чего там на С писали.

Сам день, когда все же взялся за обучение, помню довольно смутно. Проснулся с утра и решил: «Пора!» — как по Булгакову. Сел за компьютер и подошел к этому делу кондово по принципу «делай как я». Подход не отличался новизной. Сначала обсуждаешь, что предполагается делать, затем проговариваешь наиболее интересные моменты, чего предстоит сделать и дальше уже делаешь в меру оговоренного и прочих соображений походу разработки. Первое, что обсудили и решили, что проект будет какая-нибудь хорошо известная игрушка. Особо не мудрили взяли с потолка — крестики-нолики.

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

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

Начали с наскока — стали тупо решать задачки как свернуть-развренуть, факториал или фибонначи подсчитать. Но ожидаемого для меня результата это не давало. Стало понятно, что сыну надо серьезно изучать Java.

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

Но, слава богу, довел крестики нолики до логического конца.

image

Сколько веры и лесу повалено! (с) Владимир Высоцкий


Встал вопрос как закрепить результат и оформить его в технологическом тренде. Здесь в общем-то сомнений не было:

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

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

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

Фундаментальное исследование стратегии в игре крестики-нолики


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

Треугольник
image

Стрела
image

Окружение
image

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

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

image

Результат


Последний месяц сын провозился с дизайном и оформлением:

image

Крестики-нолики были модифицированны в «Коты против Собак». Добавлены вменяемые сообщения и кой-какой общий интерфейс.

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

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

Удачи.
Теги:
Хабы:
+8
Комментарии 11
Комментарии Комментарии 11

Публикации

Истории

Работа

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн
Геймтон «DatsEdenSpace» от DatsTeam
Дата 5 – 6 апреля
Время 17:00 – 20:00
Место
Онлайн