https://github.com/baolhq/hellspawns
A top-down shooter inspired by Vampire Survivors that I'm doing to learn object pooling concept.
https://github.com/baolhq/hellspawns
gamedev love2d lua topdownshooter
Last synced: 2 months ago
JSON representation
A top-down shooter inspired by Vampire Survivors that I'm doing to learn object pooling concept.
- Host: GitHub
- URL: https://github.com/baolhq/hellspawns
- Owner: baolhq
- License: mit
- Created: 2025-06-01T15:46:36.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-06-04T03:12:42.000Z (about 1 year ago)
- Last Synced: 2025-06-26T18:44:18.355Z (about 1 year ago)
- Topics: gamedev, love2d, lua, topdownshooter
- Language: Lua
- Homepage:
- Size: 1.9 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.md
Awesome Lists containing this project
README
# HellSpawns
A top-down shooter inspired by Vampire Surviors that I'm doing to learn object pooling concept.
## Player Manual
1. Move your character with `Arrow Keys` or `WASD`
2. Shoot enemies with `Left Mouse Button`
3. Go back or exit with Esc
4. Pause and resume with Space
## Building
### Dependencies
Before you begin, make sure you have the following installed:
- Lua 5.1 or higher
- Love2D
- Python 3
After you have Python installed on your system, add these following packages for building cross-platforms:
```sh
pip3 install setuptools
pip3 install makelove
```
Then run this command to build
```sh
makelove --config build_config.toml
```
### Installation
Clone the repository:
```sh
git clone https://github.com/baolhq/hellspawns.git
cd hellspawns && code .
```
## Executing
To build and run the project:
- Press `Ctrl+Shift+B` to build using the provided `build_config.toml`, this will generate executables at `/bin` directory
- Or skip to run the project simply with `F5`
## Project Structure
```sh
/hellspawns
├── main.lua # Entry point
├── conf.lua # Startup configurations
├── build_config.toml # Setup for cross-platforms building
├── /lib # Third-party libraries
├── /src # Game source code
│ ├── entities/ # Game entities
│ ├── global/ # Global variables
│ ├── managers/ # Manage screens, inputs, game states etc..
│ ├── screens/ # Game screens
│ └── util/ # Helper functions
├── /res # Static resources
│ ├── img/ # Sprites, textures etc..
│ ├── audio/ # Sound effects
│ └── font/ # Recommended fonts
├── /.vscode # VSCode launch, debug and build setup
└── /bin # Build output
```
## License
This project is licensed under the [MIT License](LICENSE.md). Feel free to customize it whatever you want.