Wave Shooter Game Template for Godot 4
This is a wave-based space shooter inspired by the DOS game Galactix.
It's currently still in development but already playable.
This game is primarily intended as a learning resource for game developers using the Godot Engine.
Features
- Each wave spawns ships for the player to destroy.
- Destroying ships gathers XP.
- Gather XP to reach new levels.
- With each level, players can select from one of three upgrades.
- Built-in cheat codes:
- To toggle invincibility/god mode, type "IDDQD".
- To refill health type: "HEALME"
- To upgrade, type: "UPGRADE"
Technical Features
- Written in Godot 4 (exclusively in GDScript).
- Code follows the Godot style guide and best practices.
- Components are designed for reusability. Some highlights:
- Shooting is projectile-based (rather than hitscan). The projectile component is configurable using the ProjectileData resource, supports piercing/shooting through multiple enemies, and even ricocheting/bouncing off walls (which is not yet used in this game, but demonstrated in the survivor-like game).
- Projectiles are fired by the ProjectileEmitter component, which is configurable using a resource that determines what kind of projectile it fires, its firing rate, etc. In this game, the projectile emitter can pivot a little, so the guns aim at or toward the mouse/crosshairs.
- The enemy ships are spawned by an EntitySpawner component that is configurable with entity scenes. It's configurable with the maximum number of concurrent enemies, uses the strategy pattern to determine where to place entities, and uses a ticket system to limited the total number of entities to spawn.
- The music consists of individual elements that are assembled using Godot's AudioStreamInteractive and AudioStreamSynchronized classes.
- The cheat code implementation is built on a reusable component that listens for specific phrases the player types. It is easy to extend with custom phrases.
Recent fixes
- Shaders are now preloaded to fix the stutter the first time they're used, which is when a ship is taking damage or destroyed.
License
You are granted a non-exclusive, non-transferable license to use this addon in unlimited personal or commercial Godot Engine projects.
You may:
- Modify the addon for use in your projects.
- Use it in free or paid games or applications.
You may not:
- Resell, redistribute, or share the addon files, either modified or unmodified.
- Include the addon in templates, plugins, asset packs, or tools intended for public distribution.
All rights not explicitly granted are reserved to the original author. By purchasing and downloading, you agree to this license.
Published | 3 days ago |
Status | In development |
Platforms | HTML5 |
Author | Go, Go, Godot! |
Genre | Shooter |
Made with | Godot |
Purchase
Buy Now$4.99 USD or more
In order to download this game template you must purchase it at or above the minimum price of $4.99 USD. You will get access to the following files:
gg_wave_shooter_v1.0.0.zip 6.1 MB
Leave a comment
Log in with itch.io to leave a comment.