โ† All examples

godot components

Grid step movement with eased tweening and input buffer

Move a Node2D one grid cell at a time with an eased step, one buffered move, an optional blocked-cell check and signals for start, finish and bump. Use it for roguelikes, puzzles and classic tile RPGs.

What this component contains

  • ATTRIBUTION.md
  • LICENSE
  • README.md
  • baltor_test.gd
  • component.json
  • grid_step_mover.gd
  • inspect_gdscript.py
  • run_tests.gd
  • test_package.py
  • tests/test_grid_step_mover.gd
  • verification/native.json

How it works

Class
BaltorGridMover, extends Node2D
Methods
cell_to_position(cell: Vector2i) -> Vector2; position_to_cell(point: Vector2) -> Vector2i; get_cell() -> Vector2i; set_cell(cell: Vector2i) -> void; is_moving() -> bool; try_move(direction: Vector2i) -> bool; advance(delta: float) -> void
Signals
step_started, step_finished, bumped
Exports
cell_size, grid_origin, step_time, allow_diagonal
Placement
res://baltor/godot_components/grid_step_mover/

Recorded checks

godot 4.7.2.stable.official.ed1daf0bf

  • godot_parse_check_only
  • godot_gdscript_tests
  • godot_tests_reject_gutted_component
  • godot_editor_import
  • godot_contract_reflection
  • godot_readme_usage_compiles

Limits to consider

Moves only to neighbor cells; no path following (combine with a pathfinder). The blocked check runs when a step starts, not during it. Uses smoothstep easing only. Verified with Godot 4.7.2 headless; written against the Godot 4.3 API.