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.
Watch a very improvised demo by clicking on the image below.
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)
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?
Some of the attributes we look for in 'good' code are:
- Readability
- Mantainability
- Scalability
- Organized in an adequate path
- ... :)
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:
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:
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!
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. :)
Most of the assets used are from the open-source icon site flaticon and were published by Freepik and Smashicons.