A downloadable asset pack

Get this asset pack and 6 more for $34.93 USD
View bundle
Buy Now
On Sale!
75% Off
$19.99 $4.99 USD or more

Tally2D is a Godot add-on that shows floating damage numbers in 2D games. It comes with 18 ready-made styles (crits, healing, fire, poison, misses, gold and more) that you can use as they are or edit in the inspector.

What it does

  • One line to show a number: numbers.spawn(enemy.global_position, damage). 
  • 18 shipped styles and a DamageStyle2D resource for your own: size, color, outline, lifetime, how far and in which direction numbers rise, thrown arcs with gravity, sway, shake, tilt, and curves and a gradient for scale, fade and color over time.
  • A Damage Style panel in the editor: select a style and see a live, looping preview next to the inspector, with a value, a tag and a font you can change. A "Hit x6" button previews the merge settings.
  • Several hits on one enemy: spread them so none overlap (default), or merge them into one growing total, or keep every hit separate.
  • Text popups with no number (spawn_text: MISS, BLOCKED), a tag above the number (CRIT!), and spawn_batch for many hits in one call.
  • Number formats: thousands separator, K/M/B abbreviation, decimals, + sign.
  • Any Godot font, set on the node. You can use several nodes with different fonts in one scene.
  • Seven example scenes, class reference in the editor's help, and a README.

Getting started

  1. Copy addons/tally2d into your project and reopen it.
  2. Add a DamageNumbers2D node to your scene.
  3. Show a number:
@onready var numbers: DamageNumbers2D = $DamageNumbers2D

func _on_enemy_hit(enemy: Node2D, damage: int) -> void:
    numbers.spawn(enemy.global_position, damage)

For a custom look, drag one of the styles in addons/tally2d/styles into the spawn() call, for example numbers.spawn(pos, damage, crit_style, "CRIT!"). To use the style panel, turn on the plugin in Project > Project Settings > Plugins.

Performance

Spawning writes straight into a preallocated buffer, and the animation runs on the GPU, so a number that is already on screen costs the CPU nothing. On my machine, spawning costs about 50-90 nanoseconds per number in the C++ core; The node keeps at most 10,000 numbers alive by default (max_numbers); the oldest disappear first. Your numbers will depend on your CPU and GPU. The stress-test example lets you try it on your own machine.

In the zip

  • The add-on: compiled libraries for Windows and Linux (editor, debug and release). There is no C++ source.
  • The 18 styles, the seven example scenes, the editor style panel, a README and the license.

Requirements

Godot 4.7 or newer. Windows or Linux, 64-bit.

Purchase

Get this asset pack and 6 more for $34.93 USD
View bundle
Buy Now
On Sale!
75% Off
$19.99 $4.99 USD or more

In order to download this asset pack you must purchase it at or above the minimum price of $4.99 USD. You will get access to the following files:

tally2d-1.0.0.zip 1.1 MB

Leave a comment

Log in with itch.io to leave a comment.