1. W Draw o_draw:
GML
var i;
with(o_garnek) i += woda
draw_text(x,y,string(i/instance_number(o_garnek)))
Będzie przedstawiało na bieżąco średnią wody w garnkach. Niezbyt szybkie, ale nadaje się.
2. Zastanawiałem się kiedyś nad tym problemem, ale trzeba to zrobić tak, jak mówisz. W pierwszej klatce powtórki wszystkie zmienne, w następnych tylko te zmieniające się. Tak jest we właściwie każdej grze, np. killcam z CoD, demo z Quake'a, cofanie czasu w Timeshifcie.