Mob Shooter is a basic 2D survival shooter game developed for Windows using the Godot Game Engine and GDScript. This project demonstrates the implementation of core game mechanics including physics calculations, vector mathematics, and problem-solving logic.
In Mob Shooter, the player must survive against waves of enemies in a 2D environment. The project serves as a showcase of fundamental game development concepts such as:
- Kinematic Character Controllers: Smooth player and enemy movement.
- Physics & Collision: Hitbox detection, projectile trajectory, and environment interaction.
- Object Pooling/Instantiation: Dynamic spawning of bullets and mobs.
- Engine: Godot Engine (Version 4.x recommended)
- Language: GDScript (Python-like syntax)
- Platform: Windows
survivours_game.tscn: The main game scene where the action takes place.player.tscn/player.gd: Handles player movement, input, and health.mob.tscn/mob.gd: The enemy AI logic, including pathfinding towards the player.gun.tscn/gun.gd: Weapon mechanics and rotation logic.bullet.tscn/bullet.gd: Projectile physics.pine_tree.tscn: Static environmental obstacles.
- Clone the Repository:
git clone [https://github.com/jkmloom/Mob-Shooter.git](https://github.com/jkmloom/Mob-Shooter.git)
- Download Godot: Ensure you have the Godot Engine installed.
- Import Project:
- Open Godot.
- Click "Import".
- Navigate to the cloned folder and select the
project.godotfile.
- Play: Press the Play button (or F5) in the Godot editor to start the game.
This project is currently a work in progress (WIP). Please be aware of the following missing features and areas for improvement:
- No Sound Effects: The game currently has no audio (shooting, walking, or enemy noises).
- Environment: The map is basic; there is room for improvement in terrain variation, background details, and obstacle layout.
- No HUD/UI: There is currently no on-screen display for a level counter, score, or kill count.
- Endless Loop: The game has no defined "Game Over" screen or "Win" state. It runs indefinitely until closed.
Feel free to fork this project and submit pull requests to address the issues listed above! Improvements to the physics math or code optimization are also welcome.
Created by jkmloom