Summer of Code/2015/TurtleBot

From Sugar Labs
< Summer of Code‎ | 2015
Revision as of 07:25, 18 March 2015 by Andrej T (talk | contribs) (Created page with "===About You=== * What is your name? Andrej Trajchevski * What is your email address? andrejtrajchevski@gmail.com * What is your Sugar Labs wiki username? Andrej_T * What...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

About You

  • What is your name?

Andrej Trajchevski

  • What is your email address?

andrejtrajchevski@gmail.com

  • What is your Sugar Labs wiki username?

Andrej_T

  • What is your IRC nickname on irc.freenode.net?

Andrej_T

  • What is your first language?

Macedonian

  • Where are you located, and what hours (UTC) do you tend to work?

Located in Macedonia, UTC+01; Ideally, from 10:00 to 18:00 local time

  • Have you participated in an open-source project before? If so, please send us URLs to your profile pages for those projects, or some other demonstration of the work that you have done in open-source. If not, why do you want to work on an open-source project this summer?

A good part of my open-source contributions can be found on my Github page: https://github.com/whoeverest

Most of them are pet projects I started, or small contributions I made on projects started by other people in our local hackerspace KIKA

This summer I'd like to work on a project that is used by more than 10 people, something more meaningful.

About your project

  • What is the name of your project?

TurtleBot (codename, change it? maybe it's not about turtles)

  • Describe your project in 10-20 sentences. What are you making? Who are you making it for, and why do they need it? What technologies (programming languages, etc.) will you be using?

I would like to create a game that's inspired by LightBot, a really popular game that teaches you basic programming concepts. Basically, you're a robot (or a turtle) on a grid, and the objective is to "activate" a number of cells on the grid. You do that by dragging and dropping commands in slots: forward, turn left, jump etc. As the game progresses, writing linear procedures is no longer enough, so you're expected to extract common commands to a function or call a function recursively in order to create a loop.

The game is intended for kids that want to learn programming. More specifically, kids that no longer find Spirolaterals to be challenging, but aren't ready for the complexity of Turtle Blocks yet.

The project will include a level editor, so members of the Sugar community will be able to create and share challenges with their friends.

It will be written in JavaScript and rendered using HTML canvas. I'll probably use some lightweight library for isometric drawing.

  • What is the timeline for development of your project? The Summer of Code work period is from May 19 - August 22; tell us what you will be working on each week. (As the summer goes on, you and your mentor will adjust your schedule, but it's good to have a plan at the beginning so you have an idea of where you're headed.) Note that you should probably plan to have something "working and 90% done" by the midterm evaluation (27 June); the last steps always take longer than you think, and we will consider cancelling projects which are not mostly working by then.

<write it>

  • Convince us, in 5-15 sentences, that you will be able to successfully complete your project in the timeline you have described. This is usually where people describe their past experiences, credentials, prior projects, schoolwork, and that sort of thing, but be creative. Link to prior work or other resources as relevant.

For the past year I've been developing games for gambit.com as a part of a small team. I worked on several major features, including writing Dominoes and Rock-Paper-Scissors from scratch (both backend and frontend) and writing a physics engine for billiards (based on computational pool papers, not live yet).

3 years ago I successfully completed my first GSOC project for Orange, a data-mining software. I wrote widgets that read images, then processed them and made their pixel data available for further statistical analysis by the rest of the software.

I'm also a member of Free Software Macedonia and I help run the first hackerspace in MK, which has been active for over 8 years. During the period I've been a member there, I've learned a lot, organized programming/hardware courses and got familiar with Linux. Here's me talking about 3d printing. :-)

I'm at the end of my studies, finishing with GPA 9.2/10

You and the community

  • If your project is successfully completed, what will its impact be on the Sugar Labs community? Give 3 answers, each 1-3 paragraphs in length. The first one should be yours. The other two should be answers from members of the Sugar Labs community, at least one of whom should be a Sugar Labs GSoC mentor. Provide email contact information for non-GSoC mentors.
  • What will you do if you get stuck on your project and your mentor isn't around?
  • How do you propose you will be keeping the community informed of your progress and any problems or questions you might have over the course of the project?

Miscellaneous

  • We want to make sure that you can set up a development environment before the summer starts. Please do one of the following:
    • Send us a link to a screenshot of your Sugar development environment with the following modification: when you hover over the XO-person icon in the middle of Home view, the drop-down text should have your email in place of "logout".
    • Send us a link to a pull request or merge request you have made on a Sugar or Sugar activity bug.
It's normal to need assistance with this, so please visit our IRC channel, #sugar on irc.freenode.net, and ask for help.
  • Describe a great learning experience you had as a child.
  • Is there anything else we should have asked you or anything else that we should know that might make us like you or your project more?

Please include the category tag at the bottom of your page the Catagory tag for 2015 GSoC applications.