Pull to refresh

Кроссплатформенность — это круто

Game development *
Этот пост участвует в конкурсе „Умные телефоны за умные посты“.

Ни для кого не секрет, что сегодня мобильные игры очень популярны. Возможность написать одну из таких игр есть у каждого разработчика, даже начинающего. Часто возникает вопрос с выбором платформы. Конечно, хочется, чтобы игра была сразу везде: на iOS и Android, на WP7 и MeeGo, на десктопе и в браузере. И чтобы все это можно было лекго реализовать с помощью бесплатных инструментов.



В этой статье я расскажу вам, как сделать основную часть кода платформонезависимой, а для остального использовать удобные средства разработки для каждой конкретной платформы.
Читать дальше →
Total votes 179: ↑168 and ↓11 +157
Views 29K
Comments 69

Приложение в честь Дня святого Валентина на libgdx

Development for Android *

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


.

Читать дальше →
Total votes 50: ↑30 and ↓20 +10
Views 26K
Comments 22

Перевод туториалов по libGDX — часть 1 (настройка проекта в Eclipse)

Java *Development of mobile applications *
Sandbox
Эта статья — перевод первого туториала для проекта libGDX. Оригинал находится — здесь

От переводчика: недавно у меня появилось желание написать игру под Android. У меня есть некоторый опыт программирования на Java, но я почти не сталкивался с разработкой под Android. Тут я наткнулся на библиотеку libGDX, которая позволяет писать кросплатформенные игры. Также я наткнулся, что по ней не хватает русской документации, а конкретно — туториалов. Поэтому у меня появилось желание перевести туториалы. Это мой первый перевод, поэтому буду рад любым замечаниям и указаниям на неточности.

Настройка проекта


Примечание: есть проблемы с использованием Java 1.7 для Android-приложений. Убедитесь, что вы используете Java 1.6
Примечание: надо сделать несколько шагов для настройки приложения под Android. Смотрите ниже.

Эта статья описывает, как настроить Eclipse для разработки и запуска приложений как на настольном компьютере, так и на Android-устройствах.
Читать дальше →
Total votes 14: ↑11 and ↓3 +8
Views 31K
Comments 5

Перевод туториалов по libGDX — часть 3 (пакет scene2d)

Java *Development for Android *
Это третья статья из цикла переводов туториалов libGDX.
Первая статья находится здесь
Вторая статья находится здесь

scene2d



Пакет scene2d представляет собой классы для реализации графа для двухмерной сцены, которые могут быть полезны для управления группой иерархически связанных актеров (актер — некоторая сущность, которая может быть нарисована и которая может обрабатывать события ввода — прим. переводчика). Этот пакет предоставляет поддержку для обработки управления, рисования с возможностью поворота и масштабирования актеров в системе координат относительно родительского актера. Этот пакет также предоставляет фреймворк для управления действиями актеров через некоторые промежутки времени (tweening). Пакет scene2d.ui предоставляет актеров, которые могут быть полезны при построении графического интерфейса пользователя.
Читать дальше →
Total votes 21: ↑18 and ↓3 +15
Views 34K
Comments 5

Туториал по libGDX — создание пользовательского интерфейса. Часть 1

Java *Development for Android *
Разбираясь дальше с библиотекой libGDX, я дошел до пакета com.badlogic.gdx.scenes.scene2d.ui. Этот пакет предназначен для создания пользовательського интерфейса. И тут меня ждало разочарование: статьи-туториала нет. Поэтому я решил самостоятельно разобраться с пакетом, используя исходники и Javadoc документацию. То есть, это будет туториал по scene2d.ui, но уже не перевод. Я не буду здесь детально описывать конструкторы, методы, приводить подробные сигнатуры. Я постараюсь взглянуть с высоты «птичьего полета», поскольку зная принципы, вы всегда сможете узнать больше из документации. Но даже при таком подходе материала слишком много, поэтому я разобью его на две (возможно больше) статей.
Читать дальше →
Total votes 9: ↑9 and ↓0 +9
Views 48K
Comments 2

Box2d и Libgdx

Java *Game development *Development for Android *
Sandbox
День добрый.

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

Я задался целью поэтапно писать статьи о различных аспектах/частях LibGDX, чтобы в итоге, любой человек мог более-менее работоспособную версию своей собственной игрушки сделать. В этой статье хотел бы рассказать про Box2D, который присутствует в LibGDX.
image
Читать дальше →
Total votes 14: ↑13 and ↓1 +12
Views 56K
Comments 9

Работа с ContactListener из Box2d в Libgdx

Java *Game development *Development for Android *
Tutorial
В продолжение прошлой статьи про использование Box2d в Libgdx решил рассмотреть работу с классом ContactListener.

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

image
Читать дальше →
Total votes 8: ↑7 and ↓1 +6
Views 17K
Comments 5

Использование фильтров из Box2D в Libgdx

Java *Game development *Development for Android *
В прошлой статье рассматривалась работа с ContactListener. Вот только примеры, которые я использовал, были не совсем верно выбраны. В Box2D есть намного более удобные средства для фильтрации столкновений, а именно – фильтры. О них и напишу в этот раз.
Использование фильтров из Box2D в Libgdx
Читать дальше →
Total votes 7: ↑6 and ↓1 +5
Views 11K
Comments 0

Как я писал Bomberman’а на Android

Java *Game development *Development for Android *
День добрый, уважаемые хабражители.
Писать игры хотел ещё с того момента, когда только начал программировать. И вот, решил всё-таки попробовать себя в написании игр на Android.
Игру осенью сделал ещё и выложил в маркет. Правда её удалили, так как права на Bomberman'а у Konami. Но статья, естественно, не об этом.

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

Читать дальше →
Total votes 77: ↑71 and ↓6 +65
Views 50K
Comments 56

Мультиплеер в играх: взгляд изнутри

Game development *
Sandbox
Привет.

Недавно я создал мобильную игру для Android, в которой потенциально мог бы быть мультиплеер, чего и затребовали пользователи.
Мультиплеер не предусматривался, так как не соблюдал разделения модели и представления.
В этой статье я рассмотрю простую реализацию сетевого режима игры и расскажу об ошибках, допущенных на этапе продумывания архитектуры игры.
Воодушевившись статьей goblin wars II структура игры была разделена на независимые блоки, что в конечном итоге позволило пользователям играть по сети.
Читать дальше →
Total votes 8: ↑7 and ↓1 +6
Views 28K
Comments 6

Фишки для Android

Game development *Development for Android *

Вступление


Думаю, большинство из вас в детстве игрались в фишки. Помните, такие маленькие кружочки с рисунками? Они были на разные тематики. Лично я игрался в них не очень много, но еще застал их. И тут поступила идея сделать такую игру на телефон — на Android. Знания были, опыт тоже, и я приступил к реализации. Я расскажу немного о игровом процессе, и, конечно же, коснусь технических моментов — куда же без них на хабр-то?
Читать дальше →
Total votes 25: ↑17 and ↓8 +9
Views 25K
Comments 27

Создаем прототип игры Flappy Bird под Android на LibGDX

Game development *
Сегодня утро на работе началось с холивара на тему вчерашней статьи: “Вот у iOS уже физический движок есть, а в Android даже камера нормально не работает… Придет заказчик, даст проект портировать с iOS на Android — оценишь его в 120 часов, а заказчик скажет, как так, вот под iOS за 8 часов написали...”. Короче получилось много эмоций на пустом месте.

Поэтому я решил поставить некоторые точки над «и» (такая поговорка в русском языке есть, или только в украинском? :)). Так вот, задача:
— написать прототип Flappy Bird с использованием любого физического движка или фреймворка как можно быстрее.

Хотел сначала по исходникам пройтись, но они получились настолько примитивными, что думаю нету смысла. Для разработки взял фреймворк LibGDX и попытался написать более-менее красивый код (это вечная тема, и каждый ведет идеальный код по своему).

После полутора часов работы и полулитра кефира получился прототип. Эта цифра ничего не говорит, я уверен, что на хабре есть десятки программистов, которые реализуют данную задачу в 2-3 раза быстрее. Так само если iOS-разработчики скажут, что такое могут написать за 20 минут — я поверю.
Читать дальше →
Total votes 52: ↑32 and ↓20 +12
Views 30K
Comments 13

Состоялся релиз библиотеки libGDX 1.0

Open source *Game development *Development for Android *
Библиотека libGDX известна почти каждому разработчику Android-приложений. С её помощью добавляются текстуры, проигрывается звук, вызывается вибрация и т.д. «Все думали, что этот день никогда не наступит, но он наступил. Официально вышла версия libGDX 1.0!», — сообщается в официальном блоге Badlogic Games, маленькой австрийской компании, которая с 2009 года ведёт разработку проекта.

Среди самых важных изменений в версии 1.0 — новый интерфейс для сборки проекта на основе Gradle. Теперь любой проект можно скомпилировать из командной строки или из Eclipse, Intellij IDEA и т.д. Больше никаких jar’ов в репозитории!
Читать дальше →
Total votes 32: ↑27 and ↓5 +22
Views 8K
Comments 5

[ libGDX ] Пишем полноценную игру под Android. Часть 1

Java *Development for Android *
Tutorial
Sandbox
Здравствуйте! Я решил попробовать себя на поприще game-dev'а и заодно рассказать и показать как это было. Вторая часть здесь.

Игра представляет собой экран, на котором расположены созвездия. Каждая звезда этого созвездия имеет свой цвет (нота). Например, ноту «До» обычно представляют красным цветом, а «Ми» — желтым. Вот что получится в итоге:

image

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

Писать будем, используя фреймворк libGDX. Мне он больше всех понравился, как новичку в этом деле. Да и информации по нему я нашел больше. Итак, приступим.
Читать дальше →
Total votes 44: ↑38 and ↓6 +32
Views 114K
Comments 20

Создание Zero Player Game, используя libgdx

Java *Algorithms *
Sandbox

Идея


  1. Игровое пространство — клетчатое поле ограниченное рамкой
  2. Существующие типы клеток:
    • Пустая клетка — белый
    • Стена — чёрный
    • Зверь — красный
    • След — коричневый
    • Дом — зелёный
  3. Перемещение зверя оставляет неисчезающий след
  4. При запуске генерируется лабиринт
  5. Зверь знает состояние соседних клеток и на основании этого строит карту при перемещении
  6. При перемещении зверь расходует силы, которые восстанавливаются в доме(+5) или на любой клетке(+1)
  7. При столкновении звери объединяются в стаи(дома переносятся в соседние точки), если несколько зверей одновременно отдыхают в доме их карты объединяются
  8. (Не реализовано)Разные «кланы» случайным образом объединяются или воюют
  9. (Не реализовано)Генетический алгоритм для различных поведений зверей, случайно перемешивающиеся при размножении(+мутации), более перспективный вид выживет в войнах

Читать дальше →
Total votes 30: ↑25 and ↓5 +20
Views 16K
Comments 2

Libgdx: экран загрузки и загрузка шифрованных ресурсов

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

Простая gif анимация загрузчика для привлечения внимания

Во многих приложениях экран загрузки используется только при старте (или не используется совсем), при этом загружаются сразу все изображения, которые могут понадобиться. Это удобно, если ваша игра «Flappy Bird» и имеет при себе несколько десятков картинок, упакованных в атлас размером 1024х1024. Если же приложение крупное, такое как «Cut The Rope», то загрузить все ресурсы разом не получится, да и неободимости загружать «лишние» ресурсы нету, так как пользователь их может даже не увидеть.
Читать дальше →
Total votes 15: ↑15 and ↓0 +15
Views 14K
Comments 7

Google Play Game Services в Libgdx

Game development *Development for Android *
Tutorial
Sandbox
image

Введение


Многие разработчики игр хотят использовать сервис Google Play Game Services в своих играх. Я не был исключением, но знаний и навыков как быстро добавить поддержку GPGS в свою libgdx игру не было. В данной статье опишу процесс подключения таблицы рекордов и достижений. Исходные данные: Eclipse, настроенная консоль разработчика для работы с игровыми сервисами, android-проект, корневой проект.
Читать дальше →
Total votes 9: ↑9 and ↓0 +9
Views 21K
Comments 10

Как я физическую головоломку на Libgdx писал

Java *Game development *Development for Android *
Здравствуйте!

Скриншот для затравки:

Кто-то еще читает подсказки к картинкам?

Как-то бесцельно сидя в интернете я наткнулся на игру «Цепи, шары и зомби». Не знаю почему, но она меня сильно зацепила. Простой и в то же время интересный геймплей и некоторая нелинейность — уровни можно пройти несколькими способами. Чем-то она напомнила мне небезызвестную Crazy Machines, которой я тоже когда-то болел.

Поубивав зомби, я загорелся идеей написать свою игру — с поэтессами и преферансом шарами и зомби, только лучше (можно грабить корованы). Сказано — сделано. По итогу пары недель игра была сделана, и выложена в Google Play. Если вам интересно узнать детальней — прошу под кат.
Читать дальше →
Total votes 25: ↑13 and ↓12 +1
Views 23K
Comments 12

[LibGDX] Создаем клон Flappy Bird — Zombie Bird

Java *Game development *
Tutorial
Translation
Доброго времени суток %username%. Не давно наткнулся на хороший туториал по созданию клона игры Flappy Bird используя LibGDX и этот туториал мне понравился своей простотой и детализацией.

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

Туториал разбит на 12 дней, содержит множество картинок, полотен кода и исходный код разбит по дням. Кому интересно, добро пожаловать под кат.
Подробнее
Total votes 111: ↑102 and ↓9 +93
Views 195K
Comments 29

Казуальные игры на Libgdx, тонкие моменты в разработке

Game development *Kotlin *
Sandbox
Статья будет полезна как начинающим, так и опытным разработчикам, т.к. она охватывает и базовые моменты разработки игр, и нетривиальны проблемы, которые приходилось решать. Если вас заинтересовало, прошу под кат. Так же разработчикам на libdgx будут полезны ссылки, приведенные в конце статьи.
Читать дальше →
Total votes 14: ↑13 and ↓1 +12
Views 17K
Comments 10