Typing Turtle

From OLPC
Revision as of 07:25, 15 April 2008 by Mobin (talk | contribs)
Jump to: navigation, search

SYNOPSIS

The project is to implement a typing tutor in OLPC. The tutor will have a practice session, "Fish Catcher" game, support for all XO keymaps and written languages, a progress tracking graphs and the ability to locally customize the program. I am very familiar with tuxtype, typing tutor. So I will consider tuxtype as a case study and will develop Typing Turtle.


PROJECT

I will be developing a new typing tutor from scratch. I will use SDL(Simple direct Media Layer) Library.

This project will have mainly three parts.

First and foremost any typing tutor should have a good practice session. For small children it is very necessary to familiarize with the keyboard and keys with the help practice session. Image of a keyboard will be shown in the background. And also the key to be pressed will be highlighted on the corresponding finger of the hand image which shown with the keyboard image.

In the second part I will implement a tutor game. The game called "Fish Catcher" has a turtle waiting to catch fishes falling through the screen. To catch a fish the user has to press the corresponding character shown on the surface of the fish. This game will have 15 levels.

I will add support for all XO keymaps and written languages, a progress tracking graphs and the ability to locally customize the program as the third part of my project.

In the customization piece I am planning to add the following options.

1. Location
2. Fish per second
3. Winning Score
4. Maximum Life
5. Speed of fish
6. Sound


In the main menus we will be having menus like Practice, Fish Catcher, Keymap, Graph, Customize.

If the user selects Customize menu, he will be getting another set of menus like

1. Location
2. Fish per second
3. Winning Score
4. Maximum life
5. Speed of fish
6. Sound

Each customization options works like this

1. Place

We will be having four places like Pond, River, Lake, Sea. On selecting each place the corresponding background image in the game will change. And the size of fishes in the Fish Catcher game will also change. For pond there will be small fishes and for river the size increases and new fish also comes to action. And if it is place sea, then there will be big big fishes fall through the screen.

2. Fish per Second.

This will help the user to change the number of fishes falling in a second. The user can select 1 to 10 fishes per second.

3. Winning Score.

This is to change the winning score of each level in the Fish Catcher game. There will be options for 10, 15, 20, 25. ( Score will be decreasing by one if the turtle can't catch the fish before it reaches the bottom.)

4. Maximum Life.

This is to count the number of fishes escaped from the turtle. It will be 0 to 10. If it is 10 the user can make maximum of 10 wrong plays in a level. If he/she exceeds the limit he/she has to play the same level again.

5. Speed of Fish.

The user can change fish's speed. There we will be having 15 speed levels, each corresponding to each levels in the Fish Catcher game. If the user selects speed of fish as 5, then the fish catcher game's default level will change to level 5.

6. Sound.

User can pick any .waw files from his collection and can replace the default music file with the new one.


DELIVERABLES

PART 1. Practice section

PART 2. "Fish Catcher" game.

PART 3. Additional Features

i) Support for all XO keymaps and written languages.

ii) A progress tracking graphs.

iii) Features to locally customize the program.


PROJECT SCHEDULE

April 14,2008: Start of the project. Start discussing with OLPC developers about the project and detailed study of sugar environment and SDL library will be undertaken.


May 26,2008: Start Part 1 of the project


June 20,2008: Finish the practice section. Start revising this feature and fixing bugs.


June 25,2008: Start PART 2 of the project.


July 10,2008 : Finish "fish catcher" game. Start revising these features and fixing bugs.


July 15,2008: Start work on PART 3 of the project.


August 5,2008: Finish PART 3 of the project. Start Testing and fixing bugs considering the feed back from the OLPC developers.


August 18,2008: Complete the project


ABOUT ME

First name:‭ Mobin Name:‭ Mobin Mohan Email:‭ mobinmohan@gmail.com Time zone:‭ ‬GMT+5:30 Age:21 Education:‭ ‬Computer Science Engineering Blog URL:‭ mobin-m.livejournal.com

I Mobin. M, am an eighth semester Computer Science & Engineering student from kerala, India. I am a skilled programmer in C/C++, Java, Python, and also very familiar with SVN version control system. I have been contributing actively in the free software community for the last three years. I am one of the developers of tuxtype[1]. I have added Indic language support in tuxtype as my GSoC 2007 project for swathanthram malayalam computing[2]. Indic language support in tuxtype [3] backed foss India award also[4]. I am quite familiar with tuxtype development team, the source code and working in the repository. This experience will help me to start working on any FOSS project. So, I am confident that I will succeed in bringing about such a typing tutor in OLPC.

[1] https://alioth.debian.org/users/mobin-guest [2] http://code.google.com/soc/2007/smc/about.html [3] http://www.openitis.com/openitis/project.php [4] http://www.efytimes.com/efytimes/24867/news.html