Захотелось сделать игру
В один момент мне просто захотелось сделать игру, расскажу, что из этого получилось.
Идея пришла в дороге, соответственно, под рукой ноут, не отличающийся производительностью, немного знаний из категории "общие" и сильное желание сделать хоть что-нибудь.
Но мы не из тех, кто семь раз режет, так что садимся мерить, а точнее, планировать.
С планом все просто: идея, цикл, механики, выбор движка и реализация.
С первым просто: космические баталии под депрессивное синти.
Цикл тоже простой: меню -> экран эпической битвы -> меню проигрыша.
Основные механики:
1. Выживать и зарабатывать очки;
2. Лазер - это всегда круто, поэтому стрелять лазером по врагам будет просто великолепно.
3. Больше попаданий по врагам - больше очков.
4. Пока стреляешь, максимально уязвим.
5. Лазер вовсе не лазер, а замораживающий луч! Неожиданно, да?
6. Замораживающий луч не вечный, его надо накапливать и послн расходовать (с умом).
Думаю, пока хватит)
Переходим к движкам. С такой задачей справится все, что угодно, так что основные ограничения - это производительность железа и порог входа. После пары тестов на своём ноуте добрая половина ПО отвалилась. Много здесь писать нет смысла, остановился я на использовании библиотеки PyGame.
И так, все, что нужно, уже под рукой, начинаем работу.
1. Афиша. Ничто так не мотивирует, как славный постер (шутки ради, конечно, но почему нет)
Пока был в дороге, ощущал себя иностранцем, поэтому все будет на английском. Будем считать, что это дневники разработчиков для мирового сообщества.
И так, постер готов, что дальше? Верно, собираем движок. С уже известной нам библиотекой создаём прототип реагирующих на мышку кнопочек в основном цикле будущей игры.
Чтож, это было быстро, пора приступать к космическим баталиям. Нам нужнен:
1.Главный герой (крутой парень с лазерной пушкой, которого совершенно рандомно носит по вселенной).
2. Полчище бессмертных врагов, готовых сожрать героя, единственная слабость которых - это замораживающий луч.
Закидываем основу и вуаля, один в один же.
Явно не хватает какой-то важной части...конечно! Интерфейс какой-то неинтуитивный. Сказано - сделано!
Вот теперь отлично! Связываем с нашим меню и запускаем. Не так, конечно, все просто: нужно ещё добавить наш лазер и привязать его к индикатору перегрузки. Но спустя некоторое время и это было сделано.
Мы можем стрелять по ЛКМ и, если попадаем по врагу, получаем очки.
Не хватает динамики (единственное, чего не хватает этому проекту). Добавляем скорость и эффект замораживающего лазера, естественно. Более того, пришла пора добавить самую главную возможность героя - смерть.
Столкновение героя с врагом при активной стрельбе лазером = конец игры.
Осталось подкрутить скорости врагов, закинуть немного музыки и прототип готов! (Надеюсь, она тут заиграет, если нет, то звучит она, словно синтезаторная фантазия из 80х на тему полёта в космос)
Вот и закончился первый этап, дальше - больше, кубики меняем на разъяренных космо-пылесосов, а героя - на отважного котика.
Всем спасибо, кто дочитал!
Отличного дня!