Start Now for Free!

Interactive Programming

# Hi there! Please edit me... function makeColumn(x) blockSize <- {1 Meter} # Try making each block half as large blocks <- round(rand(4, 7)) # We have 4 to 7 blocks in each column # Change it so there are between 10 and 15 for i in 1:blocks brick <- create() brick.setSides(blockSize, blockSize) brick.setPosition(x, i*blockSize-blockSize/2) end loop end function makeColumn({0 Meters}) makeColumn({1 Meter}) makeColumn({2 Meters}) # Please add one more column # Place it at a position of 3 Meters ball <- create() ball.setDiameter({2 Meters}) ball.setPosition({-3.5 Meters}, {8 Meters}) ball.setAngularVelocity({1000 Degrees/Second}) ball.setDensity({100 Kilograms/Meters^2}) # Try changing the ball's density # Make it 10 times as dense. Now 1/100 as dense

Modelian Features


Modelian includes a built-in physics engine. Control the size, shape and density of an object using units and watch objects interact realistically. Make an object springy and see it bounce around. Adjust the friction of a box and watch it quickly slide to a stop.



Modelian lets you define custom interactivity. Make your program respond to mouse clicks or key presses. Prompt the user for input and change the program based on what it receives.



Modelian includes a flexible programming language. Use a large library of built-in functions for manipulating the progam. Use logical control expressions to define the flow of your program. You can even define your own variables and functions.



Control the look of your program. Customize the color and appearance of your objects. Embed pictures and make them come alive in your program.



Modelian is completely free. And as a web-based program, you don't even need to download any software or install any plugins. Get started with Modelian now!


Share your programs with others. Create a publish link you can send to others which they can use to view and interact with your program. Since Modelian is web-based, they won't need to download any software to view the program.

Create a new program now

Want another Demo?

Help the space ship avoid the asteroids! Use your keyboard's arrow keys to control the ship. You have five seconds before the asteroids will start destroying the ship. If you want, you can also edit the code and rerun the program.

# Remove the force of gravity and bound the simulation space setGravity(0,0) setWalls(true, true, true, true) setBackgroundImage("galaxy") # Define the asteroids asteroids <- repeat(create("asteroid"), 10) asteroids.setImage("asteroid") asteroids.setSpring(1) map(asteroids, x.setPosition(rand()*10-5, rand()*7.5).setVelocity((rand()-.5)*3, (rand()-.5)*3)) # Define the space ship ship <- create() ship.setDiameter(1) ship.setImage("saucer") # Collision event handler ship.onStartCollision <- function(event) if time() > {5 Seconds} then if event.object.getClass() = "asteroid" then alert("Your spaceship has been destroyed!\n\nThis is a sad day for humanity.") ship.remove() end if end if end function # Key handler to move the ship onkeyDown(function(event) if event.key = 37 then # left arrow ship.ApplyImpulse(-2, 0) else if event.key = 38 then # up arrow ship.ApplyImpulse(0, 2) else if event.key = 39 then # right arrow ship.ApplyImpulse(2, 0) else if event.key = 40 then # down arrow ship.ApplyImpulse(0, -2) end if end function)

Check Out More Demos   Read the Code Reference

All contents Copyright 2013. All rights reserved. Created by Scott Fortmann-Roe.