Six dash effects on the same scene. Copy any short prompt for free, and open full prompt 1 to see how detailed they are. Full prompts 2–6 are in the pack.
Add this game-feel effect to my 2D game: Dash — Afterimages. Reference scene (context only — map it onto my own characters and sizes): A side-view dash that repeats every 1 second. Times are seconds, and t = 0 is the dash start. View: 438×190px, cave background, ground 34px above the bottom. The hero dashes between two marks 96px in from each side (246px apart), alternating direction every second. The dash lasts 0.15s: x = from + (to − from)·(1 − (1 − q)^2.2), q = t/0.15, on a run frame. Then the hero idles and breathes (vertical scale 1 + 0.015·sin(4πt)), turns around at t = 0.75, and crouches from t = 0.85 to 1 (scale x 1 + 0.06c, y 1 − 0.1c, c = sin(π(t − 0.85)/0.15)). All scaling is from the feet. A 30×7px dark shadow sits under the feet. Art is pixel art: the hero is 12×13 art pixels drawn at 7px (84×91px on screen). All sizes are screen px at that scale, so scale them to your own sprite size. The effect: Leave a trail of afterimages along the dash. During the dash, spawn 6 ghosts at t = 0, 0.025, 0.05, 0.075, 0.1 and 0.125. Each ghost stays where the hero was at its spawn time, using the dash position formula. A ghost is the hero sprite drawn as a solid mint #5BE3B0 silhouette (every pixel the same color). It faces the travel direction, has the hero's size and is anchored at the feet. Even ghosts use the idle frame and odd ghosts the run frame. Ghost j at age a (seconds since it spawned) has opacity 0.5·(1 − a/0.28)·(1 − 0.08·j). So later ghosts start slightly fainter, each one is gone 0.28s after it spawns, and the last is gone at t ≈ 0.405. Because the dash eases out, the early ghosts are spread far apart and the late ones bunch up near the stop, which shows the deceleration. Draw the ghosts after the background and before the hero and its shadow, so the real hero is always on top. Clear all ghosts before the next dash; they only ever come from the current dash. Make it a reusable effect with its numbers exposed as parameters, triggered by one call (for example on hit, on pickup or on landing). Use my engine's normal tools (tweens, timers, particles, shaders). If you don't know which engine I use, ask me first.
Full prompt in the pack
Full prompt in the pack
Full prompt in the pack