Skip to content

katiearriagam/Marbles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Marbles

Marbles is an interactive visual tool that aims to help users get started in the world of coding. It allows users to create and animate their own stories by adding assets to the canvas view and control their behavior using the code blocks in the code view of the application.

Demo

Watch a very improvised demo by clicking on the image below.

Click on the image to watch a demo :)

Current features

The beta version of the graphic IO compiler is currently deployed as a Universal Windows Platform app. The published version of Marbles includes the following features:

  • Creating assets in canvas
  • Declaring variables
  • Creating and calling user-defined functions
  • Performing assignations
  • Evaluating arithmetic and boolean expressions
  • Using conditionals (if)
  • Using loops (for, while)

Contributing

So you want to contribute to Marbles? Awesome! We'd love to see your PRs for this project. That said, not every PR will necessarily be merged. Here's a few things we take into account:

  • Does it extend functionality?
  • Does it improve the user experience?
  • Does it keep it simple and kid-friendly?
  • Does it fix a bug?
  • Does it break anything?
  • Does it help the current or new platforms work better with the app?
  • Is it necessary?
  • Is the code maintainable?

Please write good code!

Some of the attributes we look for in 'good' code are:

  • Readability
  • Mantainability
  • Scalability
  • Organized in an adequate path
  • ... :)

C# and XAML conventions

Marbles is written in C# and XAML. If you wish to contribute with the projects, please, make sure you are familiar with the coding standards for these languages.

Here are some resources to help you with this:

C# Coding Conventions

XAML Coding Guidelines

What can I contribute with?

Generally, any new feature/fix/idea is welcome! But if you want broader details, here are some things we'd love to improve in further versions:

UX/UI

If you have any suggestions on how to improve the user experience (make it simpler, more it intuitive, improve the usage learning curve, etc.), we'd love for hear your feedback! You can open a new issue or send a PR with your suggested changes in the form of code, documentation, designs. All well-intended contributions are welcome and highly appreciated!

Extended functionality

Here are a few things that we'd love to add to Marbles Studio in further versions that we did not include in the current version due to time constraints:

  • Arrays/Vectors
  • Void user-defined functions
  • ELSE block in the IF block (stretch-goal: ELSEIF)

These are some options but you might have some cool ideas too and we'd love to see them.

If you have any more questions, do let us know. :)

Crediting others

Most of the assets used are from the open-source icon site flaticon and were published by Freepik and Smashicons.