Code Monkey home page Code Monkey logo

robotopia's Introduction

๐Ÿค– Robotopia

built with choo v4 GitHub license

Robotopia is a browser based programming environment for kids and young adults. The goal is to introduce kids to basic programming concepts with cute little robots.

Robotopia Editor

In Action

in action

Features

  • Graphical programming environment
    • Blockly code editor
    • Game preview
  • Tutorials to introduce programming basics
    • Commands
    • Conditions
    • Loops
    • Events
    • Basic arithmetic logic
  • Competitive mode
    • Client editor to create bots
    • Presenter to present robot competition on a central monitor
    • p2p connection between clients and presenter
    • 1v1 mode
  • Programmable robots
    • Movement
    • Pathfinding
    • Collecting Resources
    • Place markers
    • React to events
  • Robot script runtime
    • Scriptable with JavaScript
    • Roundbased execution of robot scripts
    • Events

How you could use this

Here is a short guide to get you started if you're interested in using our tool to organize your own coding events.

What you'll need

  • Around 1,5h of time
  • A Computer with a current browser for each kid
  • A projector or big screen to display the competition
  • Tutors who can help the kids if they have questions,

Note: We had the impression, that 1 supervisor can handle ~5 kids.

Agenda

1. Tutorials

Open https://robotopia-x.github.io on each computer. The kids should start with the tutorials to learn the basics of programming. Meanwhile, the tutors can help them if they struggle with a level or have general questions. After most kids have completed the tutorials you can begin with the competition.

Open http://robotopia-x.github.io/#presenter on the computer connected to the projector and pick a room name (the kids have to enter the same room name when opening the editor)

2. Program your robots

At this point, the supervisors will, together with their assigned kids, build a competitive program.
They'll show them the basic idea behind the program and make them ready to program their own robot swarm. Upload the current code by pressing the "Upload" button on the top right corner.

Note: You'll run the first competitive game with 2 of the build programs

3. Let the robots compete

You now have to get back to the presenter on the projector. Press the "Run" button and select two players that already committed their program.
You can now press the "Start" button to start the competition.

Note: The idea on this point is, that all people in the room now look at the game running on the projector.

4. Improving the programs

When the first few competitions are finished, the kids get time to improve their programs with things they noticed while battling.
Also, the kids who couldn't build their own program by now get the time and opportunity to commit their own program and compete with the others.

Note: This part of the event can be extended as long as the kids are interested.

Installation

If you want to install Robotopia on your local environment follow these instructions.

Precondition

Project Setup

First install budo globally first:

npm install -g budo

Then clone the project from github and install:

git clone https://github.com/robotopia-x/robotopia.git
cd robotopia
npm install

In the directory of robotopia call

npm start

A local web server will be started at http://localhost:9966/.

Configuration

In the file index.js there is configured the SignalingHub server for communication in presenter mode:

  • 'hubUrl: [serverURL]': Add there your prefered server url

Related

robotopia's People

Contributors

paulsonnentag avatar timgrossmann avatar h3rby7 avatar perguth avatar stritti avatar mblodorn avatar queicherius avatar

Stargazers

zhizao avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.