Случайны выбор дневника Раскрыть/свернуть полный список возможностей


Найдено 207 сообщений
Cообщения с меткой

туториалы - Самое интересное в блогах

Следующие 30  »
rss_rss_hh_new

[Перевод] Как вырваться из чтения туториалов по программированию

Четверг, 06 Июля 2017 г. 09:55 (ссылка)



У всех это было: учишь какой-то язык, штудируешь один учебник за другим — и ничего. Тогда начинаешь сомневаться: «это слишком сложно», «программирование, наверное, не для меня». Уверен, это чувство вам знакомо.



Меня самого недавно настигла эта напасть: мне — уже неплохо освоившемуся младшему PHP-разработчику — вдруг захотелось слегка глубже изучить Python, особенно Django.



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



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



Однако осилив 80% руководства, я начал сомневаться. Я просмотрел видео и вручную переписал весь код. У меня был отличный проект, который можно показать другим. Так почему же мне казалось, что за все это время навыков у меня не прибавилось?



Переведено в Alconost





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



И вообще, впечатлит ли проект в портфолио, который выглядит и работает так же, как и у всех остальных, кто делал его по руководству? Ведь в нем и код точь-в-точь, как в GitHub-профиле автора руководства…



Показал ли я хоть какие-то собственные навыки, кроме умения следовать пошаговым инструкциям?



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




  • планирование и организация проекта;


  • правильный выбор инструментов для данной бизнес-задачи;


  • исследование собственных проблем и поиск их решения;


  • разрешение проблем, неизбежно возникающих во время разработки.




Руководства — хороший способ сходу взяться за новую область.



Это вам говорит 29-летний бывший сантехник, который сегодня работает на должности младшего разработчика в компании-разработчике ПО. Сменить род занятий я решил около 12 месяцев назад.



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



За 9 месяцев я прочел достаточно руководств и получил достаточно знаний и мотивации, чтобы убедить местную софтверную компанию дать мне возможность поработать у них. (Подробнее о том, как я убедил работодателя рискнуть взять меня и платить мне за то, что я буду учиться программировать, можно почитать здесь.)



В конечном счете, предложить свою кандидатуру и устроиться на работу за такое короткое время мне помогло то, что я мог показать реальные примеры сделанных проектов. Говоря о проектах, я подразумеваю СОБСТВЕННЫЕ проекты — а не то, что было скопировано из руководств.



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



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



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



Обычно, когда я это говорю, мне отвечают: «Но я понятия не имею, что писать».



Ну так никто не ждет, что вы сделаете что-то крутое. У вас, скорее всего, даже нет нужных навыков — даже если стоящая идея есть.



Вот список из 500 проектов, за которые можно взяться, — там есть и примеры решений.



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



Сделайте СОБСТВЕННЫЙ блог. Прежде чем браться за код, сядьте и распишите необходимые шаги, а также функции, которые будут у блога. Разберитесь, что вам нужно, и в соответствии с этим выберите, какие языки и фреймворки будете использовать. Узнайте, как установить необходимые инструменты и самостоятельно настройте среду разработки. А когда столкнетесь с проблемой или не сможете разобраться в какой-то функции, погуглите и выберите лучшее решение.



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



Сделайте это — и один такой проект в вашем портфолио будет стоить двадцати проектов по туториалам.



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



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



Если уже год или даже полтора вы учитесь и еще не нашли работу или вам кажется, что вы не готовы, — не унывайте. И не сдавайтесь. Не нужно думать, что вам придется выложить тысячи долларов на какие-нибудь «волшебные» курсы — просто начните собственный проект, и вы удивитесь тому, насколько быстро вы вырастете как разработчик!



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



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



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



Поделитесь собственным опытом обучения в комментариях?





О переводчике



Перевод статьи выполнен в Alconost.



Alconost занимается локализацией приложений, игр и сайтов на 68 языков. Переводчики-носители языка, лингвистическое тестирование, облачная платформа с API, непрерывная локализация, менеджеры проектов 24/7, любые форматы строковых ресурсов, перевод технических текстов.



Мы также делаем рекламные и обучающие видеоролики — для сайтов, продающие, имиджевые, рекламные, обучающие, тизеры, эксплейнеры, трейлеры для Google Play и App Store.



Подробнее: https://alconost.com



Original source: habrahabr.ru (comments, light).

https://habrahabr.ru/post/332530/

Комментарии (0)КомментироватьВ цитатник или сообщество
rss_rss_hh_new

[Перевод] Как добиться того, чтобы обучение в играх не раздражало

Суббота, 17 Июня 2017 г. 10:15 (ссылка)

image



Когда я пишу статьи об обучении в видеоиграх, вокруг них всегда начинаются яростные обсуждения. Люди неизбежно начинают перечисляют все неудачные фрагменты обучения, неуклюжие техники и провалившиеся эксперименты как примеры того, что «обучение — это плохо, лучше бы его вообще не было!».



Если поискать на сайте tvtropes.org (это база данных клише поп-культуры) слово «tutorial», то найдётся больше десяти разных тропов, связанных с тем, что люди ненавидят в процессе обучения видеоигр. Для сравнения: я нашёл всего два обсуждения того, как сильно пользователи ненавидят скачиваемый контент.



Самое печальное в этом то, что когда я пишу об обучении, я имею в виду не такое обучение.



Из-за этого заблуждения я не могу сообщить об обучении то, что хочу.



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



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



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



RTFM?



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







Руководства — это довольно неплохой способ обучения пользователей игре, но у них есть очевидные недостатки:




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

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

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

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



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



Зачем играм вообще нужно обучение?



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



Если двое игроков садятся за шахматную доску, игра не начнётся, пока оба игрока не узнают как двигаются фигуры и каковы условия победы. (И применимо ли правило «взятия на проходе».)



Всё сводится к следующему: дизайнер игры (ребёнок, объясняющий правила) должен каким-то образом донести правила до игроков (других детей).



Если первый ребёнок (дизайнер игры) не сможет объяснить правила, то игра не состоится. Первый ребёнок должен обучить остальных.





Если игрок не знает, как играть, то он не сможет играть.



Почему многие считают, что ненавидят обучение в видеоиграх?



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



Вот некоторые из часто встречающихся (и абсолютно справедливых) причин ненависти к обучению:



«Обучение впустую тратит время игрока!»



Игроки обычно вспоминают невероятно долгие обучающие уровни (некоторые продолжались дольше шести часов), или обязательные этапы с тиром в начале каждого шутера от первого лица. Это очень раздражающая задумка, поэтому ненависть здесь вполне понятна, но под «обучением» я понимаю нечто другое.



«Обучение навязывают игроку!»



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



«Туториалы — это скучища!»



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



«Обучение оскорбительно!»



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



Но буду я говорить о чём-то другом.





О, стрелковый тир, где героями не рождаются, но становятся!



«Обучение неприемлемо эстетически!»



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



Нет, и не об этом я собираюсь рассказать.



«Обучение почти никогда не работает!»



Эта жалоба относится обычно к типу туториалов «быстро покажем экран управления и вы больше никогда его не увидите». Ещё иногда игра обучает чему-то на первом уровне, но не использует это знание, а к моменту его применения игрок о нём уже забывает.



«Как там делается долгий прыжок?»



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



«Я люблю исследовать всё самостоятельно. Мне больше нравятся игры, которые дают мне самому заниматься чем угодно».



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





«Вы уверены, что у вас есть мозг? Нажмите X для потверждения». (Пародия на туториал из Far Cry 3: Blood Dragon.)



Самый известный пример



Я хочу рассказать об известнейшем примере обучения «внутри геймплея»: о первых двух экранах оригинальной Super Mario Bros. для NES.







В одном из эпизодов Iwata Asks технический директор Nintendo Сатору Ивата (Satoru Iwata) беседует с дизайнером Super Mario Bros. Сигэру Миямото (Shigeru Miyamoto) об этом первом экране и обо всём «скрытом» обучении, встроенном в этот обманчиво простой дизайн:



Про гумб (goomba):



Ивата: Если вы играете в первый раз, не имея никаких знаний об игре, то наткнётесь на первого гумбу и умрёте.



Миямото: Да, и поэтому нам нужно было естественным образом обучить игрока… чтобы он перепрыгивал и избегал их.



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


Про грибы-бонусы:



Миямото:… Когда вы играете, то прямо с самого начала видите гумбу, и он похож на гриб. Когда вы ударяете по ящику и из него вылетает что-то, похожее на гумбу…



Ивата: Вы убегаете.



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



Ивата: Если игрок избежит первого гумбу, а потом подпрыгнет и ударит ящик над головой, то из него выскочит гриб и игрок удивится. Но потом он увидит, что гриб уползает вправо и подумает, что находится в безопасности. «Появилось что-то странное, но со мной всё в порядке!» Но потом, конечно же, ударившись об трубу, гриб вернётся назад! (смеётся)



Миямото: Верно! (смеётся)



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


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



Например, Марио начинает игру с левой части экрана. Весь экран пуст, и игрок может безопасно поэкспериментировать с управлением. Когда игрок нажимает A, Марио подпрыгивает на месте. Нажимая на крестовину, игрок учится бежать вправо (Марио может бежать влево, но камера не скроллит экран в эту сторону).



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



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



Примеры из мобильных игр



Pudding Monsters



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







Уровень 1



На уровне 1 игрок учится сенсорному перемещению монстра к другому монстру. Если игрок отправит монстра в любом другом направлении, то он улетит с экрана и головоломка начнётся заново. Также игроки учатся тому, что при соединении монстров они превращаются в одного, более крупного нового монстра.



Уровень 2



На уровне 2 игроки обучаются тому, что есть другие, неподвижные части уровня, с которыми могут сталкиваться пудинговые монстры. Такая схема позволяет выполнять повороты. Уровень также учит, что иногда для решения головоломки монстра нужно передвинуть несколько раз. Кроме того, игрок может решить головоломку несколькими способами (двигая верхнего монстра или нижнего).



Уровень 3



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



Cut the Rope



В Cut the Rope больше текста, чем в Pudding Monsters, но можно заметить, как увеличивается сложность дизайна уровней и игрока обучают базовым навыкам, по одному за раз (красные стрелки и текст добавлены мной).







Уровень 1



Уровень 1 учит игрока, как достичь победы — а именно, нужно накормить двумя конфетами монстров (по одной каждому), отрезая держащие их верёвки. Также в этом уровне вводится идея звёздочек за хорошее прохождение.



Уровень 2



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



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



Уровень 3



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



Один из моих любимых примеров



Один из моих любимых примеров из истории игр взят из игры для Super Nintendo The Legend of Zelda: A Link to the Past.



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



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



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



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



Концепция головоломки проста — игроку нужно найти кнопку на полу и поставить на неё Линка, чтобы открыть дверь. Но если игроки не знают, как выглядит кнопка, то головоломка очень быстро запутывается и её решение становится случайным.



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



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



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





Кнопка на полу под центральным горшком открывает центральную дверь. Открытые коридоры с обеих сторон сообщают, что центральная дверь — это путь вперёд.



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



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



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



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



Послесловие



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



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



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



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



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



Вы учитесь (и учите других) играть так, как вас учил играть в прятки друг во дворе: в процессе игры, по одному правилу за раз.



Дополнительное чтение




  • Если вы хотите изучить действительно подробный анализ того, как этот способ обучения игроков работал в одной из величайших игр, я рекомендую прочитать превосходную статью Уго Билле (Hugo Bille) The Invisible Hand of Super Metroid.

  • Джош Байсер (Josh Bycer) написал пост о том, что он назвал «органическим дизайном», и я уверен, что он говорит о том же.

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


Original source: habrahabr.ru (comments, light).

https://habrahabr.ru/post/330948/

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
Аноним

Среда, 01 Декабря 1970 г. 03:00 (ссылка)

Комментарии ()КомментироватьВ цитатник или сообщество
Аноним

Среда, 01 Декабря 1970 г. 03:00 (ссылка)

Комментарии ()КомментироватьВ цитатник или сообщество

Следующие 30  »

<туториалы - Самое интересное в блогах

Страницы: [1] 2 3 ..
.. 10

LiveInternet.Ru Ссылки: на главную|почта|знакомства|одноклассники|фото|открытки|тесты|чат
О проекте: помощь|контакты|разместить рекламу|версия для pda