Привет, Пикабу! Сейчас я расскажу про само устройство игры и её особенности.
Часть 1
Часть 2
1. Движок собственный. Почему? Ну, потому что мне именно так и захотелось. Игра не требует каких-то сложных просчётов, а движки универсальны, что помимо всего прочего потянуло бы за собой много ненужного.
2. Текстуры самогенерируемые. Абсолютно все, кроме самого лого игры. Шарики, шипы, лазеры, кнопка "паузы" и "продолжить", внутренние GUI-элементы - всё генерируется на уровне кода. Это точно уменьшило общий размер файла на пару мегабайт (сейчас игра весит ~7 мегабайт в сторе). А ещё это хороший задел в будущем для создания игр основанных на векторно-генерируемых текстурах.
3. Рандомщик уровней. Да, он по-разному расставляет объекты и, допустим, добраться до 200 бывает просто, а бывает и тяжело. Однако создавать один и тот же уровень и давать только его, как я подумал, не очень хорошая идея. А так всё рандомно и каждый раз всё новое, что не даёт игроку проходит на автомате.
4. Звуки бесплатные. Так как у меня нет средств заказывать звуки, то было принято решение искать бесплатные варианты. Звуки я брал с diforb.com, можно использовать, если укажете где-нибудь на них ссылку в игре.
5. Минималистичный стиль. Не знаю, почему именно он, но захотелось создания минималистичных интерфейса и окружения игры, но и в то же время очень приятных на взгляд. А что вы можете сказать насчёт внешнего вида?
Разработкой я занимаюсь с 21 августа, уделяя по несколько часов игре. Игра готова, однако есть то, чего не хватает - это локализации. Хотелось бы локализовать игру на 6 языков: русский, английский, немецкий, испанский, французский. В игре самый минимум предложений, но всё же боязно переводить их через Google Translate.
Что мне понадобилось для написания этой игры?
• Использование структур данных: массив, стек, хеш-таблица.
• Пару статеек о физике в игре. Тут смысл в том, что кто-то использует систему движения объектов такой "Позиция и старая позиция", а кто-то "Позиция, скорость, ускорение" (такой выбрал я). Хотя физику как столкновения я не реализовывал полностью, у меня только самый базис для игры "Шар-Прямоугольник".
• Классы. Я не знаю, как вам описать, но этот проект дал реально много практического применения классов и всех принципов ооп. Невероятно круто, я считаю :)
• Работа с файлами.
• Потоки.
Особенно хорошо классы ощущались, когда писал GUI для игры
Ребят, огромное спасибо вам за тестирование и вносимые предложения :) Если что-то интересно - спрашивайте, я отвечу.