|
| 1 | +--- |
| 2 | +title: "GSoC ’25 Week 02 Update by Bishoy Wadea" |
| 3 | +excerpt: "Broken Calculator" |
| 4 | +category: "DEVELOPER NEWS" |
| 5 | +date: "2025-06-15" |
| 6 | +slug: "gsoc-25-BishoyWadea-week01" |
| 7 | +author: "@/constants/MarkdownFiles/authors/bishoy-wadea.md" |
| 8 | +tags: "gsoc25,sugarlabs,week02,BishoyWadea" |
| 9 | +image: "assets/Images/GSOC.png" |
| 10 | +--- |
| 11 | + |
| 12 | +<!-- markdownlint-disable --> |
| 13 | + |
| 14 | +# Week 01 Progress Report by Bishoy Wadea |
| 15 | + |
| 16 | +**Project:** [Broken Calculator](https://github.com/Bishoywadea/Broken-Calculator) |
| 17 | +**Mentors:** [Ibiam Chihurumnaya](https://github.com/chimosky) |
| 18 | +**Assisting Mentors:** [Walter Bender](https://github.com/walterbender/) |
| 19 | +**Reporting Period:** 2025-06-08 - 2025-06-15 |
| 20 | + |
| 21 | +--- |
| 22 | + |
| 23 | +## Goals for This Week |
| 24 | + |
| 25 | +- **Goal 1:** Define game features and core mechanics. |
| 26 | +- **Goal 2:** Design and plan a child-friendly, interactive game UI. |
| 27 | +- **Goal 3:** Implement the core game logic. |
| 28 | + |
| 29 | +--- |
| 30 | + |
| 31 | +## This Week’s Achievements – *Broken Calculator Game* |
| 32 | + |
| 33 | +1. **Initial Setup & Core Functionality** |
| 34 | + - Added starter files and project structure. |
| 35 | + - Implemented basic game manager functionality to handle state, inputs, and equation validation. |
| 36 | + - commit: [Initial Commit](https://github.com/Bishoywadea/Broken-Calculator/commit/9615fe64467e538e4b2d3df2ba6a0059177d31a7) |
| 37 | + |
| 38 | +2. **UI Foundation and Target Display** |
| 39 | + - Created basic UI layout with the target number display. |
| 40 | + - Integrated equation panel and on-screen keyboard for child-friendly input. |
| 41 | + - commit: [UI Target + Equation Panel](https://github.com/Bishoywadea/Broken-Calculator/commit/fb52777a698d0846b3012140a796024edef5e577) |
| 42 | + |
| 43 | +3. **Button Logic and Interaction** |
| 44 | + - Added calculator buttons and implemented event handling logic. |
| 45 | + - Created class-based structure for reusable buttons and interactions. |
| 46 | + - commit: [Calc Buttons Logic](https://github.com/Bishoywadea/Broken-Calculator/commit/f5201b9cf17c37fb70502fda55fd190b2143bca2) |
| 47 | + |
| 48 | +4. **Gameplay Enhancements** |
| 49 | + - Added scoring system and validation logic for player input. |
| 50 | + - Implemented completion message upon solving the puzzle correctly. |
| 51 | + - commit: [Game Logic & Completion](https://github.com/Bishoywadea/Broken-Calculator/commit/2f985799faab59d590adae38b349c20dc0b432f9) |
| 52 | + |
| 53 | +5. **Visual & UX Improvements** |
| 54 | + - Introduced dark theme palette for better visual experience. |
| 55 | + - Added menu buttons, teacher image, and stars animation for child appeal. |
| 56 | + - Relocated help button for better accessibility. |
| 57 | + - commit: [UI/UX Polish](https://github.com/Bishoywadea/Broken-Calculator/commit/c97ade0610d606672a99522b944ed4ec24018c02) |
| 58 | + |
| 59 | +--- |
| 60 | + |
| 61 | +## Challenges & Solutions |
| 62 | + |
| 63 | +- **Challenge:** Handling math equation input using only a restricted set of digits/operators. |
| 64 | + **Solution:** Wrote logic to dynamically validate inputs and compute results with constraints. |
| 65 | + |
| 66 | +- **Challenge:** Making the interface engaging for children. |
| 67 | + **Solution:** Added animations, character images, and accessible visual elements. |
| 68 | + |
| 69 | +--- |
| 70 | + |
| 71 | +## Key Learnings |
| 72 | + |
| 73 | +- Gained proficiency in using **Pygame** for interactive game development. |
| 74 | +- Improved understanding of **map projections** and **GeoJSON** parsing. |
| 75 | +- Learned about structuring a project for open-source collaboration (commits, PRs, README, file organization). |
| 76 | +- Practiced test-driven logic development and clean UI design tailored for children. |
| 77 | + |
| 78 | +--- |
| 79 | + |
| 80 | +## Key Learnings |
| 81 | + |
| 82 | +- Enhanced skills in **Pygame** UI design and interaction patterns. |
| 83 | +- Practiced breaking down UI into components (buttons, input panels, layout regions). |
| 84 | +- Understood how to make gameplay intuitive without written instructions—especially for kids. |
| 85 | + |
| 86 | +## Next Week’s Roadmap |
| 87 | + |
| 88 | +### Soma Cubes Game: Initial Insights & Exploration |
| 89 | +- Begin designing core mechanics and gameplay flow for a Soma Cubes puzzle activity. |
| 90 | +- Prototype user interactions: piece manipulation, rotation, and snapping into place. |
| 91 | +- Investigate how to integrate puzzle constraints and feedback for users. |
| 92 | +- Sketch out UI layout and controls tailored for children. |
| 93 | + |
| 94 | +--- |
| 95 | + |
| 96 | +### Fix Open Issues |
| 97 | + |
| 98 | +#### Four-Color Map Activity |
| 99 | +- **[#1 Move buttons on the activity canvas to the activity toolbar](https://github.com/Bishoywadea/Four-Color-Map/issues/1)** |
| 100 | + Adjust UI so that control buttons (e.g., Undo, Help, Menu) are relocated from the map canvas into a consistent toolbar above or beside it. |
| 101 | +- **[#2 Sugarize activity icon](https://github.com/Bishoywadea/Four-Color-Map/issues/2)** |
| 102 | + Update the icon to conform with Sugar activity design standards—ensure correct dimensions, transparency, and consistency with Sugar's visual language. |
| 103 | + |
| 104 | +#### Broken Calculator |
| 105 | +- **[#1 Make calculator fill activity canvas](https://github.com/Bishoywadea/Broken-Calculator/issues/1)** |
| 106 | + Refactor layout to scale the calculator panel to full canvas size at any screen resolution or window rescaling. |
| 107 | +- **[#2 Improve UI](https://github.com/Bishoywadea/Broken-Calculator/issues/2)** |
| 108 | + Polish button styles, spacing, theme consistency (light/dark), and overall visual clarity based on user feedback. |
| 109 | + |
| 110 | +--- |
0 commit comments