This user leads a boring life.

Joined on January 4, 2008, 1:47 AM Visited on February 21, 2019, 8:31 PM

Spear 0.04

by Unaligned

Posted on February 07, 2016 at 5:21 PM

Another week of work. I'm thinking of posting weekly updates if there's any interesting new features.

Changelog (Show)

-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

Graphics 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.

Smarter dodging 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.

Movement flowchart 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:
flowchart (Show)
//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.

Webbums I've upgraded from gif to webm since tiles make the gif files take up more space than they're worth.
webms (Show)

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

What's next -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.
-A* implementation.
-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.

The download Right here.
If you've made it here, thanks for your time.

question for mods (Show)

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.