@startuml GameEngine package Game { class Game { + name: String + levels[]: Level + currentLevel: Level + gameJSON: String + SetLevel(Level lvl) } class Level { + name: String + gameObjects[]: gameObject + load() + start() + draw() + update() + destroy(int id) } class GameObject { + id: int + x: double + y: double + width: double + height: double + img: Image + layer: int + load() + unload() + start() + draw() + update() } } package Frontend { } package Backend { } package Builder { } json MainGameJSON{ "name":"GameName", "levels": [{ "name":"Level1", "objects": ["object1", { "name":"gameObject2", "X":0, "Y":0, "Width":100, "Height":100, "imgSRC":"Image", "layer":1 } ] }, "Level2"] } @enduml