Another week of work. I'm thinking of posting weekly updates if there's any interesting new features.
-Added placeholder audio (bfxr-generated)
-Added placeholder 8-directional sprites for NPCs and player
-Enemies' blocking/moving away from projectiles is smarter, will only raise shields if projectile is closer than on previous frame
-Dodge timer added, default is 90 frames (1.5 seconds)
-Started fiddling with placeholder tiles to decorate rooms
-Enemy movement priority re-worked, they now sort-of follow a flowchart system (needs refinining, especially regarding walls)
-Entities will transfer momentum based on weight when colliding (e.g: currently player and NPC weight is 1, practice targets are 0.75)
-Parallax scrolling backgrounds functionality added (placeholder BGs)
-Added text outlines on hud and damage numbers (thanks LAR)
-The signposts at the tutorial area now explain things a little better
There's more colors than black/white/red! Though it's all placeholder, I can try out 8-directional sprites and parallax background scrolling, which look quite better than a black void backdrop.
Instead of attempting to code this thing
I realized that simply ignoring projectiles that are moving away from you
was an easier approach. I should still make npcs sidestep perpendicular to the trajectory instead of moving in the opposite direction, otherwise we end up with cartoon-logic
NPCs. I suppose an NPC should check both 90º movement options and see which has an obstacle the furthest.
I've improved the original design. Instead of a series of if statements... now they're a series of NESTED if statements. It still needs refining but it's far more manageable than what I had earlier. Take a look at the structure if you want:
//Does a threat exist?
//Are there any mates in the room?
//Are we too close to them?
//move away from closest mate
//Can we see the player?
//Are we out of stamina?
//move away from player
//move to player if too far
//move away from player if too close
//Are we too close to a wall?
//move away from wall
//Are we far from the last seen player position?
//move to the last seen player position
As you can see it prioritizes dodging attacks above all. Now all I need is some nifty A* implementation and we're set.
I've upgraded from gif to webm since tiles make the gif files take up more space than they're worth.
Enemies only move away if attacks are getting closer
Semi pseudo momentum transferal when colliding with stuff, based on weight
Naked men play with their spears
-I've yet to move all of the enemies' actions onto scripts to make other enemies based on them.
-Tiling a level is slow, tedious work, I need an auto tiling algorithm.
-There's no dynamic drawing depth based on the Y position yet.
-Figuring out whether or not to move the game to a 4:3 configuration and keep the extra space for the HUD, since it's not that great that you have a higher horizontal view than vertical.
-Probably more, but let's not get ahead of ourselves.
If you've made it here, thanks for your time.
Is it okay if I post weekly updates and hide the previous post from the frontpage and activity feed? I don't mean to get up on the frontpage but I'd prefer if the comments were for each build version. I can just list it on the activity feed if it seems spammy.