From a7ca0c7a8fcb4bd2a20e195c57a82327df7a16bc Mon Sep 17 00:00:00 2001 From: equa Date: Sun, 25 Apr 2021 14:17:22 -0500 Subject: disable vsync and tighten controls a bit --- conf.lua | 2 +- lib/main.fnl | 29 +++++++++++++++++------------ lib/player.fnl | 4 ++-- 3 files changed, 20 insertions(+), 15 deletions(-) diff --git a/conf.lua b/conf.lua index 233df48..b2439e8 100644 --- a/conf.lua +++ b/conf.lua @@ -1,7 +1,7 @@ function love.conf(t) t.window.resizable = true t.window.title = "soko" - t.window.vsync = 1 + t.window.vsync = 0 t.window.msaa = 1 t.version = "11.3" end diff --git a/lib/main.fnl b/lib/main.fnl index bc3be16..8185f10 100644 --- a/lib/main.fnl +++ b/lib/main.fnl @@ -50,18 +50,23 @@ (table.remove messages i) (set v.ticks (- v.ticks 1)))))) -(fn love.update [] - (music.pre-update) - ;; TODO: make state changes actually possible - (match (pcall #(state.update the-state)) - (true next) (global the-state next) - (true nil) nil - (false x) (do - (print (.. "update: \n" x)) - (table.insert messages - {:ticks 1 - :msg (.. "update: \n" x)}))) - (music.update)) +(var dt-acc 0) + +(fn love.update [dt] + (set dt-acc (math.min (/ 20) (+ dt-acc dt))) + (while (> dt-acc (/ 60)) + (set dt-acc (- dt-acc (/ 60))) + (music.pre-update) + ;; TODO: make state changes actually possible + (match (pcall #(state.update the-state)) + (true next) (global the-state next) + (true nil) nil + (false x) (do + (print (.. "update: \n" x)) + (table.insert messages + {:ticks 1 + :msg (.. "update: \n" x)}))) + (music.update))) (fn love.mousepressed [x y button] (match (pcall #(state.mousepressed the-state x y button)) diff --git a/lib/player.fnl b/lib/player.fnl index d40e980..d10fe81 100644 --- a/lib/player.fnl +++ b/lib/player.fnl @@ -23,8 +23,8 @@ ;; (set self.direction (% (- self.direction 0.1) (* math.pi 2))) (when controls.right (set self.target-spin (+ self.target-spin 0.15))) - (set self.direction (% (+ self.direction (* self.target-spin 0.1)) (* math.pi 2))) - (set self.target-spin (* self.target-spin 0.9)) + (set self.direction (% (+ self.direction (* self.target-spin 0.2)) (* math.pi 2))) + (set self.target-spin (* self.target-spin 0.8)) (set music-state.forward controls.up) (when controls.up (local v (entity.velocity self)) -- cgit 1.3.0-6-gf8a5