Dev Diary: Alpha ABS Z. New Movement System.

Free Pixel Movement System

A brand new Free Pixel Movement system has been developed from the ground up. It supports both keyboard movement (WASD / arrow keys) and touch or mouse-based input.

The system is entirely collision-based. The player, events, and map all have their own colliders. Collision maps are automatically generated using impassable tiles as a base.

📸 Auto generated Event colliders (green circles). You can edit collider size for each event.

📸 Auto generated colliders for map (yellow squares), based on impassable tiles


🎮 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.

2. Click or Touch Movement

A grid is generated, and the shortest path to the target location is calculated using pathfinding algorithms.

⚙️ Features

  • Adjustable Grid Size:
    You can choose a grid size of 16, 24, or 48 pixels.
    Larger grid sizes result in faster pathfinding calculations.
    However, thanks to strong optimizations, even the 16px grid performs well on medium-sized maps.

📸 16 x 16 grid:

📸 24 x 24 grid:

📸 48 x 48 grid:

  • Floating Point Coordinates:
    The system uses floating-point coordinates for player movement, unlike the standard integer-based tile system.
    This allows for smooth, pixel-perfect motion.

  • New Interaction System:
    Since standard tile-based event interactions don’t work well with pixel movement, a new interaction system was developed.
    Events now have custom interaction zones, also based on collision.

📸 Event interactions zones (generated automatically, can be adjusted per certain event)


🚧 Collision System

Currently, impassable areas are generated automatically using the map’s impassable tiles. While this works, it can be a bit rough.

In the near future, the upcoming Map Enhancer plugin update will allow you to:

  • Draw your own custom collisions on the map.
  • Design collision zones of any shape or size.
  • Create separate collision layers for projectiles.

Next time, I’ll talk about an update regarding skills and Projectiles.