http://vrld.github.io/hump/ seems to have some good examples for hump. If you wondered about buttons and stuff you would probably want to create a table of buttons like. buttons = { { n="Play", -- name x=300, y=250, w=200, -- width h=100, -- height f=function() Gamestate.switch(game) end, ...