Skip to content

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

License

Notifications You must be signed in to change notification settings

AdzCoder/AtomicFisher

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎣 AtomicFisher

MATLAB Version Educational License Version

A fun educational fishing game 🎮 designed for KS3 science students to learn about chemical elements and the periodic table 🧪⚛️

🎥 Demo & Presentation

AtomicFisher Game Demo

🎬 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

🔧 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 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.