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

https://github.com/adzcoder/atomicfisher

A fun educational fishing game designed for KS3 science students to learn about chemical elements and the periodic table.
https://github.com/adzcoder/atomicfisher

app-designer chemistry-game educational-game element-identification game-based-learning interactive-learning key-stage-3 matlab periodic-table stem-education universityofwarwick

Last synced: 8 months ago
JSON representation

A fun educational fishing game designed for KS3 science students to learn about chemical elements and the periodic table.

Awesome Lists containing this project

README

          

# ๐ŸŽฃ AtomicFisher

![MATLAB Version](https://img.shields.io/badge/MATLAB-R2024b+-blue?style=flat-square) ![Educational](https://img.shields.io/badge/Educational-KS3%20Science-green?style=flat-square) ![License](https://img.shields.io/badge/License-Educational%20Use-orange?style=flat-square) ![Version](https://img.shields.io/badge/Version-2.0-red?style=flat-square)

A fun educational fishing game ๐ŸŽฎ designed for KS3 science students to learn about chemical elements and the periodic table ๐Ÿงชโš›๏ธ

## ๐ŸŽฅ Demo & Presentation

[![AtomicFisher Game Demo](title.gif)](https://www.youtube.com/watch?v=VTREubCIVF4)

๐ŸŽฌ **Watch the full game presentation and demo** on YouTube! This video showcases Atomicfisher's gameplay, educational features, and development journey.

## ๐Ÿ“– About

AtomicFisher is an interactive MATLAB App Designer game where players control a fishing hook ๐Ÿช to catch fish ๐ŸŸ carrying non-metal elements. The game helps students distinguish between metals and non-metals in a fun, engaging way! ๐ŸŽฏ

## โœจ Features

- **๐ŸŽ“ Educational Gameplay**: Learn to identify non-metal elements (H, He, C, O)
- **๐ŸŽฎ Interactive Controls**: Use arrow keys to move the fishing hook and spacebar to catch fish
- **๐Ÿ† Scoring System**: Earn points for correct catches, lose points for mistakes
- **โญ Star Rating**: Achieve up to 3 stars based on your performance
- **โฐ Timer Challenge**: Complete the level within the time limit

## ๐Ÿ’ป Requirements

- MATLAB 2024b (may not work on previous versions) ๐Ÿ”ง
- MATLAB App Designer ๐Ÿ› ๏ธ

## ๐Ÿš€ Installation & Running

1. ๐Ÿ“ฅ Download or clone this repository
2. ๐Ÿ“ Ensure all files are in the same directory, maintaining the folder structure
3. ๐Ÿ”ง Open MATLAB 2024b
4. ๐Ÿ“‚ Navigate to the project folder
5. ๐Ÿ–ฑ๏ธ Double-click `AtomicFisher.mlapp` to open in App Designer
6. โ–ถ๏ธ Click the "Run" button in App Designer, or
7. โŒจ๏ธ Type `AtomicFisher` in the MATLAB command window

## ๐ŸŽฏ How to Play

1. **๐ŸŽฏ Objective**: Catch only the fish carrying non-metal elements
2. **๐ŸŽฎ Controls**:
- โฌ…๏ธโžก๏ธโฌ†๏ธโฌ‡๏ธ Arrow keys: Move the fishing hook
- ๐Ÿš€ Spacebar: Release/catch the hooked fish
- ๐Ÿ–ฑ๏ธ Click background: Pause the game
3. **๐Ÿ† Scoring**:
- โž•100 points for each correct catch โœ…
- โž–50 points for catching wrong elements โŒ
4. **๐ŸŽฏ Elements to catch**: H (Hydrogen), He (Helium), C (Carbon), O (Oxygen) โœ…
5. **โš ๏ธ Elements to avoid**: Na (Sodium), Fe (Iron), K (Potassium) โŒ

## โš™๏ธ Game Mechanics

- ๐ŸŸ Fish spawn randomly with different elements
- ๐Ÿช Hook must touch the fish to catch it
- ๐Ÿšค Bring caught fish back to the boat (hook above boat level) to score
- ๐Ÿƒโ€โ™‚๏ธ Game speed increases as you progress
- โฑ๏ธ 60 seconds time limit per level

## โญ Star System

- โญ 1 Star: 175+ points
- โญโญ 2 Stars: 325+ points
- โญโญโญ 3 Stars: 475+ points

## ๐Ÿ“ File Structure

```
AtomicFisher/
โ”œโ”€โ”€ ๐ŸŽฎ AtomicFisher.mlapp # Main game application
โ””โ”€โ”€ ๐Ÿ–ผ๏ธ Images/ # Game assets
โ”œโ”€โ”€ ๐ŸŒ… Backgrounds/ # Background images
โ”œโ”€โ”€ โš›๏ธ Elements/ # Chemical element icons
โ”œโ”€โ”€ ๐ŸŸ Fish/ # Fish sprites and animations
โ”œโ”€โ”€ ๐Ÿšค Player/ # Boat, hook, and rope graphics
โ””โ”€โ”€ โ–ถ๏ธ play.gif # UI elements
```

## ๐ŸŽ“ Educational Value

This game is designed for KS3 (Key Stage 3) science curriculum and helps students:
- ๐Ÿ” Identify non-metal elements
- ๐Ÿ“š Learn chemical symbols
- ๐Ÿง  Understand the difference between metals and non-metals
- โšก Develop quick recognition of periodic table elements

## ๐Ÿ“ˆ Version History

- **๐Ÿ†• Version 2**: Current release with improved gameplay and MATLAB 2024b compatibility
- **๐Ÿ“ Version 1**: Initial release

## ๐Ÿ‘จโ€๐Ÿ’ป Author

**Adil Wahab Bhatti**
- ๐Ÿซ University of Warwick, School of Engineering
- ๐Ÿ“š [ES2D7: Systems and Software Engineering Principles (23/24)](https://courses.warwick.ac.uk/modules/2023/ES2D7-15)

## ๐Ÿ”ง Troubleshooting

- **โŒ Game won't start**: Ensure you're using MATLAB 2024b or compatible version
- **๐Ÿ–ผ๏ธ Images not loading**: Check that the Images folder is in the same directory as the .mlapp file
- **โš ๏ธ Performance issues**: Close other MATLAB applications and ensure sufficient system resources

## ๐Ÿค Contributing

This is an educational project. If you'd like to suggest improvements or report bugs, please open an issue on GitHub! ๐Ÿ’ก

## ๐Ÿ“œ Licence

MIT Licence โ€” see the [LICENCE](LICENSE) file for details. โš–๏ธ

---

*โ“ For questions or issues related to this educational project, please refer to the original coursework documentation or contact the development team through appropriate academic channels.*