Jump to content

GSoC/2021/StatusReports/HarshKumar: Difference between revisions

From KDE Community Wiki
Hadron (talk | contribs)
Hadron (talk | contribs)
Line 21: Line 21:
# Oware against a friend
# Oware against a friend


== Week Wise Report ==
=== Week Wise Report ===


==== Week 1 ====
==== Week 1 ====
Line 28: Line 28:
[[File:PathLayout.gif|frame|center|Layout for Encode / Decode activites]]
[[File:PathLayout.gif|frame|center|Layout for Encode / Decode activites]]


=== Week 2 ===
==== Week 2 ====


I added assets to the game. I added Tux to the game. I added the functionality to move Tux, using the keyboard as well as the on-screen buttons. Tux could now move freely on the grid. I added some basic datasets to test the movement of Tux.
I added assets to the game. I added Tux to the game. I added the functionality to move Tux, using the keyboard as well as the on-screen buttons. Tux could now move freely on the grid. I added some basic datasets to test the movement of Tux.


=== Week 3 ===
==== Week 3 ====


On feedback from my mentor Emmanuel Charruau, I added multiple other obstacles to the activity. These obstacles were trees, bushes, ponds, rocks, etc. These obstacles were used only for decorative purposes. The activity was now in working condition.
On feedback from my mentor Emmanuel Charruau, I added multiple other obstacles to the activity. These obstacles were trees, bushes, ponds, rocks, etc. These obstacles were used only for decorative purposes. The activity was now in working condition.
Line 38: Line 38:
[[File:Encode.gif|frame|center|Demonstration of Encode activity]]
[[File:Encode.gif|frame|center|Demonstration of Encode activity]]


=== Week 4 ===
==== Week 4 ====


I started working on different sub-activities for path activities. I made the decode mode for path activities. Also, I worked on relative mode for both the sub-activities. So, now 4 activities were playable.
I started working on different sub-activities for path activities. I made the decode mode for path activities. Also, I worked on relative mode for both the sub-activities. So, now 4 activities were playable.
Line 46: Line 46:
[[File:Decode relative.gif|frame|Demonstration of Decode Relative activity]]
[[File:Decode relative.gif|frame|Demonstration of Decode Relative activity]]


=== Week 5 ===
==== Week 5 ====


I worked on making the layout responsive on mobile and other small screen devices. I worked on improvements suggested by mentors. The code was cleaned up and made ready for being merged to the main branch.
I worked on making the layout responsive on mobile and other small screen devices. I worked on improvements suggested by mentors. The code was cleaned up and made ready for being merged to the main branch.


=== Week 6 ===
==== Week 6 ====


I added multiple datasets for all the activities. I added 7 maps for each of the activities. These activities varied in size and difficulty level. I added the support for invisible tiles, which enabled creating maps of random shapes.
I added multiple datasets for all the activities. I added 7 maps for each of the activities. These activities varied in size and difficulty level. I added the support for invisible tiles, which enabled creating maps of random shapes.

Revision as of 16:02, 7 August 2021

GCompris: Adding new activities

GCompris is an educational software for kids in the age group 2-10 years old. It has more than 150 activities. This software has a huge userbase, with over 50K+ downloads on the Google Play store alone. Apart from this, it is available on Windows store and apt and snap for Linux.

The objective for GSoC '21 projects in GCompris is to add new activities. I proposed adding two activities to the project. I'm working on adding the following activities:

= Path (T14159)

In this activity, the user has to follow a pre-defined path in a grid and reach the target. This activity is suitable for kids above 6 years of age.

This has four different sub-activities:

  1. Encode
  2. Encode Relative
  3. Decode
  4. Decode Relative

= Oware (T1537)

It is a traditional board game played in many parts of Africa. I've explained the rules of the game in my proposal.

This further contains two sub-activities:

  1. Oware against Tux
  2. Oware against a friend

Week Wise Report

Week 1

I worked on building a solid base for Encode / Decode activities in the first week. I made a flexible layout. The grid was made using a GridLayout, and a ListModel was used to describe the data for the grid. Code was kept modular, for better readability and flexibility. One of the major challenges that I am facing right now is to make the layout responsive, and make it adapt to the screen size for vertical devices. One of my mentors Timothee Giet suggested using states for this, and display the layout according to the state variable.

Layout for Encode / Decode activites

Week 2

I added assets to the game. I added Tux to the game. I added the functionality to move Tux, using the keyboard as well as the on-screen buttons. Tux could now move freely on the grid. I added some basic datasets to test the movement of Tux.

Week 3

On feedback from my mentor Emmanuel Charruau, I added multiple other obstacles to the activity. These obstacles were trees, bushes, ponds, rocks, etc. These obstacles were used only for decorative purposes. The activity was now in working condition.

Demonstration of Encode activity

Week 4

I started working on different sub-activities for path activities. I made the decode mode for path activities. Also, I worked on relative mode for both the sub-activities. So, now 4 activities were playable.

Demonstration of Encode Relative activity
Demonstration of Decode activity
Demonstration of Decode Relative activity

Week 5

I worked on making the layout responsive on mobile and other small screen devices. I worked on improvements suggested by mentors. The code was cleaned up and made ready for being merged to the main branch.

Week 6

I added multiple datasets for all the activities. I added 7 maps for each of the activities. These activities varied in size and difficulty level. I added the support for invisible tiles, which enabled creating maps of random shapes.