2D Art & Spine Animation Services for Games

Our video game development company runs independent projects, jointly creates games with the client and provides additional operational services. Expertise of our team allows us to cover all gaming platforms and develop an amazing product that matches the customer’s vision and players preferences.
Showing 5 of 5 servicesAll 242 services
FAQ
Our competencies
What are the stages of Game Development?
Latest works
  • image_games_mortal_motors_495_0.webp
    Game development for Mortal Motors
    663
  • image_games_a_turnbased_strategy_game_set_in_a_fantasy_setting_with_fire_and_sword_603_0.webp
    A turn-based strategy game set in a fantasy setting, With Fire and Sword
    859
  • image_games_second_team_604_0.webp
    Game development for the company Second term
    490
  • image_games_phoenix_ii_606_0.webp
    3D animation - teaser for the game Phoenix 2.
    533

2D Art and Animation

A mobile game with 200 character animations takes 800 MB just for textures. Google Play rejects the APK due to size. Meanwhile, half the animations are variations of the same movement with minor differences. This is a classic problem for teams choosing frame-by-frame animation where skeletal rigging delivers better results at a fraction of the size.

What the Service Includes

  • Concept art and illustrations — characters, environments, UI elements
  • Sprite animation — frame-by-frame, including Aseprite pipeline
  • Skeletal animation — Spine, DragonBones
  • 2D effects — particle-based, shader-based, animated textures
  • Atlas optimization — TexturePacker, Unity Sprite Atlas, platform-specific packing

Spine: Skeletal Animation in Detail

Spine (Esoteric Software) — the de facto standard for 2D game skeletal animation. Alternatives: DragonBones (free, fewer features) and native 2D Animation package in Unity (convenient integration, but weaker than Spine in features).

Skeletal vs Frame-by-Frame: When to Use Each

Criterion Skeletal (Spine) Frame-by-Frame (Aseprite)
Data size Small (bones + weights) Large (frames as images)
Blending flexibility High None
Expressiveness Depends on rigger Full artistic freedom
Production time Long rigging, fast iteration Each animation from scratch
Best for Characters, UI, creatures Pixel art, unique style

Rule that works in practice: if a character has more than 15 unique animations, Spine is more economical by size and iteration speed. If the project stylistically requires frame-by-frame (pixel art, rotoscope, cartoon style with deliberate artifacts)—use Aseprite.

Mesh Deformation in Spine

One of Spine's key features distinguishing it from simple skeletal systems. Mesh deformation warps a polygon mesh over the sprite via vertex weights—characters deform organically, clothing folds, cheeks puff.

Workflow:

  1. In Spine, create a mesh on the sprite (Tools > Mesh > Edit Mesh)
  2. Assign vertex weights to bones (Weights mode)
  3. Set vertex count based on needed deformation detail—more vertices = smoother deformation, higher computational cost

Path Constraints — another powerful tool: a bone follows a curve. Used for tails, hair, tentacles, ropes—any elements that should deform organically.

IK Constraints in Spine work via two- or three-bone chains. For limbs, it's mandatory: the animator moves the IK target (hand position), and the shoulder-forearm-hand chain automatically aligns. Without IK, animating limbs in FK wastes twice the time.

Spine Integration in Unity

Official Spine-Unity runtime — paid (included in Spine license), actively maintained. Components:

  • SkeletonAnimation — main animation component
  • SkeletonMecanim — integrates with Unity Animator Controller (convenient for reusing Mecanim logic)
  • SkeletonGraphic — for Canvas/UI (renders via CanvasRenderer, not MeshRenderer)

Performance note: SkeletonAnimation creates a separate Mesh per instance. With 50+ characters on screen, that's 50 draw calls minimum (without batching). Solution: SkeletonAnimation Batching via SubmeshSeparator + GPU instancing, or limit simultaneously visible Spine objects.

Spine Events — synchronization mechanism: an event in animation (footstep, attack_hit, spawn_particle) dispatches to Unity code via AnimationState.Event. Right architecture: Spine Event → UnityEvent → sound/particle/logic. Don't hardcode timing—animation can be slowed via timeScale.

Sprite Atlas and Texture Optimization

Each separate sprite in Unity creates a separate draw call. 100 UI icons without atlas = 100 draw calls just for UI. Sprite Atlas packs sprites into a single texture, batching draw calls for objects using one atlas.

TexturePacker vs Unity Sprite Atlas

TexturePacker (CodeAndWeb) — external tool, more flexible in packing settings. Supports multiple packing algorithms, transparent pixel trimming, edge extrusion to prevent bleeding, export to platform-specific formats (PVRTC for iOS, ETC2 for Android).

Unity Sprite Atlas (built-in) — convenient for Addressables and dynamic loading. Two modes: Master Atlas (full control) and Variant Atlas (reduced version for low-end devices via Scale Factor).

Practical packing rules:

  • Group by scene/screen: everything visible simultaneously goes in one atlas. Otherwise, batching doesn't help
  • Max atlas size: 2048x2048 for mobile, 4096x4096 for PC. Larger risks GPU issues on older hardware
  • Trim transparent pixels: mandatory. A sprite with large transparent fields wastes atlas space
  • Padding: 2-4 pixels between sprites prevents texture bleeding with mipmapping and UV filtering

Texture Compression Formats

Platform Recommended Format Note
Android ETC2 (RGB) / ETC2 RGBA8 Hardware accelerated on all modern Android
iOS ASTC 4x4 / 6x6 ASTC universal: quality + size
PC/Console DXT5 (BC3) Or BC7 for high quality
WebGL DXT5 + fallback Check support via SystemInfo

For atlases with many small sprites and sharp edges—ASTC 4x4 is preferable to ASTC 6x6 (fewer artifacts on small details).

2D Effects

Particle System (Shuriken) — for most 2D effects, the built-in suffices. For 2D: Renderer Mode = Billboard or Horizontal Billboard, Simulation Space = World for effects that shouldn't move with the character.

Visual Effect Graph (VFX Graph) in URP — GPU-based particles for complex effects with thousands of particles. For mobile—use cautiously; requires Compute Shaders (not all devices support).

Shader Graph for 2D: dissolve effects, outline via SDF, distortion (water, heat shimmer), animated UV (lava, water). Sprite Lit Shader + custom nodes in Shader Graph—standard approach for 2D in URP.

2D Animation Package (native Unity): PSDImporter for importing Photoshop layers as separate sprites, Sprite Skin for skeletal animation within Unity without Spine. Works for simple characters with limited animations—if the team prefers not to buy a Spine license.