Woohoo!
Kartik Agaram
Creator of
Recent community posts
I just tried running it on Linux and ran into the same error.
As the above conversation hinted, even though Moonring.exe is an exe, I'm able to treat it as a zip file and unzip it to a directory. Searching that I find no mention of firstDungeon-01.png
Looking at the files and line numbers mentioned in the above error, it looks like the code at the point of the error is trying to _create_ a file called data/save/firstDungeon-01.png. In LÖVE writes typically don't go into the directory containing the source code but a separate "save directory". On my system (and according to https://love2d.org/wiki/love.filesystem), the save directory is at ~/.local/share/love. Putting all this together, I tried creating a directory from the terminal:
mkdir ~/.local/share/love/data/save
And it seems to work! At least I'm able to get to the start of the game. I hope that helps you @berru_dev and anybody else on Linux. Feel free to ask if you run into any more issues. I love how open the devs have been with this game, and I'd be happy to give back in any small way I can.
Now, time to try it out!
That is a good question, if I understand you right. The above program keeps the top-left corner of the viewport fixed. Is that what you meant?
Since then I made a change to it to keep the centroid between fingers fixed:
function car.touchmoved(id, x,y, ...) if start[id] then curr[id] = {x=x, y=y} if s then local oldzoom = v.zoom v.zoom = dist(curr[f], curr[s])/dist(start[f], start[s])*initzoom adjust_viewport(oldzoom, v.zoom) elseif f then v.x = initpos.x + iscale(start[f].x - x) v.y = initpos.y + iscale(start[f].y - y) end end end function adjust_viewport(oldzoom, zoom) -- ensure centroid of fingers remains in view local c = centroid(curr[f], curr[s]) v.x = v.x + c.x/oldzoom - c.x/zoom v.y = v.y + c.y/oldzoom - c.y/zoom end function centroid(a, b) return{x=(a.x+b.x)/2, y=(a.y+b.y)/2} end function iscale(d) return d/v.zoom end