Skip to content

Instantly share code, notes, and snippets.

@KageDesu
Last active September 15, 2025 14:32
Show Gist options
  • Select an option

  • Save KageDesu/5dd1c5743499f81e67ac1e7df262790b to your computer and use it in GitHub Desktop.

Select an option

Save KageDesu/5dd1c5743499f81e67ac1e7df262790b to your computer and use it in GitHub Desktop.
Grid Free Movement (AABSZ Extension)

Grid Free Movement (AABSZ Extension)

This extension plugin requires Alpha ABS Z to work.

⚠️ Information valid for version 0.11 and above

⚠️ This extension is in EXPERIMENTAL state.

Overview

The Grid Free Movement system is a brand new Free Pixel Movement system that has been developed from the ground up. It provides a completely different approach to character movement in RPG Maker MZ, replacing the traditional tile-based movement with smooth, pixel-perfect motion.

Key Features

  • Pixel-Perfect Movement: Uses floating-point coordinates instead of integer-based tile positions for smooth, precise movement
  • Dual Input Support: Supports both keyboard movement (WASD/Arrow keys) and mouse/touch-based click movement
  • Collision-Based System: All interactions are based on colliders - the player, events, and map tiles have their own collision zones
  • Intelligent Pathfinding: For click/touch movement, the system calculates the shortest path using advanced pathfinding algorithms
  • Customizable Grid Sizes: Choose between 16px, 24px, or 48px grid sizes to balance performance and precision
  • New Interaction System: Custom interaction zones for events, replacing the traditional tile-based interactions

Movement Types

1. Keyboard Movement (WASD / Arrow Keys)

Movement is handled by analyzing collisions in real-time. The system checks whether the path is blocked before allowing movement in any direction, providing immediate and responsive control.

ArrowMovement.mp4

2. Click or Touch Movement

When you click on a destination, a pathfinding grid is generated and the shortest path to the target location is calculated. The character will smoothly follow this calculated path while avoiding obstacles.

CursorMovement.mp4

Core Parameters

  • Movement Grid Size - Controls the precision and performance of the movement system. Available options:

    • 16px: Highest precision, smoothest movement, but higher system load. Best for small maps or when maximum precision is needed
    • 24px: Balanced option (recommended). Good precision with reasonable performance
    • 48px: Fastest performance, coarser movement. Best for large maps where performance is critical

    Thanks to system optimizations, even the 16px grid performs well on medium-sized maps.

  • No Movement Pass Regions - Region IDs where movement is completely blocked. Useful for creating impassable areas that override normal tile passability.

  • No Movement Pass Terrain Tags - Terrain tag numbers that block movement. Allows you to create impassable areas based on terrain types rather than individual tiles.

  • Show Pathfinding Grid Key - Enable display of the pathfinding grid overlay in-game for debugging and understanding how the pathfinding system works. Press this key during gameplay to toggle the grid visualization.

extraMovementGrid

Visual Grid Examples

16x16 Grid (Maximum precision):
Grid16

24x24 Grid (Recommended balance):
Grid 24

48x48 Grid (Performance optimized):
Grid48

Collision Map Generation

The system automatically generates collision maps using impassable tiles as a base. Yellow squares represent auto-generated map colliders based on impassable tiles:

AutoCreatedMapColliders

Collision System Configuration

The Grid Free Movement system is entirely collision-based. All collisions in the game are now managed according to the new movement system, providing precise control over character movement and interactions.

Important Notes:

  • Collisions are used for movement passability and pathfinding calculations
  • They do not affect projectiles and skill impact areas (those use separate collision systems)
  • The system automatically generates event colliders (shown as green circles in debug mode)
  • For now, enemies will not use the new movement system, but this feature is planned for future updates
EventsColliders

Core Collision Parameters

  • Event Default Collider - Sets the default collision size and shape for all events on the map. This provides a baseline collision that can be overridden per event if needed.

  • Enemies have default collider? - When enabled, all enemies will use the default collision configuration similar to events. Use with caution as this can affect gameplay balance (enemies may get stuck more frequently). Default value is "false".

  • Actor Default Collider - Defines the default collision properties for player characters and party members.

  • Event Default Interaction Collider - Sets the default interaction zone size for events. This determines how close a player must be to trigger event interactions.

  • Show Collision Layer Key - Enable this to display collision visualization in-game for debugging purposes. Press the assigned key during gameplay to toggle collision layer visibility.

Collision Grid

Custom Collision Configuration for Events

You can override the default collision settings for individual events by adding special comments to the event page. This allows for precise control over each event's collision properties.

Collision Comment Syntax:

  • aCollider:c,DX,DY,R - Creates a circular collider with:

    • DX, DY: Offset position relative to the event's center
    • R: Radius of the circular collision area
  • aCollider:b,DX,DY,W,H - Creates a rectangular collider with:

    • DX, DY: Offset position relative to the event's center
    • W, H: Width and height of the rectangular collision area
  • aCollider:none - Removes the collider entirely for this event. Useful for decorative events that shouldn't block movement.

Event Collider Configuration

Custom Collision Configuration for Characters

Characters (actors) use the same collision syntax as events, but the commands are placed in the character's notetags in the database instead of event comments.

Character Notetag Syntax:

  • <aCollider:c,DX,DY,R> - Creates a circular collider
  • <aCollider:b,DX,DY,W,H> - Creates a rectangular collider

Character Collider Configuration

Custom Interaction Areas for Events

The new interaction system replaces traditional tile-based event triggers with collision-based interaction zones. This provides more precise and flexible event interactions.

Interaction Area Comment Syntax:

  • aInteractionArea:c,DX,DY,R - Creates a circular interaction area
  • aInteractionArea:b,DX,DY,W,H - Creates a rectangular interaction area
  • aInteractionArea:none - Disables interaction for this event
InteractionZones

Note: You can always set custom collisions for each event or enemy in the map editor using these comment commands.

Future Development

Planned Features

  • Custom Collision Drawing: The upcoming Map Enhancer plugin update will allow you to:

    • Draw your own custom collisions directly on the map
    • Design collision zones of any shape or size
    • Create separate collision layers specifically for projectiles
    • Design collision zones smaller than the standard 48x48 tile size
  • Enemy Integration: Future updates will add support for enemies to use the new movement system

  • Enhanced Skills and Projectiles: Upcoming improvements to skill and projectile systems to work seamlessly with the pixel movement system

Current Limitations

  • Enemies do not yet use the new movement system
  • Map collisions are currently auto-generated from impassable tiles (custom drawing coming soon)
  • Collision system is separate from projectile/skill impact calculations

Troubleshooting Tips

  1. Performance Issues: If experiencing lag, try increasing the Movement Grid Size to 48px
  2. Character Getting Stuck: Check collision configurations and ensure interaction areas aren't too large
  3. Events Not Triggering: Verify interaction area settings and ensure they're properly configured
  4. Pathfinding Problems: Use the Show Pathfinding Grid Key to visualize and debug pathfinding issues

For additional support and updates, visit the Alpha ABS Z plugin page.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment