Still haven't been able to get around to trying out the lighting engine. I've been working so heavily on minor things, I entirely forgot to work on that.
But here's what I have done:
-NPCs can no longer plow through walls and objects in order to reach the player, or plow through walls and objects to return to where they were standing. This wasn't necessarily hard to pull off, a simple A* algorythm can handle it, but the issue was making it look less robotic.
-I made a large mistake while making the walking animations. I now have to modify every frame of every angle. This is going to take a lot of time... Not looking forward to it. I'm only about half way done fixing this mistake.
-Fixed a mistake that made the game appear to soft-lock. It wasn't really a soft-lock, as it could be escaped, but it would seem like the game froze. This was caused by the omni-pause screen being displayed under screens like the inventory screen, making it impossible to tell the game was actually paused. Simply unpausing the game would return things to normal.
-Made modifications to some of the HUD elements to get rid of a slight screen-follow delay that would make them shift slightly, but noticeably, when the screen moved.
-Made a few minor performance-improving tweaks.
-Bullets now make flashes when they strike something.
-For some odd reason, the camera refused to track the player character if the area started with him outside the camera's starting position. In fact, it wouldn't snap to him unless the player specifically pressed up and left. Up would snap to his Y coordinate, and left would snap to his X coordinate. Pressing down and or right would allow the player character to move, but he would remain off screen until both left and up were pressed. This issue was solved simply by forcing the screen to jump to the player character's x and y positions once per area, putting him on screen.
-The player character turns to face the mouse, but is also capable of walking while the mouse is moving. He remains facing the mouse no matter what direction he's walking in, so in order to pull this off, I had to make sure that the lower half of his body rotated appropriately. This had to be done for all 8 directions: Walking down while facing up, walking up-right while facing left, and so on. This took hours to accomplish, mostly because I had to draw in 3 new animations of him strafing, because the human body can only rotate 45 degrees in opposite directions. The left-right strafing were easy enough, the up-down strafing, however, took me a few tries.
-Due to a miscalculation, all graphics for the game ended up being ill-fitted for a 1920x1080 screen resolution, which meant I had to expand the size of the inventory graphic. I had thought the game was going to be zoomed in by 3 times, but I feel like the game will benefit from a 2x zoom instead.
-Now that the inventory screen is larger, it allowed me to increase the number of inventory slots from 60 to 100.
-I also increased the game's maximum health by double. This took maybe half an hour because it required me to make changes to the game's graphics a bit, and change the way the game processed the health bar.
-The larger inventory screen will allow for a map system and a journal system to be added in. The map will make navigation a little easier, the journal will make dropping the game and coming back to it months later more painless by making it possible for players to recap what they did last. Like Legend of Zelda, there will be no waypoint marker system, but I don't want players to put the game down and come back to it later and be hopelessly lost. (Like I said, I may not actually be the best game developer in the world, but there's a reason I call myself that.)
-A crouching system. No, this isn't going to be a cover system. You aren't going to regain your health by ducking out of the line of fire for a few seconds. In fact, the game's going to be unforgiving that way, with no real way of healing yourself on the fly. I'm not giving players the ability to carry around ways of restoring health. Games these days are getting too easy. Don't expect my games to hold your hand.
Instead, my crouch mechanic will simply be a way of escaping enemies. Having walls be the only way of escaping enemies in pursuit isn't exactly very fair, but standing upright behind a garbage can wouldn't make much sense either. They'd see the player. Thus, the crouch mechanic is being added. I'm not yet sure if I want to make it possible to move around and shoot while crouching, simply because that's a lot more animation work to do, but it would also add somewhat of a stealth mechanic if I did make it possible to crawl around. Enemies are smart enough that the cover system can't be abused. Even if you crouch behind a wall, the enemy is going to go to where you were last seen and search for you there. So I think the mechanic might add a level of challenge, and an alternate way to approach the game.
That's all there is, this time. Mostly just making adjustments to things. I wish I could work more on the demo environment, but GameMaker doesn't have a tile stamp tool. The demo map doesn't really matter all that much, so I don't want to spend hours working on it. Maybe I can find an extension to GameMaker so I don't have to use an excessive number of prefabs. We'll see.
Until the next update...