Archive for the ‘Книга’ Category

Откуда люди только берут идеи?

Январь 14, 2009

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

Dodge

Казалось бы, простая игра, в которой нет ничего сложного. Летает себе какой-то абстрактный корабль, который даже стрелять то не умеет. А по нем «палят изо всех орудий» другие «абстракции». Но паляи не простыми ракетами, а … самонаводящимися, которые после некоторого времени полёта, если не встретили никакого препятствия взрываются. Так вот нужно запутать эти ракеты так, чтобы они попадали в сових хозяев, т.е. наших недругов.

Игра завораживает своеё простотой и очень легка в производстве. Именно по этой причине после того, как мы со школьниками закончим змейку, будем делать эту игру.

Кстати, прикольно было бы если запустить сразу есколько игроков (типа мулиплеер), и каждый мог бы стрелять в направлении своего движения. Ракета выбирала бы себе цель, как самого близкого противника. Вот бы масакалово было бы. Эх … мечты мечты.

Scriball. А ведь можно сделать и понавороченнее.

Январь 13, 2009

ScriballНа Kongregate попалась довольно занимаельная игра Scriball. Скажу сразу, что ей я поставил 5/5. А тепрь немного перевода :)

Описание (Игра опубликована 2009-01-12)

Нарисуйте путь для мячика в инновационной игре.

Игра состоит из 43 уровней + a boss battle + дополнительные уровни, которые вы можете открыть, если … и тут знания моего английского нехватило ….

Инструкция

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

Советы

  • Мячь может проскакивать через линию, когда перемещается в верх.
  • Поддерживайте движения шарика рисую гладкие кривые.
  • Создавайте V подоюные фигуры, если хотите зафиксировать мяч.
  • Используйте хорошую мышку!

А тперь мои пять копеек… :) Данная игра очеь хорошо пподходит для того, чтобы в ней меряться «пиписьками», т.е. хвастаться, кто быстрее или круче (изящнее, красивее, изворотливее) прошел данный уровень. Для этого можно было бы добавить возможность сохранять повторы (replay) прохождения на каком-нибудь сайте. Соответсвенно можно вести рейтинг по времени прохождения, а заодно и записывать с какого раза ты прошел данный уровнь. Конечно, можно каждый раз заново открывать окно браузера, но это очень муторно и люди это врядли будут делать. А крутость реплеев пусть оценивают пользователи.

Вот что то примерно такое. А теперь немного моих стонов по поводу отсутсвия свободного времени на реализацию такой классной идеи :)

Урок первый : Змейка

Январь 12, 2009

Я веду факультатив по подготовке школьников к олиппиаде по информатике.  Если во времена моего «детства»  возможность посидеть за компьютером уже являлась стимулом для занятий, то сейчас все намного иначе. У каждого дома уже есть компьютер. Поэтому приходиться заинтерисовывать детишек как-нибудь по другому. Именно с этой целью я начал писать книгу, в которой на примере создания игр, дети смогут научиться азам программирования и некоторым технологиям.

Итак, мы учимся программировать создавая игры.

На первом (первое по данной методике) занятии мы делали на Borland Pascal обычную змейку. Для этого нам понадобились только модули CRT и GRAPH. Так как полноценного учебника не было, то пришлось пользоваться школьным учебников, в котором в краткой форме изложены основы графического и текстового режима.

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

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

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

На примере создания данной игры были изучены:

  • основы работы в текстовом и графическом режиме
  • цикл repeat until. Почему то школьники игнорируют все виды циклов, за сключением for. В данном случае, for не мог помочь, поэтому пришлось учиться  :)
  • основы создания интерактивных программ

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

Еще одна игра для книги.

Январь 6, 2009

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

На этот раз мне на глаза попалась игра Krank (правила игры на русском). Скажу честно, что сам в неё еще не играл, но уже скачал. Как только поиграю выскажу свой вердикт.

Игры для книги

Декабрь 29, 2008

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

  • Змейка. Аркадная игра. Можно реализовать как одиночную, так и сетевую игру. Очень легко можно нарашивать функционал: бонусы, уровни, типы игры. Это позволит поупрожняться в проектировании игры, устойчивой к изменениям.
  • Buggle Connect. Даже не знаю, к какому жанру отнести данную игру. Классическая игра для мультиплеера. Но можно поупрожняться в создании искусственного интеллекта (AI).
  • BraveQuest. В данной игре представляет интерес именно система боя, которую довольно легко реализовать. Игра может быть как сетевой, так и одиночной. Главной особенностью является то, что игрок один раз проводит настройки, а затем следит за исходом боя. Что либо помеять по ходу уже не представляется возможным. Данное обстоятельство делает её кандидатом №1 на создание online игры. Т.к. игроку надо отправить только набор своих правил, при этом нет необходимости удеживать соединение и активно обмениваться данными. Да и сжульничать в таком роде игр довольно сложно.

Продолжение следует.

Книга. О чем писать то?

Декабрь 29, 2008

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

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

Для меня таким наставником был Александр. Сначала, когда я первый раз его увидел, я подумал, что он просто сидит и ничего не  делает. О боже, как я заблуждался! Он в голове умудрялся держать всю архитектуру не маленького проекта, знал почти все ньюансы работы, следил за всеми изменениями в коде, которые, кстати, делал не только он, а еще человек 10. Но самое главное, когда он кодировал, он не «стирал пальцы о клавиатуру», не лепил символы просто так, превращая процесс набирания кода в самоцель. Нет он довольно медленно неспеша, аккуратно, изменял код. Он мог изменить половину классов проекта — и всё  работало как часы с первого раза. Любимая его фраза : «Такие горшки или громко падают или сразу становятся на место». Это значит, что если завелось, то точно заработает. Для него Hello World — написать Project Managment System используя изучаемую технологию.

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

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

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

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

Про что будет интересно читать и повторять? Все люди неповторимы, но все были детьми, которые в детстве познавали мир через игру. Вот и мы попытаемся перенять опыт природы. Изучать технологии, метолы и средства разработки мы будем на примере создания игр и всей сопустсвующей инфраструктуры. Ведь к каждой игре можно «прикрутить» очень много: улучшения, статистика, повторы и т.д.

Изложение материала будет вестись по принципу патронажа. Я буду пытаться излагать все свои мысли со всеми деталями.

В будущей книге будут затронуты следующие моменты:

  1. цикл создания программного продукта
  2. анализ современных средств реализации
  3. поэтапное создание игры (может быть нескольких) с описанием всех примененных приёмов.
  4. опыт удачных и неудачный проектов

Оталось определиться с игрой. Сначала я хотел ипользовать всем известную змейку. Но потом наткнулся на довольно забавную игру Buggle Connect. Кроме того, мне еще попалась и BraveQuest на prototype.js. В ней довольно простая модель битвы. Вот это и есть первые мои кандидаты.

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