I do have a problem though, for some reason when I advance to another level then my framerate consistently drops lower than on the previous level and if I lose and start over without quitting the program and restarting it then the framerate is too low to play.
It could be a memory leak, or something I'm doing funky with Lua (since the entire game is practically written in Lua...). I noticed it happens to me sometimes, too, so I'll look into it further.
A few profile runs show that the problem is with the Lua GC. I mustn't be unreferencing tables or something similar, so the garbage builds up room after room, and it's never collected.
I fixed it. I was simply calling collectgarbage("collect") in the particle code in Lua, so it would slow the game down to a crawl. It was a remnant from my old tests, and I forgot to remove it. The same goes for a simple lua_gc(LUA_GCCOLLECT, 0) line in Stage.cpp. Now without additive/translucent blending the game runs at around 65 FPS constantly (but less compiled with MSVC... It stops and lags when there's a lot going on...), so I'm going to tinker around with the GC settings.
Yay, it runs at a constant 65-67 FPS for me without any special effects when compiled with MSVC. Download it here.
Actually, it hogs up a ton of memory in the previous versions before releasing it. Change "Content/Lua/Game/Game.lua", and scroll down to line #173. Change the two to a zero or one (zero is my recommended setting) in collectgarbage("steppause", 2) and get rid of line #174. If there's many objects in the stage, the FPS dips to around 40 FPS for me without effects, 60+ otherwise.
One question about items: What is the point of having 5 Astral Daggers? Do they break with use of something? Or is there a shop in there where you can sell them?
There is no point in having more than one item (besides the Windi Book and potions) at the moment, but there will be once I add the first town to the game.