All of the work this week was dedicated to making the game experience better, and next week will be the same. Miner Threat was fun before, don't get me wrong, but these improvements along with next week's plans will make it even more fun.
When you play a game, the most important things that make the experience are the things you don't notice. People won't notice it you do these things well, but will if you don't. What are these things? I won't keep you in suspense.
Chances are, you don't notice the camera panning around the screen as you play; but if it was glued to your player or all over the place, you probably would. Miner Threat's camera was never 1:1 with the player, but it was the next thing down. The camera in 2 player has been and will always be glued to the middle of the two players, because when you play two players, you don't want the camera to pick and choose or be slow -- but that's different. In single player, the camera is now in front of the player, allowing you to see a bit in front of you. It also doesn't just pop in front, it moves over.
Ever played a game where the blood was so meh? Used to be Miner Threat. It would just kind of jump out of the enemy and fall. Obviously, in practice, it's not as bad an effect as I describe it, but it's far from great. This was probably the most difficult one to think up. One very versatile way of dealing with blood is to just use a texture of room size and paint blood all over it. However, I do not want a texture of size 4096 * 4096 (Or a little over 64mb) diddling around in VRAM just for a blood effect. Storing all blood particles as game objects is also not an option, because over 30 can be created in a single frame, and each object is over 100 bytes, so not an option. Making an array of them is also not an option because looping through ~2000 particles would not be appreciated by the CPU. Luckily, Gamemaker has something called tiles that I actually have no idea how they pull it off, but I can place thousands of blood tiles everywhere with no issue; no RAM, VRAM, or CPU overload. (Even though Miner Threat uses ~230mb of RAM while running.)
I will probably add an option to turn up/down the particle count for great or weaker PCs. Just for the record, the computer I use to get these screenshots is an i3 (2nd gen) @ 2.2ghz dual core, Intel HD 3000 @ 128mb VRAM + 2gb of ram at the ready for overflow, 6gb RAM @ 10xxmhz, and 1366 * 768 display; to give you an idea of how Miner Threat runs. It gets 60 on this "craptop," and I suspect it would run even better if I didn't have Skype, Steam, Snipping Tool, Yandex, Spotify, Gamemaker, and Explorer running at the same time.
Before, the player controls were really tight, as in, you hit A and the player moves x number of pixels. Now, the player slows down a little before stopping. This is a small effect, but an important one to those who notice. If I had to rate the controls stiffness, I would say about Nuclear Throne or Risk of Rain, but a tad bit tighter. I plan to make it a little more loose in the future.
So that is it for this week, have a good weekend!