diff --git a/src/js/objects/player.js b/src/js/objects/player.js
index 2e09fc5bd3e601e08541fa3598572771b84f3274..885cd6bfb97990975b93d9f3cc1d651e26faf4cf 100644
--- a/src/js/objects/player.js
+++ b/src/js/objects/player.js
@@ -7,7 +7,7 @@ export default class Player extends Entity {
 
         this.jumping = false;
 
-        this.lastFramePos = {x: 0, y: 0};
+        this.lastFramePos = {x: this.x, y: this.y};
     }
 
     draw() {
diff --git a/src/js/rooms/game.js b/src/js/rooms/game.js
index 68dccdd492e62c2427ef697af2b81240ef021d6f..60eeca4e721598e8bdda6d8af82c2627d19efd21 100644
--- a/src/js/rooms/game.js
+++ b/src/js/rooms/game.js
@@ -1,7 +1,7 @@
 
 import {Entity, Room} from "../../../hampsterengine/src/things";
 import Player from "../objects/player";
-import {clone, clonePlayer, abs} from "../extras";
+import {clone, clonePlayer, abs, roundToRatio} from "../extras";
 import Ground from "../objects/ground";
 
 export const rm_game = new Room();
@@ -79,7 +79,7 @@ rm_game.step = _=>{
     if (abs(player.vy) < 1) player.vy = 0;
     if (abs(player.vx) < 1) player.vx = 0;
 
-    if ({x: player.x, y: player.y} !== player.lastFramePos) {
+    if (player.x !== player.lastFramePos.x || player.y !== player.lastFramePos.y) {
         player.lastFramePos = {x: player.x, y: player.y};
         // Update the camera
         canvas.camera.goTo(
@@ -92,7 +92,7 @@ rm_game.step = _=>{
 
 rm_game.draw = _ => {
     canvas.ctx.save();
-    canvas.ctx.translate(-canvas.camera.x, -canvas.camera.y);
+    canvas.ctx.translate(roundToRatio(-canvas.camera.x), roundToRatio(-canvas.camera.y));
     for (let thing of rm_game.entities) {
         thing.draw();
     }