Skip to content

v0.0.1-pre-alpha.10

Pre-release
Pre-release

Choose a tag to compare

@crowhound crowhound released this 18 Nov 18:02
· 41 commits to main since this release

Breaking Changes:

We updated several namespaces for a lot of files to start getting better organization and to clean up using statements.
This might cause anyone using the last release to have an error caused by needing to change their own custom code to the new namespace. If people have no custom code relying on the SF Platformer package than there will be no problems at all.

Code API And Features Changelog:

Character Controller Changes:

Improvements:

  • Switched from multiple rays to a box cast for directional collisions. We need to tweak the skin width of it and figure out a good ray size offset still, but it looks and collides a lot more accurately now.
  • Added the collision detection events to the base Controller2D class. This will allow even non-grounded controllers to listen for on collide below events. This is useful for characters with ai actions that can make them touch the ground when they normally are flying or floating.
    Example think of thwomp like enemy. We can now use the below collision event to tell the enemy to start rising back up to its original spot very easily now.

Bug Fixes:

  • Fixed collisions on the sides sometimes clipping into platforms with smaller heights.
    This was caused by the side colliders was being sent from the top of the sides only to the middle of the sides instead of the to bottom of the sides of characters. So bottom side corners were not registering collision properly.

Character AI Changes:

  • IAIAction: The base interface for future AIActions classes. This has the Init and DoAction interface method contracts in them.
  • AIBrain now uses AIActions instead of ai states. Due note AIStates will implement IAIAction and have an operator overload to allows AIStates be acceptable into AIAction type properties during assignment. AIStates will just be a collection of AIActions that allow for chaining AIActions together in an easier manner.

Camera Related Changes:

  • Made the temporary Camera Controller so we can use it in the demo. This one also will be heavily changed in an alpha. Alpha one and Alpha two are being dedicated to polishing the character controls, AI Actions, and the camera controllers.

Combat System Changes:

  • The start of a combat system. This is rough and early wip. There will be an entire alpha dedicated to the combat.
    The combat weapons part was added early just so we could go ahead and have a projectile weapon to have enemies fire projectiles for the demo being worked on.

Command Controller Changes:

  • Added the Command Controller early wip and started a custom editor for it. The command controller allows for settings up certain events, methods, and more to be invoked in a series to create a command list that can be used in multiple places.
    Example command controller for the health script that makes a set of commands run when damaged. Play hurt sfx, blink character sprite red for a second, and change animation state to hurt.

General API Changes:

  • Updated several classes, structs, and interfaces to the proper namespaces to start getting some project organization going.
  • Added Cinemachine 3.1.2 as a dependency. This should auto be added when installing the SF Platformer package, so users don't need to do it themselves.

Documentation Updates:

Added:

  • Simple install instructions in the repo read me just to have some form of install information.
  • Added temporary repo branch management information about the status of the pre-alpha branches and releases.
  • The API documentation is now only generated when a commit or merge happens in the stable-release-pages branch.

Full Changelog: pre-alpha...pre-alpha-10_