22

Как я создаю свою первую игру [часть 3: немного о технической части]

Привет, Пикабу! Сейчас я расскажу про само устройство игры и её особенности.

Часть 1

Часть 2

Как я создаю свою первую игру [часть 3: немного о технической части] Gamedev, Разработка игр, Разработка, Android, Геймеры, Игры, Мобильные игры, Длиннопост

1. Движок собственный. Почему? Ну, потому что мне именно так и захотелось. Игра не требует каких-то сложных просчётов, а движки универсальны, что помимо всего прочего потянуло бы за собой много ненужного.

Как я создаю свою первую игру [часть 3: немного о технической части] Gamedev, Разработка игр, Разработка, Android, Геймеры, Игры, Мобильные игры, Длиннопост

2. Текстуры самогенерируемые. Абсолютно все, кроме самого лого игры. Шарики, шипы, лазеры, кнопка "паузы" и "продолжить", внутренние GUI-элементы - всё генерируется на уровне кода. Это точно уменьшило общий размер файла на пару мегабайт (сейчас игра весит ~7 мегабайт в сторе). А ещё это хороший задел в будущем для создания игр основанных на векторно-генерируемых текстурах.


3. Рандомщик уровней. Да, он по-разному расставляет объекты и, допустим, добраться до 200 бывает просто, а бывает и тяжело. Однако создавать один и тот же уровень и давать только его, как я подумал, не очень хорошая идея. А так всё рандомно и каждый раз всё новое, что не даёт игроку проходит на автомате.


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


5. Минималистичный стиль. Не знаю, почему именно он, но захотелось создания минималистичных интерфейса и окружения игры, но и в то же время очень приятных на взгляд. А что вы можете сказать насчёт внешнего вида?


Разработкой я занимаюсь с 21 августа, уделяя по несколько часов игре. Игра готова, однако есть то, чего не хватает - это локализации. Хотелось бы локализовать игру на 6 языков: русский, английский, немецкий, испанский, французский. В игре самый минимум предложений, но всё же боязно переводить их через Google Translate.
Как я создаю свою первую игру [часть 3: немного о технической части] Gamedev, Разработка игр, Разработка, Android, Геймеры, Игры, Мобильные игры, Длиннопост

Что мне понадобилось для написания этой игры?

• Использование структур данных: массив, стек, хеш-таблица.

• Пару статеек о физике в игре. Тут смысл в том, что кто-то использует систему движения объектов такой "Позиция и старая позиция", а кто-то "Позиция, скорость, ускорение" (такой выбрал я). Хотя физику как столкновения я не реализовывал полностью, у меня только самый базис для игры "Шар-Прямоугольник".

• Классы. Я не знаю, как вам описать, но этот проект дал реально много практического применения классов и всех принципов ооп. Невероятно круто, я считаю :)

• Работа с файлами.

• Потоки.

Особенно хорошо классы ощущались, когда писал GUI для игры

Ну и по традиции:

Ссылка на игру в Play Market

Ребят, огромное спасибо вам за тестирование и вносимые предложения :) Если что-то интересно - спрашивайте, я отвечу.

Найдены дубликаты

+1
Из предложений : можно сделать что бы вьюхи меняли цает по достижении например 100 - 200 - 300 очком.
как соберешь например 30 желтых давать неуязвимость на 5 секунд или вторую попытку с сохранением очков
0
Шикарно сделано. Ты крут
0
А в чем проблема перевести на несколько языков?
игра понравилась. Спасибо.
Еще переопределите onBackPressed двойное нажатие что бы выход
0
Супер. Если бы ещё исправить BACL на BACK, было бы супер. Игра интересная, динамичная, мне нравится. Графика прекрасна.