遊戲迴圈
完全可以將 PICO-8 用作互動式 shell ,但你可能想要進入遊戲迴圈。為此,你必須至少建立一個這些回撥函式:
_update()_update60()( v0.1.8 之後 )_draw()
最小的遊戲可能只是在螢幕上畫出一些東西:
function _draw()
  cls()
  print("a winner is you")
end
如果定義 _update60(),則遊戲迴圈嘗試以 60fps 執行並忽略 update()(以 30fps 執行)。在 _draw() 之前呼叫更新函式。如果系統檢測到丟幀,則會每隔一幀跳過繪製功能,因此最好將遊戲邏輯和播放器輸入保留在更新功能中:
function _init()
  x = 63
  y = 63
  cls()  
end
function _update()
  local dx = 0 dy = 0
  if (btn(0)) dx-=1
  if (btn(1)) dx+=1 
  if (btn(2)) dy-=1 
  if (btn(3)) dy+=1 
  x+=dx
  y+=dy
  x%=128
  y%=128
end
function _draw()
  pset(x,y)
end
嚴格來說,_init() 函式是可選的,因為在啟動時執行任何函式之外的命令。但是,這是一種將遊戲重置為初始條件而無需重啟墨盒的方便方法:
if (btn(4)) _init()