Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mariokreitz/shadowhound
A side-scrolling jump-and-run game where players control Shadowhound, a small black dog on a journey through a shadowy forest. Defeat monsters with unique abilities, earn points, and survive the dark terrain. The game features a minimalistic black, gray, and white color palette, adding to its eerie, atmospheric world.
https://github.com/mariokreitz/shadowhound
canvas canvas-game canvas2d css html javascript javascript-game typescript typescript-game
Last synced: about 1 month ago
JSON representation
A side-scrolling jump-and-run game where players control Shadowhound, a small black dog on a journey through a shadowy forest. Defeat monsters with unique abilities, earn points, and survive the dark terrain. The game features a minimalistic black, gray, and white color palette, adding to its eerie, atmospheric world.
- Host: GitHub
- URL: https://github.com/mariokreitz/shadowhound
- Owner: mariokreitz
- License: mit
- Created: 2024-11-08T11:52:50.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2024-11-26T10:52:48.000Z (about 2 months ago)
- Last Synced: 2024-11-26T11:26:13.733Z (about 2 months ago)
- Topics: canvas, canvas-game, canvas2d, css, html, javascript, javascript-game, typescript, typescript-game
- Language: TypeScript
- Homepage: https://shadowhound.mario-kreitz.dev/
- Size: 12.7 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 🌑 Shadowhound
![GitHub release (latest by date)](https://img.shields.io/github/v/release/mariokreitz/Shadowhound?label=version)
**Shadowhound** is an immersive side-scrolling, jump-and-run adventure game where players control a small black dog navigating a dark, mysterious forest. Defeat monsters with special abilities, earn points, and explore a world crafted in an atmospheric monochrome palette of black, gray, and white.
![screenshot](./screenshot_menu.png)
---
## 📖 Table of Contents
- [🌟 Features](#-features)
- [🎮 Gameplay](#-gameplay)
- [🚀 Getting Started](#-getting-started)
- [🎛️ Controls](#-controls)
- [💻 Development](#-development)
- [⚠️ Missing Features (WIP)](#-missing-features-wip)
- [📜 License](#-license)
- [🙏 Credits](#-credits)---
## 🌟 Features
- **🖤 Atmospheric Setting**: A shadowy forest rendered in black, gray, and white, immersing players in an eerie, mysterious environment.
- **⚔️ Endboss**: Challenge the epic final boss in the latest update!
- **🔍 Debug Mode**: Toggle hitboxes, FPS, and other debug details to assist in development.
- **🖥️ Fullscreen Mode**: Play in fullscreen for a more immersive experience.
- **📱 Mobile Compatibility**: Optimized for both desktop and mobile; mobile users can jump and play with simplified controls.---
## 🎮 Gameplay
Take control of **Shadowhound**, a small, agile black dog braving the shadows of a dark forest. Avoid obstacles, battle enemies, and earn points as you progress through increasingly challenging levels. Your goal? Master the shadows and aim for a high score!
![screenshot](./screenshot_game.png)
---
## 🚀 Getting Started
To try **Shadowhound** locally:
1. **Clone this repository**:
```bash
git clone https://github.com/mariokreitz/Shadowhound.git
```
2. **Navigate to the project folder**:
```bash
cd Shadowhound
```
3. **Install dependencies**:
```bash
npm install
```
4. **Start the development server**:
```bash
npm run dev
```
5. **Open the project** in your browser:
- The game should now be running locally on `http://localhost:5173`.---
## 🎛️ Controls
- **Move Left**: `←` (Left Arrow)
- **Move Right**: `→` (Right Arrow)
- **Move Up**: `↑` (Up Arrow)
- **Move Down**: `↓` (Down Arrow)
- **Special Move**: `Enter`
- **Debug Mode**: `D`
- **Fullscreen Mode**: `F`---
## 💻 Development
Shadowhound is developed with:
- **Vite** for fast build and development environment.
- **TypeScript, HTML, CSS** for core game mechanics.
- **Canvas API** for graphics rendering.
- **Git & GitHub** for version control.### Structure
- **Assets**: Houses images for the player, enemies, and background.
- **Classes**: Contains TypeScript classes for game components like player, enemy, background, and input handling.
- **State Management**: Includes files for managing player states using the state design pattern, inspired by DoFactory's design pattern resources.---
## ⚠️ Missing Features (WIP)
### ✅ Completed:
- **Landing Page**: The basic structure is set up!
- **Menu**: Fully implemented and functional!
- **Sounds & Effects**: Basic background music and click sounds are implemented.
- **Mobile View & Controls**: Mobile compatibility and controls are now fully working.
- **Endboss**: The final boss is now available and ready to challenge players.### 🔧 Still to Come:
- **Advanced Settings**: More settings, such as difficulty levels, will be added in future updates.
---
## 📜 Documentation
For detailed documentation and guides, visit the official **[Shadowhound Docs](https://shadowhound.mario-kreitz.dev/docs/)**.
---
## 📜 License
This project is open-source and available under the MIT License. See the [LICENSE](LICENSE) file for more details.
---
## 🙏 Credits
- **Inspired by**: [Franks Laboratory](https://www.youtube.com/@Frankslaboratory) – for the motivation and inspiration to dive into game development and bring **Shadowhound** to life.
- **Art & Sprites**: A big thank you to [Bevouliin](https://bevouliin.com/) for the amazing art and sprites that helped shape the visual experience of the game.---
Enjoy exploring the shadows in **Shadowhound**! 🌲🐾