Accelerated Movement (also version display)


3D Movement

What a fun little misery. My earliest founding memory of 3D movement in games would be Banjo Kazooie, and Spyro. In those games (old as they are) there were fundamentals of 3d navigation in video games. 1: Make the camera direction influence the input -> character direction, and 2: Provide realistic weight by dampening the input (acceleration). As the technology progressed special animations were able to inserted, further representing to the player that they cannot turn full-speed in the opposing direction. They must first decelerate with a scooting animation, then resume travel with a "stepping in" animation.

The last week or so of commits to my project have been diagnosing this. At first I was going to ignore acceleration and allow the game-like charm of non-realistic immediate movement. It could even blend in well with the low-poly aesthetic. I then encountered the issue with the Wolf Dodge feature. I wanted to be able to accurately provide a dodge pose depending on what direction the player dodges in, in comparison to the direction they were traveling/facing. So a wolf running straight forward would have an arched "c" shape when suddenly jumping to the side. In retrospect, I could force this easier by recapturing a fresh input direction, and comparing it to the last frames velocity direction. For reasons I cannot now remember I decided instead to implement Turning Speed; as well as Deceleration from sharp turns and Acceleration for recovering from stopped positions and the newly imposed Deceleration.

`var x = too much`

`x` time later, I now have accelerated movement that only partially works (probably something about angles) and I didn't even originally need/want it. It was a fun learning process at minimum, and it could still have uses in some cases... Also there are now on screen visuals for representing the input direction, velocity, acceleration, and deceleration/drag. Those are kind of fun to learn from and look at.


Version Display

Since this project is `so so so * x` early, I'm not bothering with managing a version number. I found a great plugin that finds the latest git sha and tosses it into project-settings Git SHA Project Settings - IceFlower S . I also updated my push all script to set the version number on itch to the latest commit sha. That looks like this for those who want to set it up themselves.

```
#! /usr/bin/bash
VERSION=$(cat '/home/matthew/Projects/Godot4/druid/.git/refs/heads/master')
echo $VERSION
butler push '/home/matthew/Projects/Godot4/druid-exports/project-druid-dev.apk' lettucepie/project-druid:android --if-changed --userversion $VERSION
butler push '/home/matthew/Projects/Godot4/druid-exports/html' lettucepie/project-druid:html --if-changed --userversion $VERSION
butler push '/home/matthew/Projects/Godot4/druid-exports/linux' lettucepie/project-druid:linux --if-changed --userversion $VERSION
butler push '/home/matthew/Projects/Godot4/druid-exports/windows' lettucepie/project-druid:win --if-changed --userversion $VERSION
```

Also, thanks to bots becoming insanely advanced, I slapped the repo link with the commit version onto the bottom of the display. Not to function as a "this is mine" watermark, but more of a "this is where this came from", and a "yep that's right this is foss".

Files

project-druid-html.zip Play in browser
Version e3238c16aea49dc81046ee7a59f22a71195381f6 May 21, 2024
project-druid-dev.apk 21 MB
Version e3238c16aea49dc81046ee7a59f22a71195381f6 May 21, 2024
project-druid-linux.zip 22 MB
Version e3238c16aea49dc81046ee7a59f22a71195381f6 May 21, 2024
project-druid-win.zip 25 MB
Version e3238c16aea49dc81046ee7a59f22a71195381f6 May 21, 2024

Get project druid - in development

Download NowName your own price

Leave a comment

Log in with itch.io to leave a comment.