Перейти к содержимому

Как сделать карточную игру на андроид

  • автор:

Игры

Games of Cats

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

Open Source

Игры для изучения.

Chase Whisply

Игра для ловли приведений с использованием виртуальной реальности.

2048

Игра 2048, написанная на Javascript, очень быстро стало популярной. Это порт игры для Android.

iGo

Lights Out

Логическая игра Lights Out, в которой нужно выключить все лампочки. Нажимая на кнопку, вы меняете состояние соседних кнопок на противоположное.

TiltMazes

Логическая игра — нужно провести шарик через лабиринт на базу. Шарик может остановиться, только натолкнувшись на препятствие (убиться об стену). Реагирует на наклоны экрана (опция отключаема).

Колыбель Ньютона

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

Vector Pinball

dozingcat/Vector-Pinball — пинбол для Android. Автором игры является Brian Nenninger под ником dozingcat. Наш человек.

Asqare

Популярный тип игры, когда надо выстраивать в один ряд одинаковые фигуры.

Как сделать карточную игру на андроид

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

Прочитайте внимательно условия! В начале каждой статьи указывается, к какому курсу относится данная статья. Например, если статья из 4 курса, значит нужно заплатить за все курсы по четвёртый включительно.

Стоимость регистрации — символические 355 рублей. После регистрации у вас будет доступ ко второму курсу.

Для регистрации сначала необходимо пополнить ЮMoney 410011383280263 на указанную сумму или QIWI (перевод по никнейму), а затем прислать письмо на адрес [email protected] с указанием, на какой кошелёк вы делали оплату и реквизиты, по которым можно вас определить (не прикрепляйте к письму картинки или файлы, пишите в письме). Учитывайте комиссию при переводах.

По поводу перевода на ЮMoney. Если делать перевод по указанной ссылке, то к сумме нужно прибавить 3% самостоятельно. Если вы знаете, как переводить по номеру кошелька 410011383280263 без указанной ссылки, то по идее ваш банк сам рассчитает комиссию. Эти новые правила стали применяться в октябре 2022, возможно вам придётся доплачивать, когда я увижу точную сумму прихода.

Не присылайте в письме мои номера кошельков — поверьте, я их знаю и без вас.

В ответном письме вы получите учётные данные для чтения статей из закрытой зоны за второй курс.

Доступ к третьему курсу обучения доступен только после оплаты второго курса и составляет 355 руб.

Доступ к четвёртому курсу обучения доступен после оплаты третьего курса и составляет 355 руб. и т.д.

При оплате сразу всех курсов одновременно (2-10) цена составит 3195 руб.

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

Также возможен приём на PayPal (только для зарубежных пользователей). Обратите внимание, что в этом случае стоимость одного курса составляет 7$.

На данный момент PayPal не доступен в России.

Webmoney тоже не особо доступен в России, но по запросу можно отправить на Z-кошелёк (7S), если вдруг кому-то удобно из других стран.

Разрабатываем свою карточную игру с помощью nanDECK

Давно мечтали о своей ККИ, убийце MTG и Hearthstone? Как известно, долгий путь начинается с первого шага, и в случае карточных игр таковым может стать бумажный прототип.

В этой статье я расскажу как сверстать и напечатать карточную игру с помощью программы под названием nanDECK.

Наша цель: подготовить PDF с карточками нашего прототипа в удобной для распечатке форме. Поскольку макет игры надо быстро и часто менять, мы обеспечим стремительную пересборку этой PDFки.

Почему nanDECK?

Full Disclosure: существует множество альтернативных программ для разработки своих карточных игр, тысячи их. Большинство из них, вероятно, более удобны. Но так уж получилось, что я разобрался именно с титульным софтом, и оказалось, что он-таки неплохо справляется со своей задачей. Поэтому я решился поделиться с вами своим опытом, и сегодня мы научимся пользоваться nanDECK.

У программы я могу отметить следующие плюсы: интеграция с Google Docs, простота внесения изменений, наличие своего-вроде-как языка, куча классных фичей; а также следующие минусы: присутствие багов, сложности при работе с кириллицей и программист-стайл интерфейс.

Что понадобится для работы

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

Что в документе для нас важно, так это названия столбцов. Ну, для примера, пусть будут такие:

  • NAME — название карты (например, «Лютный укус»)
  • EFFECT — текст действия карты («Нанести 300 урона»)
  • MANA — мана-стоимость («3»)
  • TYPE — тип карты («Заклинание»)
  • IMAGE — изображение для карты («Bite.jpg»)
  • FLAVOUR — нарративный текст («Лютоволк жрет мою лютню!», — Ю.А. Лютик)
  • QUANTITY — сколько карт нам понадобится для распечатки

Тут стоит обратить внимание, что прототип в облаке, что чрезвычайно удобно.

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

Синтаксис

Центральное окно занимает редактор скриптов. В нем мы и будем работать, отвлекаясь лишь на визуальное оформление карт.

Интерфейс программы

Итак, приступим к написанию скрипта! Начинаем со следующего заклинания:

LINKMULTI = QUANTITY

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

Поставив курсор на директиву (например, на LINKMULTI) и нажав F1 можно прочитать справку внутри софта.

Чтобы наш результат не исчез, сохраняемся («Save») и запоминаем, куда сложили текстовый файл со скриптом: потом сюда же будем складировать изображения.

LINK = 1QqtBHpPZ81HvIidBqXvxtBB_nT4Kuqk8wkGOHfhMcdY

Далее вносим ссылку на наш Google Spreadsheet. Данный буквенный код можно найти в адресной строке вашего документа («https://docs.google.com/spreadsheets/d/ВОТ_ТУТ«). Альтернативно можно указать и локальную xlsx таблицу, тогда значение было бы чем-то вроде C:\MyFolder\MyProt.xlsx.

Проверим, что программа синхронизируется с облаком. Для этого жмем «Validate deck». Внизу все должно быть OK. Продолжаем писать код следующей директивой:

PAGE = 21, 29.7, PORTRAIT, HV

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

BORDER = NONE, #000000, 0.2 GAP = 0.1, 0.1

BORDER — настройки границы карты: тип (ROUNDED, RECTANGLE, MARK, NONE) , цвет и толщина. У меня NONE, но решил привести здесь на тот случай, если у вас-таки будет не NONE.

GAP — расстояние между карточками.

Следующий блок мы сделаем автоматом, нажав на кнопку Visual Editor.

Она вот тут

После этого нам понадобятся кнопки Image, HTMLFont и HTMLText, что в левой части нового неистового экрана. Первым делом вставим фон, нажав на Image. В правой части окна появилась строка Image. Щелкаем по ней правой кнопкой и указываем в поле «Image file» локацию нашей подложки (среди прилагаемых изображений она называется «BG.png»).

Запускаем спутники на орбиту

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

Это настройки шрифта, для дальнейших текстовых полей. Выбираем в левой панели HTMLFont, затем в правой панели правым кликом открываем настройки. Пусть это будет настройка лишь для названия, поэтому назовем его NameFont.

Добавляем HTMLText

Затем выбираем HTMLText. Давайте-ка заведём название карточки из прототипа. Чтобы появилась связь с таблицей, в настройках HTMLText в поле «text» нужно указать название столбца в квадратных скобках (т.е. [NAME]). Также указываем ссылку на наш шрифт в поле «htmlfont».

Настройки HTMLText

Обязательно нужно отметить флаг Explorer render, иначе не видать вам кириллицы. Флажок Transparent убирает фон. Также обратите внимание на формат в поле «range».

Далее добавляем еще один Image и указываем в поле «image file» [IMAGE]. Чтобы программа подтянула изображения по ссылкам из таблицы, необходимо, чтобы файлы изображений лежали рядом с текстовым файлом прототипа. Ну, то есть там, где мы его сохранили в самом начале.

Картинка нашей карты

Чтобы читалась прозрачность у .png, нужно указать флаг «Transp.». Флаг «Proport.» устанавливаю для того, чтобы картинка не искажалась при масштабировании.

Остается дело за малым: нужно завести оставшиеся текстовые поля. Мы уже умеем заводить текст, поэтому достаточно это сделать по аналогии с заголовком карты и настроить шрифты по своему вкусу.

Что получилось в итоге

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

LINKMULTI = Quantity LINK = 1QqtBHpPZ81HvIidBqXvxtBB_nT4Kuqk8wkGOHfhMcdY PAGE = 21, 29.7, PORTRAIT, HV BORDER = NONE, #000000, 0.1 GAP = 0.1, 0.1 VISUAL=, 10, 10 IMAGE=,BG.png,0%,0%,100%,100% HTMLFONT=NameFont,Georgia,10,,#000000,CENTER,0,0 ,0 HTMLTEXT=»1-«,[NAME],15.385%,7.119%,67.246%,6.623%,#FFFFFF,0,ET,100,NameFont IMAGE=»1-«,[IMAGE],8.933%,11.093%,79.901%,42.55%,0,TP HTMLFONT=EffectFont,Georgia,8,,#000000,CENTER,0,0 ,0 HTMLTEXT=»1-«,[EFFECT],13.151%,65.397%,71.96%,14.735%,#FFFFFF,0,ET,100,EffectFont HTMLFONT=FlavourFont,Georgia,6,I,#000000,CENTER,0,0 ,0 HTMLTEXT=»1-«,[FLAVOUR],20.844%,78.808%,55.087%,9.934%,#FFFFFF,0,ET,100,FlavourFont HTMLFONT=TypeFont,Georgia,6,I,#000000,CENTER,0,0 ,0 HTMLTEXT=»1-«,[TYPE],21.588%,55.629%,55.087%,3.311%,#FFFFFF,0,ET,100,TypeFont HTMLFONT=ManaFont,Georgia,12,B,#000000,CENTER,0,0 ,0 HTMLTEXT=»1-«,[MANA],79.404%,83.609%,13.896%,8.113%,#FFFFFF,0,ET,100,ManaFont ENDVISUAL

Теперь осталось собрать карты в печатном виде. Для этого нужно последовательно нажать кнопки в левой части экрана: «Validate deck», «Build deck», «PDF». Вуаля!

Создание игры на Android

Как сделать игру на Андроид Unity 5 | Урок #1

Представляем вам курс по созданию мобильной 2D игры на Андроид. Игра будет создана на движке Unity. В игре мы реализуем множество концепций игрового движка и познакомимся с разработкой игр на нем.

Видеоурок

Ссылки из видео:

  • Скачать игру на Android ;
  • Скачать игру на IOS .

Unity – это движок, на котором строится большая часть современных игр на разных платформах. Посредством движка реально создавать игры, ориентированные на запуск на компьютерах (Windows, Linux, MacOS), мобильных телефонах, планшетных компьютерах (Android, iOS) и даже игровых приставках PlayStation, Xbox, Nintendo.

Как создавать игры в Unity?

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

Новичков может ввести в заблуждение видимая простота процесса, хотя это не так. Для создания уникальной и популярной игры придётся с нуля писать массу компонентов. Если точнее, в среде Юнити это называется скриптом. Родной язык создания скриптов – C#, но ещё частично используется JavaScript и Boo (обрезанный вариант Python). Создать собственные компоненты нелегко, можно даже сказать – это сложная процедура, напрямую завязанная на классическом программировании. Без наличия достаточного уровня знаний в программировании придётся несладко.

Поддерживаемые платформы

Многие крупные проекты предпочитают Unity из-за огромного списка платформ совместимых с движком. Готовое приложение реально запустить на любой компьютерной операционной системе, популярных мобильных платформах и SmartTV. Что уж говорить, даже браузерные игры и приложения для специфических платформ (вроде Tizen OS) преимущественно разрабатываются на Юнити.

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

То же самое справедливо и в отношении iOS. Ещё одна особенность iOS, что под неё разрабатывать возможно только с компьютера или планшета от Apple. При отсутствии Macbook или аналогичного устройства выпуск игры быстро застопорится и Unity здесь вовсе не причём, Apple сама накладывает подобное ограничение. Вывод прост: если в планах есть iOS-разработка, заранее следует подобрать подходящее устройство для сборки.

Как и где разработать игру на движке?

Длительный процесс разработки игр можем проводить как в рамках Windows, так и Mac OS X. Уже существуют версии редактора под Linux, но рассчитывать на стабильную их работу пока что не приходится. Большую часть времени по созданию игры разработчик проводит внутри редактора Unity. Ещё приходится много времени писать код скриптов, его создавать можем либо в стандартном MonoDevelop, либо в любом редакторе стороннего разработчика. Сейчас активно пользуются Visual Studio, а также Sublime Text, но только при должной настройке.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *