Skip to content

Repository files navigation

TMO

* For installation, check Releases

* TMOCtrl is the Main Repo

Powerful top-down movement with 360 dirs, accel, decel, auto animations, embedded collision masks, and collision with slopes handling. PMO's brother!

This is the TMOCtrl part of the Project. Which is the Movement Controller Object Extension. Note: It also includes the full installation (TMOCtrl Movement Controller Object Extension + TMO Movement Extension).

For the Movement Extension's Source Code, Check: TMO Repo!


Features

  • 360 Directions
  • Acceleration & Deceleration
  • Additional Velocity
  • Max Speed
  • Full Control: Additional velocity, main velocity, max speed, direction, etc., are fully controllable.
  • Advanced Collision (Slopes & CircularPushout): Objects slide as expected on diagonal obstacles. An optional Circular Pushout system is also implemented!
  • Tank Movement: Built-in. You can rotate, strafe, move forwards and backwards, etc. Lots of parameters to adjust and fine-tune! You can use this for twin-stick shooters, first-person movement, race cars, etc.
  • TMOCtrl: Comes with TMOCtrl to provide extended control over the movement. Movement Extension + Movement Controller Object paradigm! Best of both worlds!
  • TopDownX Based: Custom, powerful Top-Down Movement engine tailor-made for TMO!
  • MoveNCollideX Based: The core movement relies on a move-and-collide system. The inner workings are inspired by GM's move_and_collide function! This system handles features like slopes.
  • Embedded Masks: Collision hitboxes can optionally differ from the current one without having to create another object (although a separate object is still recommended for better flexibility and performance).
  • Automatic Animations: Can optionally handle animations automatically. It switches between Stopped and Walking based on the current movement state and also handles animation direction.
  • Player or Computer Controlled: Input can be based either on the built-in Player Joystick system or manually if computer-controlled (you use the accompanying TMOCtrl object to control it from Events).
  • DeltaTime Support: Movement can optionally use Fusion's Movement Timer to run at the same speed regardless of FPS.
  • Debugger Support: You can inspect different properties using Fusion's built-in debugger!
  • VERY Easy: Being a Movement Extension, it has the same level of ease of use as built-in Movements like Bouncing Ball! This doesn't reduce flexibility because, as mentioned, the movement is very powerful.
  • Auto Multi-Instance Handling: This movement automatically works for each instance. While multi-instance handling with objects like PMO was very easy (you just needed to create one per instance and do basic linking), such a process isn't even needed with TMO thanks to Extension Movements scoping automatically to each instance.
  • Much More: Precise control over collision precision, movement factor, ability to tick the movement manually, etc., are all possible! In fact, TMO is so flexible it can be a base for other movements :P
  • Comes with a 100% events-only widget. Fewer features, but the benefit is you can see and edit code easily, and it is already cross-platform ready! Windows only as of now, but support for other runtimes can be added on demand! Made using the original, official SDK.

Notes

  • No documentation as of current version. Please check the "TMO_SimpleMaze.mfa" example to get an idea of how to use the extension!
  • Comes with an MIT (main) + APACHE-2.0 license. Free for commercial use! More info in "THIRD_PARTY_NOTICES.md", "LICENSE.txt", and "Licenses\APACHE-2.0.txt".
  • Windows-only as of current version. Other runtimes can be implemented on demand.
  • Comes with a version made entirely in Events, cross-platform. Caveat is less features & slightly harder integration into other projects, but still very easy. Check "TopDownX_WithoutSDL.mfa" and "TopDownX_Sandbox.mfa".
  • Extension is split between a Movement Extension (chosen from Movement tab of Movement-enabled objects), and a Controller Object Extension called "TMOCtrl". This uses the same paradigm of Movement + Controller of movements like Vector & Darg&Drop + Clickteam Movement Controller Object.
  • TMO is very powerful, yet very easy and fun to use. Use for classic Zelda-style player movements, twin-stick shooters, NPCs, etc. Go wild and have fun!
  • Made on the original, official SDK. By Linky.
  • Special thanks to Yves for helping development of this ext by providing source-codes of Vector Movement & Clickteam Movement Controller Object.

Development

  • Based on the Original, Official Fusion 2.5 SDK
  • C/C++

Contributions are welcome. If you're unsure where to start, open an Issue to discuss changes. If you are sure of a fix or feature, submit a pull request with the changes. But it would be much appreciated if you contact me on Discord first.


Support

When reporting a problem, please include:

  • Runtime (Windows, Android, iOS, etc.)
  • Goal or what's expected, and what happens instead
  • A minimal reproduction (Events screenshot or MFA)

Media Showcase

In Action:

TMOCarDemo.mov
TMODemo.mov

Screenshots:

About

Powerful top-down movement for Clickteam Fusion 2.5 with 360 dirs, accel, decel, auto animations, embedded collision masks, and collision with slopes handling. PMO's brother! (Main Repo, Controller Object)

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages