Свой велосипед с квадратными колесами

Дело было вечером, делать было нечего!!!

Как-то неожиданно пришла мне идея — попробывать создать игру.

Сразу созрел расплывчатый план:

  • Выбрать простой жанр для будущей игры;
  • Выбрать готовый игровой движок;
  • Придумать саму игру;
  • Как-то решить вопрос с графикой.

Выбор жанра игры

Так как опыта программирования игр нет и рисовать у меня не очень получается 🙁 , то игры со сложной механикой, 3D-моделями, красочным контентом и спецэффектами отпадают. На ум пришли игры — казуалки, головоломки, аркады. Но создавать «крестики-нолики», «тетрис», «три в ряд» как-то желания не было.

Поэтому выбор пал на платформер-раннер(runner).

Платформер — основной задачей игрока является преодоление препятствий (ям, шипов, врагов и т. д.) с помощью прыжков.

Выбор игрового движка

На данный момент существует множество игровых движков, начиная от профессиональных, для разработок игр класса ААА, до конструкторов игр(где даже не имея навыков программирования можно создавать игры), не буду их перечислять, их и так большинство всех знает.

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

Так как мне очень полюбился C++/Qt, выбор пал на него.

Плюс в Qt реализованы продуманные классы:

  • Динамические списки, хеш-таблицы и т. д.;
  • Работа с векторами, матрицами;
  • Загрузка и работа с картинками;
  • Работа с VBO, VAO, шейдерами.

И в придачу поддержка платформ Windows, Linux, Android, iOS.

Идея игры

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

Кто главный персонаж? Какой графический стиль игры? Какие препятствия? Ничего толкового в голову мне не пришло, решил взять за основу игру Пак-Ман(Pac-Man).

Пусть главный персонаж — Пак-Ман(Pac-Man).

Препятствия:

  • Шипы;
  • Ямы;
  • Враги — Призраки(Ghosts).

Дополнительные предметы:

  • Лед(ускорение);
  • Песок(замедление);
  • Пружина(прыжок);
  • Портал(перемещение по уровню);
  • И конечно же точки(монеты).

И назовем это всё PacManRun.

Вот как-то так.

Графика

Ммм… С графикой беда. Знакомых, умеющих хорошо рисовать не нашлось, поэтому решил рисовать сам.

Результат

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

Но объем и сложность игры не велики, поэтому для первой игры я думаю сойдет.

Посмотрим что из этого получиться.