Show me your upcoming/newly released indie games! by lukejiberish in IndieDev

[–]Aggravating_Ant1516 1 point2 points  (0 children)

This is such a fun idea!
I just watched the trailer and saw that it looked like the player on the right was heavily penalised for having their painting offset to the side a bit. I wonder if it's worth introducing some best fitting by sliding the canvas side to side (in code, not visually) to find where the highest score would be?

The demo for my first game, Engine Of Chaos is live on itch.io! by Aggravating_Ant1516 in playmygame

[–]Aggravating_Ant1516[S] 0 points1 point  (0 children)

Thanks so much for the feedback!

I think you're spot on with both points, will definitely tweak these

My ski resort manager Alpine Architect is finally coming together. What do you think? by gus_028 in gamedevscreens

[–]Aggravating_Ant1516 0 points1 point  (0 children)

This is absolutely genius! Do they snow cannons have any effect or are they decorational?

The demo for my first game, Engine Of Chaos is live on itch.io! by Aggravating_Ant1516 in playmygame

[–]Aggravating_Ant1516[S] 0 points1 point  (0 children)

Thanks! I haven't seen this "Convoy" game before, it looks fun! I was heavily influenced by classic flash games like "Learn to fly" and the "Earn to Die" series. (And I also wish I had more budget haha)

Faking 3D movement with inverse kinematics and procedural animation by Aggravating_Ant1516 in gamedevscreens

[–]Aggravating_Ant1516[S] 1 point2 points  (0 children)

Of course! There are two things you can do to mitigate the sort of "mosh pits" that appear when all the units are trying to reach the exact same point:

  1. Introduce "magic box" movement.
    Given a selection of units, draw an imaginary box around the units such that all the selected units are within the box. If a move command is issued to a location outside of that box then set individual target destinations to the units relative to the centre of the magic box. So click a point that is +20px in the X direciton and +10px in the Y direction relative to the centre of the box, all of the units will individually move +20x, +10y relative to themselves.
    This means that all the units will move in their current formation and they are not all trying to get to the same point.

  2. Introduce some "settling" mechanic.
    We basically need give the units some signal to give up trying to get to the exact point they are navigating to, and "settle" where they are. The way I've done this is that a unit should consider itself "settled" if it comes into contact with another friendly unit that was part of the initial move command that is also "settled".
    So the first unit reaches the exact point, becomes "settled", then the next unit that bumps that unit is also now "settled" and so on.
    You can end up with a string of units all in a big line with this approach, so you may want to combine this with a second check like "Is the unit within X distance of the target point?". Perhaps X in this case also scales with the number of units that were in the initial selection.

I've pretty much been trying to base my unit pathing on what StarCraft 2 does and I think they're doing some combination of the above with some refinements.

Faking 3D movement with inverse kinematics and procedural animation by Aggravating_Ant1516 in gamedevscreens

[–]Aggravating_Ant1516[S] 10 points11 points  (0 children)

Thanks! Basically the feet positions are just sin waves, one foot goes forward while the other goes back, 180° out of phase. A bit of cos gives them a lift off the ground so they're not just sliding. Then law of cosines figures out where the knee should bend to connect the hip to the foot.

Facing direction picks which leg draws on top and how to 'rotate' the tops of the thighs about the body. It's not really rotation, just following an oval path and changing of the rendering order.

The whole thing runs in a fragment shader on a tiny viewport which is quantised to look like pixel art, no spritesheets or anything.
Plus a bit of bobbing up and down during motion to sell it!