@startuml package Game { class Game { + name: String + levels[]: Level + currentLevel: Level + changeLevel(Level lvl) } class Level { + name: String + gameObjects[]: gameObject + load() + start() + draw() + update() } } package Frontend { } package Backend { } package Builder { } @enduml @startjson mainGame { "name":"GameName", "levels": ["Level1", "Level2"] } @endjson @startjson level1 { "name":"Level1", "objects": ["object1", { "name":"gameObject2", "X":0, "Y":0, "Width":100, "Height":100, "img":"Image", "layer":1, "load":"load()", "start":"start()", "update":"update()", "unload":"unload()" } ] } @endjson