Началось все с того, что младший сын растет и скоро ему в школу пора будет идти. Ну и решил я, что пора бы уже и алфавит выучить, а в идеале вообще читать научится. ;)
Как известно, лучший способ научить ребенка чему-бы то ни было - это игра. Ну и конечно же я полез искать что же у нас есть из игр...
Надо сказать, что тут все печально. :( Мало того, что индустрия игры (как и кино) деградировала просто до беспредела, уйдя полностью от смысла происходящего и перейдя исключительно в спецэффекты, так еще и детских игр нет. В общем их и раньше почти не было, а теперь дети вообще нафиг ни кому не нужны походу (впрочем как и взрослые, сейчас вообще ни кто ни кому не нужен). :( В общем прошерстив интернет я пришел к печальному выводу, что все плохо. Нет, есть довольно много и не плохо сделанных игр, например на внимательность (найди отличия), на логику (лишние предметы), на математику. Но вот для начального обучения я ни нашел ничего, кроме "ткни мышкой на букву и тетя/дядя искаженным голосом ее произнесут". :( Нет, конечно я очень рад, что находятся энтузиасты, которые делают хоть такое. Но хочется же большего... В общем сел сам писать. :)
Идея.
Думаю те, у кого есть дети, наверняка знакомы с "динозавроманией", "Немо-манией" и прочими вещами. ;) Первой помню и я "болел" в детстве, а вторая появилась после выхода чудесного мультика "Немо", остальные пока не важны. Так вот как раз после Немо, мой отпрыск сильно "заболел" рыбками и морем. Так что идея возникла написать ему такую вот рыбалку. Динозавров решил пока оставить в покое. ;) И так: делаем море, рыбок, на каждой из которых будет нарисована буква. Рыбы плывут, удочка заброшена, ловим заданную букву, для начала "А", а там по мере обучения меняем. :)
Реализация.
Я люблю python. Не буду тут писать что в нем хорошо, что плохо, это и не важно. :) Я его люблю. К тому же прога, написанная на нем будет работать в любой ОС, в отличии хотя бы от той же java (ну как же без троллинга?!) :))) К тому же на яве я писал очень давно и очень ее не люблю. ;) Далее. Раз это игра, логично взять какую-то готовую библиотеку под игры. Я не стал оригинальничать и выбрал уже знакомую мне pygame. Тут есть практически все, что мне нужно, так что больше ни каких библиотек, по крайней мере пока, я не буду добавлять.
Что реализовано:
- в примитивном виде игровое поле (пока это просто залитый градиентом прямоугольник)
- загрузка рыб, которые проплывают слева на право с буквами на боку
- ловля рыб, путем наведения крючка на рыбу и нажатием кнопки на мыши :)
- в консоли пишет поймал или нет
Условия "поимки": крючок находится на рыбе + на рыбе находится буква, которую мы ловим. Если не соблюлись все условия - рыба не поймана :)
Задумки:
- анимация рыб
- анимация и разукрашивание морского дна (надо же водорослей, анемон, крабов туда насадить!)
- звуковое оформление
- выложить все в нормальном виде на github
- есть идея сделать игру более интересной сконструировав механическую удочку
Забрать и посмотреть можно тут. Не забываем, что это глубокая пре-альфа. ;)
Лицензия, можно сказать, GPL. ;) Хотя это ни где в файлах не указано. :)))
Для желающих попробовать игру надо поставить python и к нему pygame. Виндоуз пользователям вероятно придется еще поправить файлы на предмет перевода строки. Если допишу до вменяемого состояния, возможно выложу нормальную версию для win.
Отмазка: как известно всем моим знакомым, программист я весьма и весьма посредственный, если не сказать даже плохой. ;) Но как бы я плохо не сделал, то что сделал, это все равно лучше, чем полное бездействие и как следствие отсутствие нужного для моего ребенка. :) В общем начат "проект" на питоне, любимом моем языке. Графика надрана с инета и обработана в gimp методом "как смог".
Данная версия не является еще пока рабочей игрой, а скорее костяком для нее.
Критика в виде: "кто так делает?!" посылается сразу и далеко!
Конструктивная же, в виде "вот лучше так", а еще лучше в виде "я вот тут дописал(а)/переписал(а)/нарисовал(а)" - приветствуется целиком и полностью. :) Особенно большие проблемы у меня с графикой. :( Ведь если писать программы я еще хоть как-то могу, то вот рисовать не умел никогда...
Хочу уточнить: а почему у тебя java-код не переносимым получается?
ОтветитьУдалитьНа прошлой работе мы писали на java под aix/hpux/solaris/linux/windows один и тот же код - все было ОК.
Или ты про то, что может понадобиться поставить java-машину? - Так и python надо ставить.
Леха, ну я ж написал, что это троллинг. ;) А если серьезно, то конечно мелкий код, который я писал на яве, будет легко переносится на любую машину. Увы с большими проектами далеко не всегда так. Ибо прославленная переносимость - гроша ломанного не стоит. "Что бы запустить это вам надо sun java версии X, релиза Y". А если учесть, что многие дистры уже не включают в себя sun java, а только свободные реализации - то вообще жопа выходит. :( А после покупки sun-а ораклом ситуация еще больше ухудшилась. Оракл засранцы те еще. Так что что будет дальше с продуктами бывшего sun вообще не ясно. :(
УдалитьНу и последнее, самое главное: когда я пишу на python, perl или просто shell - я получаю удовольствие. А когда пишу на яве - я только матерюсь. ;) Так что ни каких железных или адекватных аргументов, что ява - говно я тебе не дам. Она говно - потому что я так думаю, она такая для меня. :)))