Skip to content

VBVR-DataFactory/O-29_ballcolor_data-generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

O-29: Ball Color Data Generator

Generates synthetic strategy game tasks where a red ball cluster must absorb other colored clusters to grow. The task requires finding the correct sequence to absorb all clusters, following the rule that you can only absorb clusters smaller than your current size.

Each sample pairs a task (first frame + prompt describing what needs to happen) with its ground truth solution (final frame showing the result + video demonstrating how to achieve it). This structure enables both model evaluation and training.


📌 Basic Information

Property Value
Task ID O-29
Task Ball Color
Category Abstraction
Resolution 1024×1024 px
FPS 16 fps
Duration ~5 seconds max
Output PNG images + MP4 video

🚀 Usage

Installation

# Clone the repository
git clone https://github.com/VBVR-DataFactory/O-29_ballcolor_data-generator.git
cd O-29_ballcolor_data-generator

# Install dependencies
pip install -r requirements.txt

Generate Data

# Generate 100 samples
python examples/generate.py --num-samples 100

# Generate with specific seed
python examples/generate.py --num-samples 100 --seed 42

# Generate without videos
python examples/generate.py --num-samples 100 --no-videos

# Custom output directory
python examples/generate.py --num-samples 100 --output data/my_output

Command-Line Options

Argument Type Description Default
--num-samples int Number of samples to generate 100
--seed int Random seed for reproducibility Random
--output str Output directory data
--no-videos flag Skip video generation False

📖 Task Example

Prompt

In the scene, there are 3 ball clusters: red cluster A has 11 balls, and there are other clusters with different numbers of balls. The global TOTAL label shows the sum 25. Control the red cluster A to absorb other clusters. You can only absorb clusters that are smaller than the red cluster. Find the correct sequence to absorb all clusters step by step until all balls become red.

Visual

Initial Frame
Multiple colored clusters with counts
Animation
Red cluster absorbs others sequentially
Final Frame
All balls merged into red cluster

📖 Task Description

Objective

Control the red cluster to absorb all other colored clusters by finding the correct absorption sequence, following the constraint that you can only absorb clusters smaller than your current size.

Task Setup

  • Multiple Clusters: 2-4 ball clusters of different colors distributed in the scene
  • Red Cluster A: Starting cluster that grows by absorbing others
  • Size Constraint: Can only absorb clusters with fewer balls than current size
  • Cluster Sizes: Red cluster has 3-6 balls; other clusters have 2-5 balls each
  • Total Count Label: Shows sum of all balls across all clusters
  • Strategic Planning: May require absorbing clusters in specific order

Key Features

  • Sequential strategy: Tests planning ability to order absorption moves correctly
  • Size comparison: Requires tracking and comparing cluster sizes dynamically
  • Growth mechanic: Red cluster grows with each successful absorption
  • Constraint satisfaction: Must respect the "smaller cluster only" rule at each step
  • Dynamic state: Cluster sizes change as absorptions occur
  • Total conservation: Global ball count remains constant throughout
  • Victory condition: Task complete when all balls are red (single cluster)
  • Order dependency: Some sequences work while others fail due to size constraints

📦 Data Format

data/questions/ball_color_task/ball_color_00000000/
├── first_frame.png      # Initial state (multiple colored clusters)
├── final_frame.png      # Final state (all balls red)
├── prompt.txt           # Task instructions with cluster counts
├── ground_truth.mp4     # Solution video (16 fps, max 5 seconds)
└── question_metadata.json # Task metadata

File specifications: Images are 1024×1024 PNG. Videos are MP4 at 16 fps, maximum duration 5 seconds.


🏷️ Tags

strategy sequential-planning size-comparison absorption-mechanic growth-strategy constraint-satisfaction order-dependency


About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages