Movements (Click)

From Mario Fan Games Galaxy Wiki
(Redirected from Platform Movement Engine)
 Stub.png This article or section is in need of expansion.

Please add further information.


Click products allow objects to have pre-programmed movements, which allows for quick and easy development. However, these movements are generally known to be buggy and/or limited in function, so it is generally recommended to program movements manually whenever possible. Some movements are player movements, because they can be controlled by the player; others operate on their own. Various settings of each movement can be changed during runtime, either directly or through the Clickteam Movement Controller object.

Prior to MMF2 and TGF2, objects could only have one movement, which was chosen during edit-time. MMF2 and TGF2 allow for objects with multiple movements (though only one may be used at a time), and allow changing the current movement during runtime.

As with many other things related to Click products, it is possible to program additional movements through an SDK.

First-party

8-direction

8-direction movement allows the player to be able to move in up to 8 directions (cardinals and diagonals), with acceleration and deceleration. This is a relatively simple movement that is easily programmed through events. 8-direction movement is player-controlled.

Ball

Ball movement makes an object move like the ball in a Breakout game, and it will change direction when it hits something, depending on both its traveling angle and the angle of the hit surface. The "ball" can decelerate, and can be set so it will have a chance at bouncing off in a random direction. Should the ball find itself in a situation where it bounces back-and-forth the same way for a while, a "security" setting will eventually throw the ball off at a random angle. Ball movement is an easy way to add movement to an object, and some fangames use Ball movement as the basis of their movement engine. The ball can have any combination of up to 32 angles in which to bounce.

Mouse

Mouse movement simply makes an object follow the mouse cursor, and keeps said object within a specified rectangular zone. However, it also locks the actual mouse cursor to that zone, which makes it impossible to reach the application menu. This is a player movement.

Path

Path movement simply allows objects to move on a path, which is defined with nodes. When an object reaches a node, it may trigger a condition to run its actions. There are also a few behaviors that affect the object while it is on the path, such as whether it should loop its movement, restart at the original node or stay at the end node, how fast it travels between two nodes, and whether it reverses its movement when it reaches the end. As path movement is generally "stiff", it isn't used often, as much of its functionality can be duplicated through events.

Pinball

New to TGF2 and MMF2, pinball movement is basically the same as Ball movement, but it also has gravity. and this movement is tricky: Have BUG with collisions (the program did not registring object collisions and object speed).

Platform

The platform movement is intended for use in platformers, and offers features usually expected in those games, such as good slope support and non-sinking collisions. Unfortunately, those are the only two features it supports at all correctly; Platform movement is known for having objects stick to ceilings when the jump button is held, and loss of control until the object touches the ground, if it hits a wall in mid-air. Though those two bugs were more or less fixed in MMF2 and TGF2, a few other minor bugs still make this movement less than perfect, and users often suggest using the Platform Movement Object instead. Ball movement is a player movement.

Race Car

Race Car movement is similar to 8-direction movement, but the player can now travel in 32 directions, by using the left and right directions to rotate and up direction to accelerate; the down direction can be set to reverse, or be disabled. Like 8-direction movement, acceleration and deceleration can be used. Race Car movement is a player movement.

Space Ship

Space Ship movement is a new movement for MMF2 and TGF2, and is similar to Race Car movement. However, the object now has inertia and may be affected by gravity coming from an arbitrary direction. Space Ship movement is a player movement.

Static

Static movement is not actually a movement; new objects default to this "movement", and like its name states, objects do not move at all by default. However, they can still be moved through events. This is where the term 'static engine' originated, describing engines that affect objects with the Static movement.

Third-party

Circular

Circular movement simply moves an object in a circle with various parameters, such as radius, starting angle, and angular velocity. It also includes a few parameters to allow the object to move in a spiral, and the method in which the movement should repeat once it completes.

Invaders

Invaders duplicates the style of movement used by the aliens in the classic Space Invaders game. It automatically detects the screen edges and moves objects downwards. The horizontal and vertical "jump" distances can be changed, along with the speed and initial movement direction. This movement also has an option to automatically increase the speed as more aliens are destroyed.

Presentation

Presentation moves objects as if they used PowerPoint animations. The type of "transition" is changeable, along with various other settings such as waiting until previous animations finish before starting a new one.

Regular Polygon

Regular Polygon is similar in ways to circular movement, but the object instead moves along the path of a regular polygon. It shares many of the same settings, but also adds parameters for the number of sides and the rotation of the polygonal path.

Simple Ellipse

Simple Ellipse, again, is similar to circular movement, and provides many of the same options. It also allows for different X and Y radii and for the ellipse's rotation angle.

Sinewave

Sinewave movement moves an object along a sinewave until it reaches a given coordinate. Not only can the object be moved horizontally or vertically, as normal, but it can also be moved on an angle, while retaining the sine appearance. Of course, other settings relating to the sine wave, such as amplitude, can be changed.

Vector

Vector movement basically gives an object 360º of movement, allowing for a starting direction and speed, and also allows for gravity to act in an arbitrary direction.