• История создания мобильного приложения для детей позволяющего зарабатывать деньги своим умом. Продолжение

    • Tutorial

    Продолжение истории разработки мобильного приложения iOS/Android для мотивации детей заниматься математикой


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


    Первую часть читайте тут.


    План второй части


    • О написании кода
    • О контроле версий
    • Об озвучке
    • Об иконке
    • О сборке под Android и о размере
    • О сборке под iOS и о размере
    • О названии и продвижении
    • Статистика
    • О чём жалею
    • Что понял
    • Ссылки

    Мелочи в программировании, которые упрощают мне жизнь


    • Ещё с Mono продолжаю использовать //TODO (в комментариях) для отметок мест, которые нужно доработать. Потом, все эти места можно удобно мониторить на закладке Task List (вызывается Ctrl+\, T):
    Читать дальше →
  • Нерегулярные тайлы на поверхности процедурно-генерируемых планет

      Здесь будет рассмотрен способ деления сферической поверхности процедурно-генерируемой планеты нерегулярными тайлами, и, как его следствие, подразделение океана и континентов на отдельные участки (сектора). Мы предполагаем, что на поверхности планеты уже задана структура участков суши с помощью какой-либо GIS и возможен экспорт векторных данных в ESRI shapefiles или непосредственно в PostgreSQL базу данных с расширением PostGIS. Сам процесс создания секторов осуществляется средствами PostGIS.
      Читать дальше →
      • +15
      • 2,6k
      • 1
    • Мини-империи

      • Перевод
      Как выглядит стратегическая игра, если мы будем смотреть только на мини-карту? Недавно я решил изучить эту идею, вернувшись к классической Age of Empires II.

      Начало исследования


      Я начал с изучения матча с тремя ИИ-игроками на карте средних размеров. Вот исходное состояние:


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

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

      Читать дальше →
      • +44
      • 14,2k
      • 9
    • Meta Crush Saga: игра, выполняемая во время компиляции

      • Перевод
      image

      В процессе движения к долгожданному титулу Lead Senior C++ Over-Engineer, в прошлом году я решил переписать игру, которую разрабатываю в рабочее время (Candy Crush Saga), с помощью квинтэссенции современного C++ (C++17). И так родилась Meta Crush Saga: игра, которая выполняется на этапе компиляции. Меня очень сильно вдохновила игра Nibbler Мэтта Бирнера, в которой для воссоздания знаменитой «Змейки» с Nokia 3310 использовалось чистое метапрограммирование на шаблонах.

      «Что ещё за игра, выполняемая на этапе компиляции?», «Как это выглядит?», «Какой функционал C++17 ты использовал в этом проекте?», «Чему ты научился?» — подобные вопросы могут прийти к вам в голову. Чтобы ответить на них, вам придётся или прочитать весь пост, или смириться со своей внутренней ленью и посмотреть видеоверсию поста — мой доклад с Meetup event в Стокгольме:


      Примечание: ради вашего психического здоровья и из-за того, что errare humanum est, в этой статье приведены некоторые альтернативные факты.
      Читать дальше →
    • А где вы храните данные?

        Привет, Хабр! Мы продолжаем нашу экспериментальную серию статей, наблюдая за которой вы можете в реальном времени влиять на ход создания игры на UWP. Сегодня мы поговорим о постоянно возникающем в рядах разработчиков вопросе — «Где хранить данные?». Присоединяйтесь и делитесь своими мыслями в комментариях!

        Читать дальше →
      • Моя история создания мотивационного приложения (iOS и Android) для дочери с дочерью на Unity и C#

        • Tutorial

        История создания приложения, позволяющего детям зарабатывать деньги своим умом


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


        Использовал я движок Unity и язык C#, а также дополнительный набор софта вроде обязательного Photohsop или Audacity (для создания звуков).


        План рассказа (часть первая)


        • Предыстория
        • О монетизации
        • Почему Unity
        • О Scriptable Objects
        • О плагине Anima2D
        • О Lean Localization
        • Об iTween
        • О Unity Analitics
        • О Visual Studio
        • Ссылки

        Предыстория и колорадские жуки


        Мой предыдущий опыт — это несколько лет в 3D и, с недавних пор, разработка нескольких инди-игр на пару с программистом, где я выступал в основном только в роли дизайнера и художника (очень редко пописывая какие-то элементарные скрипты на C#). Хотя, с программированием знаком не понаслышке (колупал Basic в школе и баловался с C/C++ в универе).


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

        Читать дальше →
      • Ой, у вас баннер убежал!

        Ну. И что?
        Реклама
      • Devilution: проект по реверс-инжинирингу Diablo

          image

          Как показывают годы, шансов увидеть оригинальный исходный код — или хотя бы ремейк — первой части Diablo у нас практически нет (событие The Darkening of Tristram в Diablo III в честь 20-летия выхода первой части — это, конечно, хорошо, но все же немного не то, чего ожидали поклонники). И пусть последнее обновление для игры вышло в 2001 году, и сама Blizzard давно перестала поддерживать и продавать ее — память о ней по-прежнему остается жива в наших сердцах. Что лишний раз и подтвердил некий GalaXyHaXz, решивший произвести реверс-инжиниринг игры.

          Исходный код доступен на Github. Проект Devilution, который его автор GalaXyHaXz окрестил «деволюцией Diablo», занял у него свыше 1,200 часов — 4 месяца работы. Также не пропустите объемные комментарии автора, проливающие свет на исходный код игры, и расположенные в другом репозитории. Сам код пока выглядит неважно, но будет продолжать приводится в порядок по мере прогресса работы над другими модулями игры.

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

          B 1998 году Blizzard отдала исходный код Diablo двум студиям: Synergestic Software, которая занималась разработкой дополнения Hellfire, и Climax Studios, работавшей над портом для Playstation. Отдел QA Sony в Японии не в первый раз «радует» своими утечками, отличились они и на этот раз — в японской версии порта был случайно забыт символический файл (a symbolic file), который включал в себя функции, данные, типы и многое другое. Это и позволило восстановить оригинальные функции, глобальные переменные, структуры данных и прочее. Бета-версия порта для Playstation также утекла, и в ней лежал еще один подобный файл, что значительно упростило задачу.
          Читать дальше →
        • Реализация поиска путей для ИИ-агентов с помощью NavMesh

          • Перевод
          image

          Следование по пути и управление движением


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

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

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

          Технические требования


          Необходима версия Unity 2017, установленная в системе с Windows 7 SP1+, 8, 10 или с Mac OS X 10.9+. Код из данной статьи не будет работать на Windows XP и Vista, а серверные версии Windows и OS X не тестировались.

          Файлы кода для этого поста можно найти на GitHub.

          Чтобы изучить код в действии, посмотрите это видео.
          Читать дальше →
          • +12
          • 2,7k
          • 3
        • Как портирование игры на PSVita повысило общую производительность

          • Перевод
          image

          На уровне могут находиться тысячи врагов.

          У игры Defender's Quest: Valley of the Forgotten DX всегда были давние проблемы со скоростью, и мне наконец удалось их решить. Основным стимулом к масштабному повышению скорости стал наш порт на PlayStation Vita. Игра уже вышла на PC и хорошо, если не идеально, работала на Xbox One с PS4. Но без серьёзного усовершенствования игры нам ни за что бы не удалось запустить её на Vita.

          Когда игра тормозит, комментаторы в Интернете обычно винят язык программирования или движок. Справедливо то, что языки наподобие C# и Java связаны с большими издержками, чем C и C++, а у инструментов наподобие Unity есть не решаемые проблемы, например со сборкой мусора. На самом деле люди придумывают такие объяснения потому, что язык и движок являются наиболее явными свойствами ПО. Но истинными убийцами производительности могут оказаться глупые крошечные детали, никак не связанные с архитектурой.
          Читать дальше →
        • Конспект и видеозапись рассказа про нетворкинг в игровой индустрии с геймдев фестиваля

            В начале июня в Высшей школе бизнес-информатики НИУ ВШЭ при поддержке образовательной программы Менеджмент игровых проектов проходил однодневный геймдев фестиваль DevsGo, открытый для посещения всем желающим. Предлагаем вашему вниманию конспект и видео с первой лекции: «Нетворкинг – зачем нужны люди», Виктория Беляева. Она рассказала о том, что такое нетворкинг, в чем его польза в жизни и конкретно в игровой индустрии. Чем знакомство с людьми отличается от “по знакомству”, а также о том, где и как лучше всего заводить контакты. Читаем и смотрим этот рассказ под катом.


            Читать дальше →
            • +17
            • 1,7k
            • 1
          Самое читаемое