PinaShmuppada [вне конкурса]

tQJtrlr

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

Игра представляет собой shoot 'em up (с элементами danmaku). Разумеется, в конце игрока ждет встреча с боссом, причем битва с ним состоит из нескольких фаз (а как же еще?).

Далее, дублирую информацию из README.

Клавиатура:
WASD — перемещение персонажа, перемещение по меню
K — основной выстрел (отдельными нажатиями или зажимать), подтверждение выбора в меню
L — (зажимание) уменьшение скорости персонажа, дополнительное оружие, (нажатие) выход из раздела меню
ESC — диалог выхода из игры или выход из раздела меню

Игровой контроллер:
D-PAD — перемещение персонажа, перемещение по меню
A — основной выстрел (отдельными нажатиями или зажимать), подтверждение выбора в меню
B — (зажимание) уменьшение скорости персонажа, дополнительное оружие, (нажатие) выход из раздела меню
START — диалог выхода из игры

Windows 7 (x64) и выше
DirectX 9c: www.microsoft.com/en-us/download/details.aspx?id=8109
Visual C++ Redistributable for Visual Studio 2019: aka.ms/vs/17/release/vc_redist.x64.exe

ДВИЖОК ИГРЫ
Shmup Creator: www.shmupcreator.com/

МУЗЫКА
Jared E. Newby: trexdigilab.bandcamp.com/album/hello-my-name-is-jared

Ссылка на скачивание:

PinaShmuppada

Спасибо за внимание :)

P.S.
Позднее дополню этот пост комментариями с различными мыслями и соображениями о разном.

UPD.

По поводу механик игры.

Основное оружие персонажа состоит из двух компонентов. Прямой выстрел, который доходит до противоположного конца экрана. И два боковых выстрела под углом, имеющие ограниченный радиус действия. Можно играть более осторожно, используя прямой выстрел для атаки издалека, а боковые выстрелы являются скорее защитой. Но также можно и вести себя более рискованно и агрессивно, подлетая к врагам вплотную (до этого изучив характер их атак) и нанося урон сразу всеми составляющими основного оружия. Можно нажимать кнопку стрельбы одиночными движениями для отдельных выстрелов, а можно держать кнопку зажатой для пресловутого «автоматического огня».

Вспомогательное оружие себя проявляет при вхождении в режим фокуса. Сам режим фокуса замедляет передвижение игрока, что помогает при маневрировании среди пуль в определенных паттернах. Вообще, в жанре shmup’ов есть такие понятия как macro dodge и micro dodge. В первом случае это сильные рывки персонажем, с помощью которых можно уклониться быстро и резко на большее расстояние. Можно продолжать двигаться в одном направлении, не отпуская кнопку пока не окажешься где хочешь быть. Во втором же случае выходит более «ювелирное» движение, которое используется когда все окружающее пространство покрыто пулями и надо лавировать между ними — и тут уже слишком далеко уйти в ту или иную сторону нежелательно. Поэтому осуществляется аккуратное передвижение на пониженной скорости, и рекомендуется оперировать отдельными нажатиями кнопки движения вместо того, чтобы удерживать ее подольше.

Насчет самого же вспомогательного оружия. Это няшные бомбочки, которые отправляются с борта нашего корабля раз в секунду (и перед первым выстрелом проходит полсекунды), и они способны корректировать свою траекторию чтобы подлететь к врагу. У них также более низкая скорость полета чем у пуль, но больше наносится урон врагам. Какое же у этих няшек применение? Конечно, это атака во время маневров с замедлением. Часто бывает ситуации, когда можно чередовать быстрое движение (и стрельбу из быстрого оружия) и медленные маневры (с неторопливым запуском няшек). Кроме того, няшки являются тактическим оружием. Можно заранее их запускать наперед, особенно если уже известно где будет враг. Более того, можно совершать комбинированную атаку — запустить няшку, и когда она настигнет противника, сразу же полить его огнем из основного оружия. В некоторых случаях это помогает моментально победить врага, что бывает необходимым в некоторых случаях.

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

И чуточку про набор очков. Разумеется, уничтожение каждого монстра дает определенное количество очков. Кроме того, за каждое попадание выстрела по врагу тоже даются очки. В дополнение к этому, действует принцип цепочек комбинации. Суть в том, что после уничтожения врага дается максимум одна секунда до уничтожения следующего. Если выстраивается цепочка уничтожений врагов, то при каждом новом уничтоженном враге повышается множитель. А если цепочка разрывается (или игрок теряет жизнь), то этот множитель сбрасывается. Чем длиннее цепочка уничтожений врагов, тем больше множитель, и тем больше получается набрать очков. Уровень игры спроектирован так, что можно его пройти, создавая целую цепочку комбинации — от первого врага и до босса. Разумеется, эта составляющая игры является сугубо опциональной и рассчитана на поклонников подобных механик в этом жанре. В качестве же поощрения игроку выдаются дополнительные «жизни» (которых изначально, по всем заветам классических аркад, всего лишь три) за набор определенного количества очков.

Так, ну вроде расписал основные положения, если что еще будет непонятно по аспектам игрового процесса — спрашивайте.