Skip to content

Commit 28645b0

Browse files
authored
GSoC 25 week 11 update by Bishoy Wadea (#428)
1 parent 6cd3336 commit 28645b0

File tree

1 file changed

+90
-0
lines changed

1 file changed

+90
-0
lines changed
Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
---
2+
title: "GSoC '25 Week 11 Update by Bishoy Wadea"
3+
excerpt: "Rubik's Cube - 3D Puzzle Challenge"
4+
category: "DEVELOPER NEWS"
5+
date: "2025-08-28"
6+
slug: "gsoc-25-BishoyWadea-week11"
7+
author: "@/constants/MarkdownFiles/authors/bishoy-wadea.md"
8+
tags: "gsoc25,sugarlabs,week11,BishoyWadea"
9+
image: "assets/Images/GSOC.webp"
10+
---
11+
12+
# Week 11 Progress Report by Bishoy Wadea
13+
14+
**Project:** [Rubik's Cube](https://github.com/Bishoywadea/Rubik-s-Cube)
15+
**Mentors:** [Ibiam Chihurumnaya](https://github.com/chimosky)
16+
**Assisting Mentor:** [Walter Bender](https://github.com/walterbender/)
17+
**Reporting Period:** 2025-08-21 – 2025-08-28
18+
19+
---
20+
21+
## Goals for This Week
22+
23+
- **Complete Magic Number Grid features**
24+
- **Develop new Sugar activity: Rubik's Cube with 3D graphics**
25+
- **Implement intuitive controls for cube manipulation**
26+
27+
---
28+
29+
## About Rubik's Cube
30+
31+
Rubik's Cube is a 3D puzzle game that brings the classic cube-solving challenge to Sugar. This activity helps develop spatial reasoning skills as players rotate faces and manipulate the cube to get each side showing only one color.
32+
33+
---
34+
35+
## Achievements
36+
37+
### Rubik's Cube Development
38+
39+
- **Initial Activity Setup**
40+
Created Sugar activity framework with proper manifest and icon
41+
[Commit](https://github.com/Bishoywadea/Rubik-s-Cube/commit/20f3f7d84889d4210a9319a627c13bac7d123e22)
42+
43+
- **Core Game Logic**
44+
Implemented Rubik's Cube mechanics with accurate rotation algorithms
45+
[Commit](https://github.com/Bishoywadea/Rubik-s-Cube/commit/ca45ea368009342317be967fd2f41ab012619ca1)
46+
47+
- **3D Graphics Integration**
48+
Added OpenGL setup for 3D rendering within Sugar environment
49+
[Commit](https://github.com/Bishoywadea/Rubik-s-Cube/commit/b86e788a9c732163308f9c2e11bb6ac8afd09187)
50+
51+
![Rubik's Cube Interface](https://raw.githubusercontent.com/Bishoywadea/Rubik-s-Cube/refs/heads/main/screen_shots/01.png)
52+
*3D Rubik's Cube with interactive controls*
53+
54+
![Gameplay Example](https://raw.githubusercontent.com/Bishoywadea/Rubik-s-Cube/refs/heads/main/screen_shots/02.png)
55+
*Cube mid-solve showing different colored faces*
56+
57+
---
58+
59+
## Challenges & Solutions
60+
61+
- **Challenge:** Integrating 3D graphics (OpenGL) within Sugar's GTK+ framework while maintaining compatibility across different hardware.
62+
63+
- **Solution:**
64+
- Used PyOpenGL with careful context management
65+
- Implemented fallback rendering for systems with limited GPU support
66+
- Created custom event handling to bridge GTK and OpenGL interactions
67+
68+
- **Challenge:** Making 3D cube manipulation intuitive for young users unfamiliar with Rubik's Cube notation.
69+
70+
- **Solution:**
71+
- Designed visual toolbar with clear icons for each move
72+
- Implemented mouse drag rotation for natural cube exploration
73+
- Added keyboard shortcuts matching standard cube notation
74+
75+
---
76+
77+
## Key Learnings
78+
79+
- Gained deep understanding of 3D graphics programming within constrained environments
80+
- Learned to implement complex rotation algorithms and quaternion mathematics
81+
- Developed skills in creating hybrid 2D/3D interfaces that remain user-friendly
82+
83+
---
84+
85+
## Next Week's Roadmap
86+
87+
- Begin development of new Sugar activity: **Sequence Wizard**
88+
- Design pattern recognition and sequence completion challenges
89+
- Implement various sequence types (arithmetic, geometric, visual patterns)
90+
- Create progressive difficulty system for different age groups

0 commit comments

Comments
 (0)