loginivsetakoe

пикабушник
поставил 847 плюсов и 2077 минусов
отредактировал 0 постов
проголосовал за 0 редактирований
14К рейтинг 4 подписчика 609 комментариев 10 постов 1 в "горячем"
1 награда
5 лет на Пикабу
-12

Задачка для тех кому скучно

Представьте, что у вас есть бесконечное количество шариков и бесконечная коробка куда их можно сложить (вполне бытовая задача). Вы кладёте в коробку 10 шариков, а затем вытаскиваете один. Эту процедуру повторяете бесконечное количество раз. Конечно за ограниченное время, в математике важен реализм. Сколько в итоге шариков осталось в коробке? 
4

Вторая игра. Это как первая, только вторая

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


Начну по порядку. Инструментами для разработки, как и в прошлый раз послужили Android Studio в компании с библиотекой libGDX. В этот раз даже воспользовался некоторыми полезными свойствами двумерного физического движка, очень даже помогло.  И так к игре.


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


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

Вторая игра. Это как первая, только вторая Gamedev, Libgdx, Android, Мобильные игры, Разработка игр, Гифка, Длиннопост
Вторая игра. Это как первая, только вторая Gamedev, Libgdx, Android, Мобильные игры, Разработка игр, Гифка, Длиннопост

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

Вторая игра. Это как первая, только вторая Gamedev, Libgdx, Android, Мобильные игры, Разработка игр, Гифка, Длиннопост

Все (или почти все) иконки взяты с сайта http://game-icons.net/. Может кому-то будет полезно.

Игровая картинка хоть и стала значительно лучше относительно первой игры, но все равно далека от совершенства. От этого явно не уйти действуя по принципу «я его слепила из того, что было». Но если сказать что это ретро стиль, то кто-нибудь да поверит. Так, что это ретро стиль. Элементы управления в игре мне действительно нравятся, кнопки удались на славу

Вторая игра. Это как первая, только вторая Gamedev, Libgdx, Android, Мобильные игры, Разработка игр, Гифка, Длиннопост

Да и остальное не режет глаз

Вторая игра. Это как первая, только вторая Gamedev, Libgdx, Android, Мобильные игры, Разработка игр, Гифка, Длиннопост

Времени на вторую игру ушло гораздо больше чем на первую. От начала и до первого релиза примерно 7 месяцев. Возможно это из-за того, что я пару раз забрасывал ее на месяц (не думаю, что причина в этом), а может потому что хотелось сделать ее получше. Если кому интересно на сколько это у меня получилось, может сам посмотреть на Google Play:

https://play.google.com/store/apps/details?id=mendel.vasilii.spacerace

Показать полностью 3
70

Первая мобильная игра. От начала до конца

Хочу рассказать о моем первом опыте создания мобильной игры. Сразу скажу, что делал я это, в общем-то, для саморазвития и моя работа не связана с играми. Занялся я этим просто потому, что всегда хотелось попробовать и мешало только то, что не было вообще никакого представления с чего начать. Сделав усилие над собой, я совершил практически невероятное, я погуглил как делать мобильные игры на Android (ну просто потому, что у меня Android). Среди прочего интернет мне сказал, что есть такая библиотека libgdx и очень даже удобно работать с ней из Android Studio.

Первая мобильная игра. От начала до конца Android, Игры на андроид, Libgdx, Gamedev, Мобильные игры, Длиннопост

С помощью libgdx можно делать игры и для ios и для html5 и для десктопной windows, но это меня особо не интересовало, поэтому ничего внятного сказать на эту тему не могу.

Так вот, взяв libgdx и Android Studio и посмотрев ряд уроков в интернете (ну и конечно почитав официальную документацию) я решил, что дальше изучать лучше на деле, то есть делать игрушку.


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


Для начала я взял шарики и поместил их на поле из 6-и угольников. Размер поля выбирался так, чтобы и не мелко было и вариантов для действий оставалось достаточно. Получилось поле 10x11 (на самом деле 9,5x11). Процесс игры сам по себе простой, тыкаешь пальцем в шарик, оттягиваешь в противоположном (к направлению желаемого движения) направлении и отпускаешь. Шарик перемещается туда, куда его отправили (с заданной скоростью, чем дальше оттянули, тем выше скорость) и либо останавливается естественным путем, либо утыкается в другие шарики. Собирая в соседних клетках по пять или более шариков они исчезают (если их больше 5 то появляется шарик с бонусом). Вот собственно основа игры.


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


Ресурсы для игры брались в интернете на сайтах где вокруг изображения были кнопки «Скачать бесплатно», «Бесплатно», «Экстра бесплатно», «Супер мега экстра бесплатно», конечно все переделывалось, что-то вообще рисовалось самостоятельно (то, что попроще). Первый вариант выглядел неказисто (хотя мне конечно нравилось). Изображений не сохранилось, но было примерно так:

Первая мобильная игра. От начала до конца Android, Игры на андроид, Libgdx, Gamedev, Мобильные игры, Длиннопост

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

Первая мобильная игра. От начала до конца Android, Игры на андроид, Libgdx, Gamedev, Мобильные игры, Длиннопост

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

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

Первая мобильная игра. От начала до конца Android, Игры на андроид, Libgdx, Gamedev, Мобильные игры, Длиннопост

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

Сделав побольше уровней (наверное, 120) я решил, что нужно и картинкой заняться. Изменения проходили в несколько этапов, при этом игра уже была загружена в Play Market.

Первая мобильная игра. От начала до конца Android, Игры на андроид, Libgdx, Gamedev, Мобильные игры, Длиннопост

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


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


Еще в игрушку были добавлены игровые сервисы Google и реклама от AdMob (того же гугла). Сделано это в большей степени в целях обучения, ибо никаких надежд на игру я не возлагал (как оказалось и правильно). Добавить рекламу оказалось на удивление просто и заняло минут 20 от силы. С сервисами я возился значительно дольше, но там была проблема в устаревших примерах, которыми я пользовался.


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


Если вдруг кому интересно, ссылка на игру в Play Market

Показать полностью 4
4

Разработка мобильных игр как хобби

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


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


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


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


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


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

11

Моя домашняя библиотека

Решил поделиться (естественно ради славы и плюсиков) небольшой историей о приложении (и самим приложением) которое я написал для себя в качестве домашней электронной библиотеки.


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


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


Первая версия была прям скажем, неказиста, но мне как студенту вполне хватало. Можно было хранить книги, заполнять о них необходимые сведения и что важно составлять библиографический список. Список литературы для меня был чем-то вроде спасения при написании статей, рефератов и т.д. Так как запомнить, как он оформляется, я не мог, а бумажки с описанием оформления постоянно терял. Были там и другие полезные функции (сортировки по разным категориям и поиск). В общем, приложение не было перегружено функционалом (удобная формулировка, когда не хочешь или не можешь что-то реализовать).

Моя домашняя библиотека Приложение, Java, Qt, Библиотека, Длиннопост
Моя домашняя библиотека Приложение, Java, Qt, Библиотека, Длиннопост

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

Я вооружился языком C++, библиотеками Qt и начал все с начала, кто-то скажет, что это не очень умно и будет прав.


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


На мой взгляд, получилось неплохо.

Моя домашняя библиотека Приложение, Java, Qt, Библиотека, Длиннопост
Моя домашняя библиотека Приложение, Java, Qt, Библиотека, Длиннопост

Аспирантура показала, что математик из меня так себе, но приложение получилось неплохим и если кому-то интересно, то вот ссылка на него: https://yadi.sk/d/TSNUSK5A3Hvmsm

Показать полностью 3

Опасный Китай: тропа смерти, тобогган с Великой Китайской стены и хардкорный поезд до Шанхая

Опасный Китай: тропа смерти, тобогган с Великой Китайской стены и хардкорный поезд до Шанхая Длиннопост

Наш герой Славик, олицетворяющий собирательный образ путешественника, продолжает колесить по миру (начало тут). Позади горы и яркая Турция. Впереди опять горы и таинственная Азия. В Китае Славик прошелся по дороге смерти и едва не устроил ДТП, спускаясь с Великой Китайской стены. Все основано на реальных событиях, а все совпадения (не)случайны.


В Пекине я запланировал остановку на полтора дня. Для тех, у кого пересадка в столице часов восемь, реально успеть посетить Стену. К ней идет поезд из Сианя. Вообще, многие русские туристы предпочитают путешествовать по Китаю по такому треугольнику: Пекин — Сиань — Шанхай. Так можно быстро посмотреть все самое важное, не рассеивая внимания и время на всю страну — она большая.


Глава 1. Та самая Великая и Китайская


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


По фразе «Грейт вол» местные сразу направляют к «нужному» автобусу. Не доезжая до нужной остановки, один китаец стал настойчиво просить меня выйти из автобуса вместе с ним. Я вроде как знал, что мне нужно ехать дальше, но автобус зашумел и буквально выставил на улицу. Как выяснилось, это хитрая схема. Туристов сажают на автобус, не довозят до нужного места, заставляя выйти, а потом предлагают за бешеные деньги доставить их до Стены или парка на машине. Но я и еще один турист оказались не лыком шиты и сторговались за относительно небольшие деньги. Китаец, походу, был разочарован. Позже прочитал множество подобных историй. Будьте бдительны и помните, что англоговорящих в Пекине почти нет. Так что неплохо, помимо иероглифов 不辣 «бу ла» («неострый»), выучить еще несколько.


Что почитать

Как сделать визу в Китай и сколько это будет стоит

Говорят, количество туристов на Великую Китайскую стену сократят. Это правда?

Опасный Китай: тропа смерти, тобогган с Великой Китайской стены и хардкорный поезд до Шанхая Длиннопост

Есть два способа добраться до Стены из парка Шэньчжэнь: пешком или на канатке. Я выбрал второй вариант.


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


Спуститься со Стены можно тоже двумя способами: на канатке или на тобоггане — бесполозных санках, которые едут с вершины по трассе, похожей на бобслейную. На канатке я поднимался, значит, спускаться надо на санях. Ведь все делают что-то впервые: чувствовал себя Роном Уизли, который сел за руль летающего Форда «Англия», чтобы добраться до Хогвартса.

Опасный Китай: тропа смерти, тобогган с Великой Китайской стены и хардкорный поезд до Шанхая Длиннопост

В кабине была только ручка для тормоза — и она нужна! Я люблю скорость, но сани разгонялись так, что я уже готовился вылететь с трассы, поэтому притормаживал. Это было правильным решением. Потому что турист, который спускался передо мной, еле плелся. Я просто чудом не врезался в его сани. Так что будьте осторожны, если решите спускаться на тобоггане. Контролируйте скорость и не зевайте.


Глава 2. Тропа над пропастью и стоячие места в поезде


На скором поезде Пекин — Сиань за пять часов добрался до парка Хуашань, недалеко от города Сиань. Там находится главный аттракцион, ради которого я и прилетел, — Тропа смерти. Увидел однажды на фото и загорелся.

Опасный Китай: тропа смерти, тобогган с Великой Китайской стены и хардкорный поезд до Шанхая Длиннопост

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


Адреналин я испытал, но на фотографиях выглядит зрелищнее. Может, потому, что я не боюсь высоты, а сама тропа не особо длинная. Больше боялся, что уроню телефон в пропасть, а не за себя. А еще о Тропе писали на Пикабу — почитайте.


Что почитать

Куда слетать на Новый год 2020: идеи для путешествий в праздники

Что делать, если вас обокрали в путешествии


Как добирался от Сианя до Шанхая — отдельная история. В китайских поездах своя классификация мест: лежачие, сидячие и стоячие. Почему-то не думал, что с билетами может быть проблема. В итоге все, что смог купить, — стоячее место. Огромный поезд дальнего следования, куча вагонов, битком набитые людьми. Нет ни одного угла, чтобы забиться или прижаться: 16 часов стоя до Шанхая без надежды поспать. Так я себе представлял индийские поезда. Но вокруг одни китайцы, которые косо на меня поглядывали: мол, парень, что ты здесь забыл? Поездку запомню надолго — абсолютное издевательство.

Опасный Китай: тропа смерти, тобогган с Великой Китайской стены и хардкорный поезд до Шанхая Длиннопост

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


Шашлык из скорпиона я съел (не впечатлило), порцию адреналина получил, пора ехать дальше.

Показать полностью 4
Отличная работа, все прочитано!