GamesDoneQuick / gdq-break-channels

Break Screen Channels for GDQ broadcasts
Other
141 stars 45 forks source link

feat: adding Galaga channel #30

Open edmondsoun opened 9 months ago

edmondsoun commented 9 months ago

Description

Adds a new break channel that simulates Galaga gameplay.

The resting state of the channel is the Galaga "infinite scroll". Periodically, decorative enemy ships fly by on the margins to add some action between donations.

When a donation comes in, an enemy ship is spawned in the play area and travels down towards its resting position. Once the enemy ship crosses a certain threshold, it is targeted by the player ship, shot at, and destroyed. Once destroyed, an explosion animation plays and is replaced by the donation total.

Enemies spawn in random columns within the play area. If an enemy reaches a certain lower threshold, it will spin around and "park" until it is targeted/destroyed. If two enemies spawn in the same column, they stack one over another.

Bigger donations result in higher level ship spawns: bee, butterfly, then boss.

There is no fail state: enemy ships have no offensive capabilities and the player ship cannot be damaged or destroyed in any circumstance.

https://github.com/GamesDoneQuick/gdq-break-channels/assets/107827173/de41cbe5-3d07-4c26-9ebe-40d818f291fd

On a personal note: this is very new territory for me (first time using Pixi.JS or doing any animation at all, really!) so I am very open to any aesthetic/code quality changes and grateful for any feedback. I'd also like to thank the author(s) of the Megaman channel, since the bones of this were built by pattern-matching their work.

Checklist: