A fun educational fishing game 🎮 designed for KS3 science students to learn about chemical elements and the periodic table 🧪⚛️
🎬 Watch the full game presentation and demo on YouTube! This video showcases Atomicfisher's gameplay, educational features, and development journey.
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! 🎯
- 🎓 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
- MATLAB 2024b (may not work on previous versions) 🔧
- MATLAB App Designer 🛠️
- 📥 Download or clone this repository
- 📁 Ensure all files are in the same directory, maintaining the folder structure
- 🔧 Open MATLAB 2024b
- 📂 Navigate to the project folder
- 🖱️ Double-click
AtomicFisher.mlapp
to open in App Designer ▶️ Click the "Run" button in App Designer, or- ⌨️ Type
AtomicFisher
in the MATLAB command window
- 🎯 Objective: Catch only the fish carrying non-metal elements
- 🎮 Controls:
- ⬅️➡️⬆️⬇️ Arrow keys: Move the fishing hook
- 🚀 Spacebar: Release/catch the hooked fish
- 🖱️ Click background: Pause the game
- 🏆 Scoring:
- ➕100 points for each correct catch ✅
- ➖50 points for catching wrong elements ❌
- 🎯 Elements to catch: H (Hydrogen), He (Helium), C (Carbon), O (Oxygen) ✅
⚠️ Elements to avoid: Na (Sodium), Fe (Iron), K (Potassium) ❌
- 🐟 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
- ⭐ 1 Star: 175+ points
- ⭐⭐ 2 Stars: 325+ points
- ⭐⭐⭐ 3 Stars: 475+ points
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
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 2: Current release with improved gameplay and MATLAB 2024b compatibility
- 📝 Version 1: Initial release
Adil Wahab Bhatti
- 🏫 University of Warwick, School of Engineering
- 📚 ES2D7: Systems and Software Engineering Principles (23/24)
- ❌ 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
This is an educational project. If you'd like to suggest improvements or report bugs, please open an issue on GitHub! 💡
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.