Есть замкнутый многоугольник внутри котрого находится шар. Пользователь может "пинать" шар с помощью мыши, шар должен двигаться, отталкиваться от стенок исходя из физической модели данного мира.
Физическая модель ограничивается только вашей фантазией. Можно сделать простую - "угол падения равен углу отражения" без учета трения и жесткости тел.
Стенки можно сдлеать как в виде замкнутого контура так и ввиде отдельных объектов (проще).
Можно воспользоваться какой-нибудь из Canvas/SVG библиотек например http://fabricjs.com/ или http://raphaeljs.com/ все они имеют возможность менять размеры объектов "на лету" http://fabricjs.com/customization/ так, что можно создать какой-нибудь редактор или встроить редактирование, чтобы упростить отладку.
Контур лучше всего хранить в JSON.
-- Задание на интерес. На него не накладываются временные рамки.