An open API service indexing awesome lists of open source software.

https://github.com/thamirawaran/visit_zoo

An interactive zoo simulation built with Pygame and MoviePy. Explore zoo sections by clicking buttons to view videos, offering a fun and engaging experience.
https://github.com/thamirawaran/visit_zoo

jac jac-lang pygame zoo

Last synced: 5 months ago
JSON representation

An interactive zoo simulation built with Pygame and MoviePy. Explore zoo sections by clicking buttons to view videos, offering a fun and engaging experience.

Awesome Lists containing this project

README

          

# đŸĻ Visit Zoo Game

[![Jaclang](https://img.shields.io/badge/Jaclang-0.7.24-blue.svg)](https://github.com/Jaseci-Labs/jaclang)
[![Pygame](https://img.shields.io/badge/Pygame-2.1.0-green.svg)](https://www.pygame.org/)
[![MoviePy](https://img.shields.io/badge/MoviePy-1.0.3-orange.svg)](https://zulko.github.io/moviepy/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

> 🎮 An immersive interactive zoo exploration game built with Jaclang, featuring dynamic state management and multimedia experiences.

## ✨ Features

### đŸ—ēī¸ **Interactive Zoo Exploration**
- Navigate through beautifully designed zoo sections
- Each area features unique animals: đŸĻ Lions, 🐘 Elephants, đŸĻœ Parrots, and đŸĻ Hummingbirds
- Dynamic pathfinding and state-based navigation system

### đŸŽŦ **Rich Multimedia Experience**
- **HD Images**: High-quality visuals for each zoo section
- **Video Content**: Immersive 3-second video clips for every animal encounter
- **Audio**: Background music and interactive sound effects

### đŸŽ¯ **Smart State Management**
- đŸŸĸ **Accessible** - Ready to explore
- 🔴 **Restricted** - Prerequisites required
- đŸšĒ **Exit** - Previously visited areas

### đŸ—ī¸ **Modern Architecture**
- Object-oriented design with Jaclang
- Modular code structure for easy maintenance
- Real-time event handling and smooth gameplay

## 🎮 How to Play

### 🚀 Getting Started
1. **Start** at the zoo entrance
2. **Click** on green sections to explore new areas
3. **Watch** videos and enjoy the animal experiences
4. **Navigate** strategically between different zoo sections

### đŸ•šī¸ Controls
| Control | Action |
|---------|--------|
| đŸ–ąī¸ **Mouse Click** | Interact with zoo sections |
| đŸŸĸ **Green Button** | Enter available section |
| 🔴 **Red Button** | Section currently restricted |
| đŸšĒ **Exit Button** | Return to previous area |

### 📍 Zoo Map
```
đŸ›ī¸ Zoo Entry
├── 🐾 Animals Section
│ ├── đŸĻ Lion Exhibit
│ └── 🐘 Elephant Habitat
└── đŸĻ Birds Section
├── đŸĻœ Parrot Aviary
└── đŸĻ Hummingbird Garden
```

## đŸ› ī¸ Setup & Installation

### 📋 Prerequisites
- 🐍 **Python 3.8+**
- đŸŽ¯ **Jaclang** - Advanced programming language for AI and graph computing
- 🎮 **Pygame** - Cross-platform gaming library
- đŸŽŦ **MoviePy** - Video processing toolkit

### ⚡ Quick Install

```bash
# Clone the repository
git clone https://github.com/Thamirawaran/Visit_Zoo.git
cd Visit_Zoo

# Install dependencies
pip install -r requirements.txt

# Launch the game
cd src
jac run main.jac
```

### đŸŗ Docker Setup (Optional)
```bash
docker build -t visit-zoo .
docker run -it --rm visit-zoo
```

## đŸ—ī¸ Project Structure

```
Visit_Zoo/
├── 📁 src/
│ ├── đŸŽ¯ main.jac # Core game engine & event loop
│ ├── 🎨 gui.jac # UI components & rendering
│ └── đŸ—ēī¸ model.jac # Zoo structure & navigation logic
├── 📁 assets/
│ ├── đŸ–ŧī¸ images/ # Section visuals & UI elements
│ ├── đŸŽŦ videos/ # Animal encounter clips
│ └── đŸŽĩ music/ # Background audio & sound effects
├── 📋 requirements.txt # Python dependencies
├── 📄 LICENSE # MIT License
└── 📖 README.md # This file
```

## 🔧 Technical Details

### đŸŽ¯ Built With Jaclang
- **Graph-based Architecture**: Leverages Jaclang's native graph processing
- **Walker Pattern**: Efficient navigation through zoo sections
- **Type Safety**: Strong typing for better code reliability

### 🎮 Game Engine Features
- **60 FPS** smooth gameplay
- **Responsive UI** with dynamic resizing
- **Memory-efficient** media loading
- **Cross-platform** compatibility

## 🤝 Contributing

We welcome contributions! Here's how you can help:

1. 🍴 **Fork** the repository
2. 🌟 **Create** a feature branch (`git checkout -b feature/amazing-feature`)
3. 💾 **Commit** your changes (`git commit -m 'Add amazing feature'`)
4. 📤 **Push** to the branch (`git push origin feature/amazing-feature`)
5. 🔄 **Open** a Pull Request

### 🐛 Bug Reports
Found a bug? Please open an issue with:
- Detailed description
- Steps to reproduce
- Expected vs actual behavior
- System information

## 📝 Changelog

### v1.0.0 (Latest)
- ✨ Initial release
- 🎮 Full zoo exploration gameplay
- đŸŽŦ Multimedia integration
- đŸŽ¯ Jaclang-powered architecture

## 📄 License

This project is licensed under the **MIT License** - see the [LICENSE](LICENSE) file for details.

## 🙏 Acknowledgments

- đŸŽ¯ **Jaclang Team** - For the amazing programming language
- 🎮 **Pygame Community** - For the robust gaming framework
- đŸŽŦ **MoviePy Contributors** - For video processing capabilities
- đŸĻ **Zoo Communities** - For inspiration and educational content

---

**⭐ If you enjoyed this project, please give it a star! ⭐**

Made with â¤ī¸ by [Thamirawaran Sathiyalogeswaran](https://github.com/Thamirawaran)

[🐛 Report Bug](https://github.com/Thamirawaran/Visit_Zoo/issues) â€ĸ [✨ Request Feature](https://github.com/Thamirawaran/Visit_Zoo/issues) â€ĸ [đŸ’Ŧ Ask Question](https://github.com/Thamirawaran/Visit_Zoo/discussions)