From 982d0d40e6c9b39d816c3bca3d2c72dc777fc869 Mon Sep 17 00:00:00 2001 From: Tim-phant Date: Mon, 23 Mar 2026 14:16:27 +0000 Subject: [PATCH 01/12] local changes to make it work --- pufferlib/config/ocean/nmmo3.ini | 20 ++++++++++---------- pyproject.toml | 3 +-- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/pufferlib/config/ocean/nmmo3.ini b/pufferlib/config/ocean/nmmo3.ini index 8fa35f8ba3..7b0cd7663c 100644 --- a/pufferlib/config/ocean/nmmo3.ini +++ b/pufferlib/config/ocean/nmmo3.ini @@ -62,18 +62,18 @@ max = 16384 scale = auto #[sweep.env.reward_combat_level] -distribution = uniform -min = 0.0 -max = 1.0 -mean = 0.5 -scale = auto +#distribution = uniform +#min = 0.0 +#max = 1.0 +#mean = 0.5 +#scale = auto #[sweep.env.reward_prof_level] -distribution = uniform -min = 0.0 -max = 1.0 -mean = 0.5 -scale = auto +#distribution = uniform +#min = 0.0 +#max = 1.0 +#mean = 0.5 +#scale = auto [sweep.env.reward_item_level] distribution = uniform diff --git a/pyproject.toml b/pyproject.toml index d00432ec6e..528d3baa76 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,8 +4,7 @@ version = "3.0.0" description = "Fast and sane reinforcement learning" requires-python = ">=3.9" readme = {file = "README.md", content-type = "text/markdown"} -license = "MIT" -license-files = ["LICENSE"] +license = { text = "MIT" } authors = [{ name = "Joseph Suarez", email = "jsuarez@puffer.ai" }] classifiers=[ "Intended Audience :: Science/Research", From 998262673f8b668281224bd29c8f51b805c96ef3 Mon Sep 17 00:00:00 2001 From: Tim-phant Date: Mon, 23 Mar 2026 18:53:24 +0000 Subject: [PATCH 02/12] working sweeps --- pufferlib/config/ocean/boxoban.ini | 55 +++ pufferlib/ocean/boxoban/binding.c | 29 ++ pufferlib/ocean/boxoban/boxoban.c | 194 ++++++++ pufferlib/ocean/boxoban/boxoban.h | 420 ++++++++++++++++ pufferlib/ocean/boxoban/boxoban.py | 71 +++ pufferlib/ocean/boxoban/boxoban_maps.h | 453 ++++++++++++++++++ pufferlib/ocean/boxoban/generate_maps.h | 368 ++++++++++++++ pufferlib/ocean/boxoban/parse_maps.h | 252 ++++++++++ .../boxoban/sprites_pack/PNG/Crate_Black.png | Bin 0 -> 1879044 bytes .../sprites_pack/PNG/EndPoint_Black.png | Bin 0 -> 1728222 bytes .../sprites_pack/PNG/EndPoint_Blue.png | Bin 0 -> 1490925 bytes .../PNG/GroundGravel_Concrete.png | Bin 0 -> 1804349 bytes .../boxoban/sprites_pack/PNG/Wall_Black.png | Bin 0 -> 1469136 bytes pufferlib/ocean/environment.py | 1 + 14 files changed, 1843 insertions(+) create mode 100644 pufferlib/config/ocean/boxoban.ini create mode 100644 pufferlib/ocean/boxoban/binding.c create mode 100644 pufferlib/ocean/boxoban/boxoban.c create mode 100644 pufferlib/ocean/boxoban/boxoban.h create mode 100644 pufferlib/ocean/boxoban/boxoban.py create mode 100644 pufferlib/ocean/boxoban/boxoban_maps.h create mode 100644 pufferlib/ocean/boxoban/generate_maps.h create mode 100644 pufferlib/ocean/boxoban/parse_maps.h create mode 100644 pufferlib/ocean/boxoban/sprites_pack/PNG/Crate_Black.png create mode 100644 pufferlib/ocean/boxoban/sprites_pack/PNG/EndPoint_Black.png create mode 100644 pufferlib/ocean/boxoban/sprites_pack/PNG/EndPoint_Blue.png create mode 100644 pufferlib/ocean/boxoban/sprites_pack/PNG/GroundGravel_Concrete.png create mode 100644 pufferlib/ocean/boxoban/sprites_pack/PNG/Wall_Black.png diff --git a/pufferlib/config/ocean/boxoban.ini b/pufferlib/config/ocean/boxoban.ini new file mode 100644 index 0000000000..e5455a8ff8 --- /dev/null +++ b/pufferlib/config/ocean/boxoban.ini @@ -0,0 +1,55 @@ +[base] +package = ocean +env_name = puffer_boxoban +policy_name = Policy +rnn_name = Recurrent + +[vec] +total_agents = 16384 +num_buffers = 8 +num_threads = 4 + +[policy] +num_layers = 3 +hidden_size = 256 + +[env] +num_agents = 1 +#0 basic, 1 easy, 2 medium, 3 hard, 4 unfiltered +difficulty = 1 +#reward per intermediate target (once per episode) +int_r_coeff = 0.25 +#moving box off target +target_loss_pen_coeff = 0.0 +max_steps = 300 + + +[train] +anneal_lr = 1 +beta1 = 0.9552949759646844 +beta2 = 0.9953139311721624 +clip_coef = 0.01 +ent_coef = 0.00013933689574860213 +eps = 0.00000000000153820701 +gae_lambda = 0.19999999999999996 +gamma = 0.986184084546895 +gpus = 1 +horizon = 32 +learning_rate = 0.003776364420407994 +max_grad_norm = 1.8486959069159363 +min_lr_ratio = 0.37872027027338984 +minibatch_size = 4096 +prio_alpha = 0.8646505783469447 +prio_beta0 = 0.8287716342217886 +replay_ratio = 3.5359047237524988 +seed = 42 +total_timesteps = 41864993 +use_rnn = true +vf_clip_coef = 5 +vf_coef = 4.444818925590201 +vtrace_c_clip = 4.2719952740551355 +vtrace_rho_clip = 3.84374084727298 + +[sweep] +metric = perf + diff --git a/pufferlib/ocean/boxoban/binding.c b/pufferlib/ocean/boxoban/binding.c new file mode 100644 index 0000000000..86c6b341d8 --- /dev/null +++ b/pufferlib/ocean/boxoban/binding.c @@ -0,0 +1,29 @@ +#define BOXOBAN_MAPS_IMPLEMENTATION //enables mmap +#include "boxoban.h" +#define OBS_SIZE 400 +#define NUM_ATNS 1 +#define ACT_SIZES {5} +#define OBS_TENSOR_T ByteTensor + + +#define Env Boxoban +#include "vecenv.h" + + +void my_init(Env* env, Dict* kwargs) { + env->difficulty_id = (int)dict_get(kwargs, "difficulty")->value; + env->size = 10; + env->num_agents = 1; + env->max_steps = (int)dict_get(kwargs, "max_steps")->value; + env->int_r_coeff = (float)dict_get(kwargs, "int_r_coeff")->value; + env->target_loss_pen_coeff = (float)dict_get(kwargs, "target_loss_pen_coeff")->value; + init(env); +} + +void my_log(Log* log, Dict* out) { + dict_set(out, "perf", log->perf); + dict_set(out, "score", log->score); + dict_set(out, "episode_return", log->episode_return); + dict_set(out, "episode_length", log->episode_length); + dict_set(out, "targets_hit", log->on_targets); +} diff --git a/pufferlib/ocean/boxoban/boxoban.c b/pufferlib/ocean/boxoban/boxoban.c new file mode 100644 index 0000000000..b6a9a1d21b --- /dev/null +++ b/pufferlib/ocean/boxoban/boxoban.c @@ -0,0 +1,194 @@ +/* Pure C demo file for Boxoban. Usage: + * bash scripts/build_ocean.sh boxoban + * ./boxoban [difficulty|path_to_bin] + * + * If you pass one of the known difficulty names (basic, easy, medium, + * hard, unfiltered) the demo looks for pufferlib/ocean/boxoban/boxoban_maps_.bin + * Otherwise the argument is treated as an explicit path to a bin file. + */ + +#define BOXOBAN_MAPS_IMPLEMENTATION +#include "boxoban.h" + +static int is_named_difficulty(const char* arg) { + return strcmp(arg, "basic") == 0 || + strcmp(arg, "easy") == 0 || + strcmp(arg, "medium") == 0 || + strcmp(arg, "hard") == 0 || + strcmp(arg, "unfiltered") == 0; +} + +static const char* resolve_map_path(int argc, char** argv, char* buffer, size_t buf_sz) { + const char* arg = argc > 1 ? argv[1] : NULL; + if (arg == NULL) { + if (boxoban_prepare_maps_for_difficulty("easy", buffer, buf_sz) != 0) { + return NULL; + } + return buffer; + } + if (strchr(arg, '/')) { + return arg; + } + if (is_named_difficulty(arg)) { + if (boxoban_prepare_maps_for_difficulty(arg, buffer, buf_sz) != 0) { + return NULL; + } + return buffer; + } + snprintf(buffer, buf_sz, "pufferlib/ocean/boxoban/boxoban_maps_%s.bin", arg); + return buffer; +} + + +int demo(int argc, char** argv) { + char path_buffer[512]; + const char* chosen_path = resolve_map_path(argc, argv, path_buffer, sizeof(path_buffer)); + if (chosen_path == NULL) { + fprintf(stderr, "Failed to prepare map path\n"); + return 1; + } + if (boxoban_set_map_path(chosen_path) != 0) { + fprintf(stderr, "Failed to set map path: %s\n", chosen_path); + return 1; + } + + Boxoban env = { + .size = 10, + .observations = NULL, + .actions = NULL, + .rewards = NULL, + .terminals = NULL, + .max_steps = 500, + .int_r_coeff = 0.1f, + .target_loss_pen_coeff = 0.5f, + .tick = 0, + .agent_x = 0, + .agent_y = 0, + .intermediate_rewards = NULL, + .on_target = 0, + .n_boxes = 0, + .win = 0, + .difficulty_id = -1, + .client = NULL, + .n_targets = 0, + + }; + + size_t obs_count = 4u * (size_t)env.size * (size_t)env.size; + env.observations = calloc(obs_count, sizeof(unsigned char)); + env.actions = calloc(1, sizeof(int)); + env.rewards = calloc(1, sizeof(float)); + env.terminals = calloc(1, sizeof(unsigned char)); + + init(&env); + c_reset(&env); + c_render(&env); + while (!WindowShouldClose()) { + if (IsKeyPressed(KEY_LEFT_SHIFT) || IsKeyPressed(KEY_RIGHT_SHIFT)) { + TraceLog(LOG_INFO, "Shift key pressed"); + } + bool manual = IsKeyDown(KEY_LEFT_SHIFT) || IsKeyDown(KEY_RIGHT_SHIFT); + bool stepped = false; + if (manual) { + int new_action = -1; + if (IsKeyDown(KEY_UP) || IsKeyDown(KEY_W)) new_action = UP; + if (IsKeyDown(KEY_DOWN) || IsKeyDown(KEY_S)) new_action = DOWN; + if (IsKeyDown(KEY_LEFT) || IsKeyDown(KEY_A)) new_action = LEFT; + if (IsKeyDown(KEY_RIGHT) || IsKeyDown(KEY_D)) new_action = RIGHT; + + if (new_action >= 0) { + env.actions[0] = new_action; + c_step(&env); + stepped = true; + } + } else { + env.actions[0] = rand() % 5; + c_step(&env); + stepped = true; + } + + if (!stepped) { + // Manual mode with no direction: stay paused + } + c_render(&env); + } + free(env.observations); + free(env.actions); + free(env.rewards); + free(env.terminals); + c_close(&env); + return 0; +} + +void test_performance(int argc, char** argv, int timeout) { + char path_buffer[512]; + const char* chosen_path = resolve_map_path(argc, argv, path_buffer, sizeof(path_buffer)); + if (chosen_path == NULL) { + fprintf(stderr, "Failed to prepare map path\n"); + return; + } + if (boxoban_set_map_path(chosen_path) != 0) { + fprintf(stderr, "Failed to set map path: %s\n", chosen_path); + return; + } + printf("Loaded map: %s\n", chosen_path); + + Boxoban env = { + .size = 10, + .observations = NULL, + .actions = NULL, + .rewards = NULL, + .terminals = NULL, + .max_steps = 500, + .int_r_coeff = 0.1f, + .target_loss_pen_coeff = 0.5f, + .tick = 0, + .agent_x = 0, + .agent_y = 0, + .intermediate_rewards = NULL, + .on_target = 0, + .n_boxes = 0, + .win = 0, + .difficulty_id = -1, + .client = NULL, + .n_targets = 0, + }; + + size_t obs_count = 4u * (size_t)env.size * (size_t)env.size; + env.observations = calloc(obs_count, sizeof(unsigned char)); + env.actions = calloc(1, sizeof(int)); + env.rewards = calloc(1, sizeof(float)); + env.terminals = calloc(1, sizeof(unsigned char)); + + printf("Initializing...\n"); + init(&env); + printf("Resetting...\n"); + c_reset(&env); + printf("Starting test...\n"); + + int start = time(NULL); + int num_steps = 0; + while (time(NULL) - start < timeout) { + env.actions[0] = rand() % 5; + c_step(&env); + num_steps++; + } + + int end = time(NULL); + float sps = num_steps / (end - start); + printf("Test Environment SPS: %f\n", sps); + free(env.observations); + free(env.actions); + free(env.rewards); + free(env.terminals); + c_close(&env); +} + +int main(int argc, char** argv) { + demo(argc, argv); + setbuf(stdout, NULL); + fprintf(stderr, "Entered main\n"); + fflush(stderr); + //test_performance(argc, argv,10); + return 0; +} diff --git a/pufferlib/ocean/boxoban/boxoban.h b/pufferlib/ocean/boxoban/boxoban.h new file mode 100644 index 0000000000..74a8206dcf --- /dev/null +++ b/pufferlib/ocean/boxoban/boxoban.h @@ -0,0 +1,420 @@ +#include +#include +#include +#include +#include "raylib.h" +#include "boxoban_maps.h" + +const unsigned char NOOP = 0; +const unsigned char DOWN = 1; +const unsigned char UP = 2; +const unsigned char LEFT = 3; +const unsigned char RIGHT = 4; + +const unsigned char AGENT = 0; +const unsigned char WALLS = 1; +const unsigned char BOXES = 2; +const unsigned char TARGET = 3; + +// Required struct. Only use floats! +typedef struct { + float perf; // Recommended 0-1 normalized single real number perf metric + float score; // Recommended unnormalized single real number perf metric + float episode_return; // Recommended metric: sum of agent rewards over episode + float episode_length; // Recommended metric: number of steps of agent episode + // Any extra fields you add here may be exported to Python in binding.c + float on_targets; // Number of targets currently boxed + float n; // Required as the last field +} Log; + +typedef struct { + Texture2D wall; + Texture2D box; + Texture2D target; + Texture2D floor; + Texture2D agent; + Texture2D box_on_target; +} Client; + +// Required that you have some struct for your env +// Recommended that you name it the same as the env file +typedef struct { + Log log; // Required field. Env binding code uses this to aggregate logs + unsigned char* observations; // Required. You can use any obs type, but make sure it matches in Python! + float* actions; // Required. int* for discrete/multidiscrete, float* for box + float* rewards; // Required + float* terminals; // Required. We don't yet have truncations as standard yet + unsigned int rng; + int size; + int num_agents; + int tick; + int max_steps; + int agent_x; + int agent_y; + unsigned char* intermediate_rewards; + float int_r_coeff; + float target_loss_pen_coeff; + int on_target; //num targets currently boxed + int n_boxes; //boxes in map + int n_targets; //targets in map + int difficulty_id; // 0=basic,1=easy,2=medium,3=hard,4=unfiltered + Client* client; + int win; +} Boxoban; + +void ensure_map_loaded(void); + +static int boxoban_configure_maps_from_env(Boxoban* env) { + if (env->difficulty_id == -1) { + return 0; + } + + if (env->difficulty_id < -1) { + fprintf(stderr, "Invalid Boxoban difficulty id %d\n", env->difficulty_id); + return -1; + } + + const char* difficulty_name = boxoban_difficulty_name_from_id(env->difficulty_id); + if (difficulty_name == NULL) { + fprintf(stderr, "Invalid Boxoban difficulty id %d\n", env->difficulty_id); + return -1; + } + char prepared_path[512]; + if (boxoban_prepare_maps_for_difficulty(difficulty_name, prepared_path, sizeof(prepared_path)) != 0) { + return -1; + } + + return 0; +} + +//Entity,x,y convention y moves top to bottom + +static inline void set_entity(Boxoban *env, int entity, int x, int y, unsigned char value) { + env->observations[(entity)*env->size*env->size + (y)*env->size + (x)] = value; +} + +static inline unsigned char get_entity(Boxoban *env, int entity, int x, int y) { + return env->observations[(entity)*env->size*env->size + (y)*env->size + (x)]; +} + +static inline void set_intermediate_reward(Boxoban *env, int x, int y, unsigned char value) { + env->intermediate_rewards[(y)*env->size + (x)] = value; +} + +static inline unsigned char get_intermediate_reward_status(Boxoban *env, int x, int y) { + return env->intermediate_rewards[(y)*env->size + (x)]; +} + +static inline const uint32_t get_random_puzzle_idx(const Boxoban *env) { + int idx = rand() % PUZZLE_COUNT; + return idx; +} + + +void init (Boxoban* env) { + if (boxoban_configure_maps_from_env(env) != 0) { + fprintf(stderr, "Failed to configure Boxoban maps\n"); + abort(); + } + ensure_map_loaded(); + env->intermediate_rewards = calloc(env->size*env->size, sizeof(unsigned char)); + env->win = 0; + } + + +void add_log(Boxoban* env) { + float denom = (float)env->n_boxes; + float num = (float)env->on_target; + env->log.perf += (env->win== 1) ? 1.0 : num/denom; + env->log.score += env->rewards[0]; + env->log.episode_length += env->tick; + env->log.episode_return += env->rewards[0]; + env->log.on_targets += env->on_target; + env->log.n++; +} + + +bool clear(Boxoban* env, int x, int y) { + if (x < 0 || y < 0 || x >= env->size || y >= env->size) { + return false; + } + return (get_entity(env, WALLS, x, y) == 0) && (get_entity(env, BOXES, x, y) == 0); +} + +// Required function +void c_reset(Boxoban* env) { + const uint32_t i = get_random_puzzle_idx(env); + const uint8_t* puzzle = MAP_BASE + (size_t)i * PUZZLE_SIZE; + memcpy(env->observations, puzzle, PUZZLE_OBS_BYTES); + + const uint8_t* meta = puzzle + PUZZLE_OBS_BYTES; + env->agent_x = (int)meta[0]; + env->agent_y = (int)meta[1]; + env->n_boxes = (int)meta[2]; + env->n_targets = (int)meta[3]; + env->on_target = (int)meta[4]; + + memcpy(env->intermediate_rewards, + env->observations + TARGET * env->size * env->size,env->size * env->size); + + env->tick = 0; + env->win = 0; + +} + +//Updates OBS for moved entity +void move_entity(Boxoban* env,unsigned char entity,int x, int y, int dx, int dy) { + set_entity(env, entity, x, y, 0); + set_entity(env, entity, x + dx, y + dy, 1); +} + +//Updates state and intermediate reward array in place +int take_action(Boxoban* env, int action) { + + int dx = 0; + int dy = 0; + int int_r = 0; + + if (action == NOOP) { + return 0; + } + else if (action == DOWN) { + dy = 1; + } + else if (action == UP) { + dy = -1; + } + else if (action == LEFT) { + dx = -1; + } + else if (action == RIGHT) { + dx = 1; + } + + //if move space is clear, move agent + if (clear(env, env->agent_x + dx, env->agent_y + dy)) { + + move_entity(env, AGENT, env->agent_x, env->agent_y, dx, dy); + env->agent_y += dy; + env->agent_x += dx; + return 0; + } + //if its not clear, but its a box and box is clear to move, move both + else if (clear(env, env->agent_x+ 2*dx, env->agent_y + 2*dy) + && get_entity(env, BOXES, env->agent_x + dx, env->agent_y + dy) == 1) { + + //if box is on target currently, remove from on_target count + if (get_entity(env, TARGET, env->agent_x + dx, env->agent_y + dy) == 1) { + + env->on_target -= 1; + } + //move both entities + move_entity(env, BOXES, env->agent_x + dx, env->agent_y + dy, dx, dy); + move_entity(env, AGENT, env->agent_x, env->agent_y, dx, dy); + env->agent_y += dy; + env->agent_x += dx; + + //if box is now on target, add to on_target count + //if its a new target recieve intermediate reward and zero out intermediate reward + if (get_entity(env, TARGET, env->agent_x + dx, env->agent_y + dy) == 1) { + + env->on_target += 1; + int_r = get_intermediate_reward_status(env, env->agent_x + dx, env->agent_y + dy); + set_intermediate_reward(env, env->agent_x + dx, env->agent_y + dy, 0); + } + return int_r; + } + return 0; +} + +// Required function +void c_step(Boxoban* env) { + env->tick += 1; + env->terminals[0] = 0; + env->rewards[0] = 0.0; + + int action = (int)env->actions[0]; + + float on_target = env->on_target; + int int_r = take_action(env, action); //int_r _new_ tgts covered, modifies observations in place + float on_target_after = env->on_target; + + env->rewards[0] += (float)int_r * env->int_r_coeff; //coeff in .ini + + if (on_target_after < on_target) { //target loss penalty + env->rewards[0] -= env->target_loss_pen_coeff; //coeff in .ini + } + + //Terminals + if (env->on_target == env->n_targets) { + env->terminals[0] = 1; + env->rewards[0] += 1.0; + env->win = 1; + add_log(env); + c_reset(env); + return; + } + + if (env->tick >= env->max_steps) { + env->terminals[0] = 1; + env->rewards[0] -= 1.0; + add_log(env); + c_reset(env); + return; + } + +} + +/*Rendering stuff*/ + +Client* c_create(Boxoban* env) { + Client* client = calloc(1,sizeof(Client)); + const char *sprite_search_paths[] = { + "sprites_pack/PNG", + "pufferlib/ocean/boxoban/sprites_pack/PNG", + "../pufferlib/ocean/boxoban/sprites_pack/PNG", + }; + const char *sprite_base = NULL; + for (unsigned i = 0; i < sizeof(sprite_search_paths)/sizeof(sprite_search_paths[0]); i++) { + if (DirectoryExists(sprite_search_paths[i])) { + sprite_base = sprite_search_paths[i]; + break; + } + } + if (sprite_base == NULL) { + TraceLog(LOG_WARNING, "Boxoban sprites not found next to executable, using default relative path"); + sprite_base = "sprites_pack/PNG"; + } + + char resource_path[256] = {0}; + + snprintf(resource_path, sizeof(resource_path), "%s/Wall_black.png", sprite_base); + client->wall = LoadTexture(resource_path); + snprintf(resource_path, sizeof(resource_path), "%s/Crate_black.png", sprite_base); + client->box = LoadTexture(resource_path); + snprintf(resource_path, sizeof(resource_path), "%s/EndPoint_black.png", sprite_base); + client->target = LoadTexture(resource_path); + snprintf(resource_path, sizeof(resource_path), "%s/GroundGravel_Concrete.png", sprite_base); + client->floor = LoadTexture(resource_path); + snprintf(resource_path, sizeof(resource_path), "%s/EndPoint_Blue.png", sprite_base); + client->box_on_target = LoadTexture(resource_path); + client->agent = LoadTexture("resources/shared/puffers_128.png"); + + env-> client = client; + return client; +} + +#define TILE 32 + +Texture2D choose_sprite(Client *c, Boxoban *env, int x, int y) { + int a = get_entity(env, AGENT, x, y); + int w = get_entity(env, WALLS, x, y); + int b = get_entity(env, BOXES, x, y); + int t = get_entity(env, TARGET, x, y); + + if (w) return c->wall; + if (b && t) return c->box_on_target; + if (b) return c->box; + if (a) return c->agent; + if (t) return c->target; + + return c->floor; +} + +void draw_tile(Boxoban *env, int x, int y) { + Client *c = env->client; + Rectangle dest = {x * TILE, y * TILE, TILE, TILE}; + + // Always lay down the base tile + DrawTexturePro( + c->floor, + (Rectangle){0, 0, (float)c->floor.width, (float)c->floor.height}, + dest, + (Vector2){0, 0}, + 0.0f, + WHITE); + + if (get_entity(env, TARGET, x, y)) { + DrawTexturePro( + c->target, + (Rectangle){0, 0, (float)c->target.width, (float)c->target.height}, + dest, + (Vector2){0, 0}, + 0.0f, + WHITE); + } + if (get_entity(env, BOXES, x, y)) { + Texture2D tex = get_entity(env, TARGET, x, y) ? c->box_on_target : c->box; + DrawTexturePro( + tex, + (Rectangle){0, 0, (float)tex.width, (float)tex.height}, + dest, + (Vector2){0, 0}, + 0.0f, + WHITE); + } + if (get_entity(env, WALLS, x, y)) { + DrawTexturePro( + c->wall, + (Rectangle){0, 0, (float)c->wall.width, (float)c->wall.height}, + dest, + (Vector2){0, 0}, + 0.0f, + WHITE); + } + if (get_entity(env, AGENT, x, y)) { + Rectangle src = {0, 0, c->agent.width / 2.0f, (float)c->agent.height}; + DrawTexturePro(c->agent, src, dest, (Vector2){0, 0}, 0.0f, WHITE); + } + } + + +// Required function. Should handle creating the client on first call +void c_render(Boxoban* env) { + if (!IsWindowReady()) { + InitWindow(TILE*env->size, TILE*env->size, "PufferLib Boxoban"); + SetTargetFPS(10); + } + + // Standard across our envs so exiting is always the same + if (IsKeyDown(KEY_ESCAPE)) { + exit(0); + } + + if (env->client == NULL) { + env->client = c_create(env); + } + + BeginDrawing(); + ClearBackground((Color){6, 24, 24, 255}); + + for (int y = 0; y < env->size; y++) { + for (int x = 0; x < env->size; x++) { + draw_tile(env, x, y); + } + } + + + EndDrawing(); +} + +// Required function. Should clean up anything you allocated +// Do not free env->observations, actions, rewards, terminals +void c_close(Boxoban* env) { + if (env->intermediate_rewards) { + free(env->intermediate_rewards); + env->intermediate_rewards = NULL; + } + if (IsWindowReady()) { + if (env->client) { + UnloadTexture(env->client->wall); + UnloadTexture(env->client->box); + UnloadTexture(env->client->target); + UnloadTexture(env->client->floor); + UnloadTexture(env->client->agent); + free(env->client); + env->client = NULL; + } + CloseWindow(); + } +} diff --git a/pufferlib/ocean/boxoban/boxoban.py b/pufferlib/ocean/boxoban/boxoban.py new file mode 100644 index 0000000000..1c1ff460c0 --- /dev/null +++ b/pufferlib/ocean/boxoban/boxoban.py @@ -0,0 +1,71 @@ +import gymnasium +import numpy as np + +import pufferlib +from pufferlib.ocean.boxoban import binding + +class Boxoban(pufferlib.PufferEnv): + def __init__(self, num_envs=1, render_mode=None, log_interval=128, size=10, buf=None, seed=0, difficulty=0, max_steps = 500,int_r_coeff = 0.1, target_loss_pen_coeff = 0.5): + self.shape = size*size*4 #agents walls boxes targets OHE + self.difficulty = difficulty + self._difficulty_stat_key = f"difficulty ({self.difficulty})" + self.single_observation_space = gymnasium.spaces.Box(low=0, high=1, + shape=(self.shape,), dtype=np.uint8) + self.single_action_space = gymnasium.spaces.Discrete(5) + self.render_mode = render_mode + self.num_agents = num_envs + self.log_interval = log_interval + self.max_steps = max_steps + self.int_r_coeff = int_r_coeff + self.target_loss_pen_coeff = target_loss_pen_coeff + + super().__init__(buf) + self.c_envs = binding.vec_init(self.observations, self.actions, self.rewards, + self.terminals, self.truncations, num_envs, seed, size=size, max_steps = self.max_steps, int_r_coeff = self.int_r_coeff, target_loss_pen_coeff = self.target_loss_pen_coeff, difficulty=self.difficulty) + + def reset(self, seed=0): + binding.vec_reset(self.c_envs, seed) + self.tick = 0 + return self.observations, [] + + def step(self, actions): + self.tick += 1 + + self.actions[:] = actions + binding.vec_step(self.c_envs) + + info = [] + if self.tick % self.log_interval == 0: + log_dict = binding.vec_log(self.c_envs) + log_dict[self._difficulty_stat_key] = 1.0 + info.append(log_dict) + + return (self.observations, self.rewards, + self.terminals, self.truncations, info) + + def render(self): + binding.vec_render(self.c_envs, 0) + + def close(self): + binding.vec_close(self.c_envs) + +if __name__ == '__main__': + N = 1 + + env = Boxoban(num_envs=N) + env.reset() + env.render() + steps = 0 + + CACHE = 1024 + actions = np.random.randint(0, 5, (CACHE, N)) + + i = 0 + import time + start = time.time() + while time.time() - start < 10: + env.step(actions[i % CACHE]) + steps += N + i += 1 + + print('Boxoban SPS:', int(steps / (time.time() - start))) diff --git a/pufferlib/ocean/boxoban/boxoban_maps.h b/pufferlib/ocean/boxoban/boxoban_maps.h new file mode 100644 index 0000000000..437043d454 --- /dev/null +++ b/pufferlib/ocean/boxoban/boxoban_maps.h @@ -0,0 +1,453 @@ +#ifndef PUFFERLIB_OCEAN_BOXOBAN_MAPS_H +#define PUFFERLIB_OCEAN_BOXOBAN_MAPS_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "generate_maps.h" +#include "parse_maps.h" + +/* +Maps are stored in binary files keyed by difficulty. +If the bin does not exist it is created on the fly, then mmapped and shared by envs. +*/ + +extern uint8_t *MAP_BASE; +extern size_t MAP_FILESIZE; +extern size_t PUZZLE_COUNT; +extern size_t PUZZLE_SIZE; +extern size_t PUZZLE_OBS_BYTES; + +int boxoban_prepare_maps_for_difficulty(const char* difficulty, char* out_path, size_t out_cap); +int boxoban_set_map_path(const char *path); +int boxoban_difficulty_id_from_name(const char* difficulty_name); +const char* boxoban_difficulty_name_from_id(int difficulty_id); +void ensure_map_loaded(void); + +#ifdef BOXOBAN_MAPS_IMPLEMENTATION + +uint8_t *MAP_BASE = NULL; +size_t MAP_FILESIZE = 0; +size_t PUZZLE_COUNT = 0; +size_t PUZZLE_SIZE = BOXOBAN_PUZZLE_BYTES; +size_t PUZZLE_OBS_BYTES = BOXOBAN_PUZZLE_OBS_BYTES; +static char* BOXOBAN_MAP_PATH = NULL; +static const char* BOXOBAN_LEVEL_ROOT = "pufferlib/ocean/boxoban/boxoban-levels"; + +typedef struct { + char** items; + size_t count; + size_t cap; +} BoxobanPathList; + +static int boxoban_cmp_strings(const void* a, const void* b) { + const char* const* sa = (const char* const*)a; + const char* const* sb = (const char* const*)b; + return strcmp(*sa, *sb); +} + +static void boxoban_path_list_free(BoxobanPathList* list) { + for (size_t i = 0; i < list->count; i++) { + free(list->items[i]); + } + free(list->items); + list->items = NULL; + list->count = 0; + list->cap = 0; +} + +static int boxoban_path_list_append(BoxobanPathList* list, const char* path) { + if (list->count == list->cap) { + size_t next_cap = list->cap == 0 ? 64 : list->cap * 2; + char** next = (char**)realloc(list->items, next_cap * sizeof(char*)); + if (next == NULL) { + return -1; + } + list->items = next; + list->cap = next_cap; + } + char* copied = (char*)malloc(strlen(path) + 1); + if (copied == NULL) { + return -1; + } + strcpy(copied, path); + list->items[list->count++] = copied; + return 0; +} + +static int boxoban_has_txt_suffix(const char* name) { + size_t len = strlen(name); + return len >= 4 && strcmp(name + len - 4, ".txt") == 0; +} + +int boxoban_difficulty_id_from_name(const char* difficulty_name) { + if (difficulty_name == NULL) { + return -1; + } + + if (strcmp(difficulty_name, "basic") == 0) { + return 0; + } + if (strcmp(difficulty_name, "easy") == 0) { + return 1; + } + if (strcmp(difficulty_name, "medium") == 0) { + return 2; + } + if (strcmp(difficulty_name, "hard") == 0) { + return 3; + } + if (strcmp(difficulty_name, "unfiltered") == 0) { + return 4; + } + + return -1; +} + +const char* boxoban_difficulty_name_from_id(int difficulty_id) { + switch (difficulty_id) { + case 0: + return "basic"; + case 1: + return "easy"; + case 2: + return "medium"; + case 3: + return "hard"; + case 4: + return "unfiltered"; + default: + return NULL; + } +} + +static int boxoban_dir_has_txt(const char* dir_path) { + DIR* dir = opendir(dir_path); + if (dir == NULL) { + return 0; + } + struct dirent* ent; + while ((ent = readdir(dir)) != NULL) { + if (boxoban_has_txt_suffix(ent->d_name)) { + closedir(dir); + return 1; + } + } + closedir(dir); + return 0; +} + +static int boxoban_collect_sorted_txt_paths_in_dir(const char* dir_path, BoxobanPathList* out_paths) { + DIR* dir = opendir(dir_path); + if (dir == NULL) { + fprintf(stderr, "Missing level directory %s\n", dir_path); + return -1; + } + + BoxobanPathList names = {0}; + struct dirent* ent; + while ((ent = readdir(dir)) != NULL) { + if (!boxoban_has_txt_suffix(ent->d_name)) { + continue; + } + if (boxoban_path_list_append(&names, ent->d_name) != 0) { + boxoban_path_list_free(&names); + closedir(dir); + return -1; + } + } + closedir(dir); + + qsort(names.items, names.count, sizeof(char*), boxoban_cmp_strings); + for (size_t i = 0; i < names.count; i++) { + char full_path[1400]; + snprintf(full_path, sizeof(full_path), "%s/%s", dir_path, names.items[i]); + if (boxoban_path_list_append(out_paths, full_path) != 0) { + boxoban_path_list_free(&names); + return -1; + } + } + boxoban_path_list_free(&names); + return 0; +} + +static int boxoban_collect_maps_from_dir(const char* rel_path, BoxobanPathList* out_paths) { + char level_dir[1400]; + struct stat st; + + snprintf(level_dir, sizeof(level_dir), "%s/%s", BOXOBAN_LEVEL_ROOT, rel_path); + if (stat(level_dir, &st) != 0 || !S_ISDIR(st.st_mode)) { + fprintf(stderr, "Missing level directory %s\n", level_dir); + return -1; + } + + return boxoban_collect_sorted_txt_paths_in_dir(level_dir, out_paths); +} + +static int boxoban_collect_maps(const char* difficulty, BoxobanPathList* out_paths) { + if (strcmp(difficulty, "basic") == 0) { + return boxoban_collect_maps_from_dir("basic/train", out_paths); + } + if (strcmp(difficulty, "easy") == 0) { + return boxoban_collect_maps_from_dir("easy/train", out_paths); + } + if (strcmp(difficulty, "medium") == 0) { + return boxoban_collect_maps_from_dir("medium/train", out_paths); + } + if (strcmp(difficulty, "hard") == 0) { + return boxoban_collect_maps_from_dir("hard", out_paths); + } + if (strcmp(difficulty, "unfiltered") == 0) { + return boxoban_collect_maps_from_dir("unfiltered/train", out_paths); + } + + fprintf(stderr, "Invalid difficulty '%s'\n", difficulty); + return -1; +} + +static int boxoban_download_text_maps(const char* difficulty) { + char zip_url[512]; + snprintf(zip_url, sizeof(zip_url), + "https://raw.githubusercontent.com/TBBristol/pufferlib_boxoban_levels/main/%s.zip", + difficulty); + fprintf(stdout, "[Boxoban] Downloading %s maps from %s\n", difficulty, zip_url); + + char tmp_template[] = "/tmp/boxoban_maps_XXXXXX"; + char* tmp_dir = mkdtemp(tmp_template); + if (tmp_dir == NULL) { + return -1; + } + + char zip_path[1400]; + snprintf(zip_path, sizeof(zip_path), "%s/%s.zip", tmp_dir, difficulty); + + char cmd[4096]; + snprintf(cmd, sizeof(cmd), "curl -L --fail -o '%s' '%s' > /dev/null 2>&1", zip_path, zip_url); + if (system(cmd) != 0) { + fprintf(stderr, "Failed to download Boxoban maps with curl\n"); + return -1; + } + + snprintf(cmd, sizeof(cmd), "unzip -q '%s' -d '%s'", zip_path, tmp_dir); + if (system(cmd) != 0) { + fprintf(stderr, "Failed to unzip Boxoban maps archive\n"); + return -1; + } + + char extracted_root[1400] = {0}; + char find_cmd[4096]; + snprintf(find_cmd, sizeof(find_cmd), "find '%s' -type d -name '%s' | head -n 1", tmp_dir, difficulty); + FILE* find_pipe = popen(find_cmd, "r"); + if (find_pipe == NULL) { + return -1; + } + if (fgets(extracted_root, sizeof(extracted_root), find_pipe) == NULL) { + pclose(find_pipe); + fprintf(stderr, "Downloaded zip missing '%s' directory\n", difficulty); + return -1; + } + pclose(find_pipe); + extracted_root[strcspn(extracted_root, "\r\n")] = '\0'; + + char dest_root[1400]; + snprintf(dest_root, sizeof(dest_root), "%s/%s", BOXOBAN_LEVEL_ROOT, difficulty); + if (boxoban_mkdir_p(dest_root) != 0) { + return -1; + } + + snprintf(cmd, sizeof(cmd), "cp -R '%s/.' '%s/'", extracted_root, dest_root); + if (system(cmd) != 0) { + fprintf(stderr, "Failed to copy downloaded maps into %s\n", dest_root); + return -1; + } + return 0; +} + +static int boxoban_ensure_text_maps(const char* difficulty) { + if (strcmp(difficulty, "basic") == 0) { + char output_dir[1400]; + snprintf(output_dir, sizeof(output_dir), "%s/basic/train", BOXOBAN_LEVEL_ROOT); + if (boxoban_dir_has_txt(output_dir)) { + return 0; + } + fprintf(stdout, "[Boxoban] Generating basic maps at %s\n", output_dir); + return boxoban_generate_basic_maps(output_dir, 0); + } + if (strcmp(difficulty, "easy") == 0) { + char output_dir[1400]; + snprintf(output_dir, sizeof(output_dir), "%s/easy/train", BOXOBAN_LEVEL_ROOT); + if (boxoban_dir_has_txt(output_dir)) { + return 0; + } + fprintf(stdout, "[Boxoban] Generating easy maps at %s\n", output_dir); + return boxoban_generate_easy_maps(output_dir, 0); + } + if (strcmp(difficulty, "medium") == 0) { + char level_dir[1400]; + snprintf(level_dir, sizeof(level_dir), "%s/medium/train", BOXOBAN_LEVEL_ROOT); + if (boxoban_dir_has_txt(level_dir)) { + return 0; + } + return boxoban_download_text_maps(difficulty); + } + if (strcmp(difficulty, "hard") == 0) { + char level_dir[1400]; + snprintf(level_dir, sizeof(level_dir), "%s/hard", BOXOBAN_LEVEL_ROOT); + if (boxoban_dir_has_txt(level_dir)) { + return 0; + } + return boxoban_download_text_maps(difficulty); + } + if (strcmp(difficulty, "unfiltered") == 0) { + char level_dir[1400]; + snprintf(level_dir, sizeof(level_dir), "%s/unfiltered/train", BOXOBAN_LEVEL_ROOT); + if (boxoban_dir_has_txt(level_dir)) { + return 0; + } + return boxoban_download_text_maps(difficulty); + } + + return boxoban_download_text_maps(difficulty); +} + +static int boxoban_bin_path(const char* difficulty, char* out_path, size_t out_cap) { + int written = snprintf(out_path, out_cap, "pufferlib/ocean/boxoban/boxoban_maps_%s.bin", difficulty); + if (written <= 0 || (size_t)written >= out_cap) { + return -1; + } + return 0; +} + +int boxoban_prepare_maps_for_difficulty(const char* difficulty, char* out_path, size_t out_cap) { + if (difficulty == NULL || out_path == NULL) { + return -1; + } + if (boxoban_difficulty_id_from_name(difficulty) < 0) { + return -1; + } + if (boxoban_bin_path(difficulty, out_path, out_cap) != 0) { + return -1; + } + + if (access(out_path, F_OK) != 0) { + if (boxoban_ensure_text_maps(difficulty) != 0) { + return -1; + } + + BoxobanPathList maps = {0}; + size_t puzzle_count = 0; + if (boxoban_collect_maps(difficulty, &maps) != 0) { + boxoban_path_list_free(&maps); + return -1; + } + + if (boxoban_write_bin_from_files((const char* const*)maps.items, maps.count, out_path, 0, &puzzle_count) != 0) { + boxoban_path_list_free(&maps); + return -1; + } + boxoban_path_list_free(&maps); + fprintf(stdout, "[Boxoban] Generated %zu puzzles for '%s' at %s\n", puzzle_count, difficulty, out_path); + } + + if (boxoban_set_map_path(out_path) != 0) { + return -1; + } + return 0; +} + +static void reset_map_cache(void) { + if (MAP_BASE != NULL && MAP_BASE != MAP_FAILED && MAP_FILESIZE > 0) { + munmap(MAP_BASE, MAP_FILESIZE); + } + MAP_BASE = NULL; + MAP_FILESIZE = 0; + PUZZLE_COUNT = 0; +} + +int boxoban_set_map_path(const char *path) { + if (path == NULL) { + return -1; + } + if (BOXOBAN_MAP_PATH != NULL && strcmp(BOXOBAN_MAP_PATH, path) == 0) { + return 0; + } + + char* copied = malloc(strlen(path) + 1); + if (copied == NULL) { + return -1; + } + strcpy(copied, path); + + reset_map_cache(); + free(BOXOBAN_MAP_PATH); + BOXOBAN_MAP_PATH = copied; + return 0; +} + +static const char* get_default_map_path(void) { + const char* env_path = getenv("BOXOBAN_MAP_BIN"); + if (env_path != NULL) { + return env_path; + } + return NULL; +} + +void ensure_map_loaded(void) { + if (MAP_BASE != NULL) { + return; + } + + if (BOXOBAN_MAP_PATH == NULL) { + const char* default_path = get_default_map_path(); + if (default_path != NULL) { + if (boxoban_set_map_path(default_path) != 0) { + fprintf(stderr, "Failed to set default Boxoban map path\n"); + abort(); + } + } else { + char prepared_path[512]; + if (boxoban_prepare_maps_for_difficulty("basic", prepared_path, sizeof(prepared_path)) != 0) { + fprintf(stderr, "Failed to prepare default Boxoban maps\n"); + abort(); + } + } + } + + int fd = open(BOXOBAN_MAP_PATH, O_RDONLY); + if (fd < 0) { + perror("open"); + abort(); + } + struct stat st; + if (fstat(fd, &st) != 0) { + perror("fstat"); + abort(); + } + + MAP_FILESIZE = st.st_size; + if (MAP_FILESIZE % PUZZLE_SIZE != 0) { + fprintf(stderr, "Invalid Boxoban map file size %zu (expected multiple of %zu)\n", + MAP_FILESIZE, PUZZLE_SIZE); + abort(); + } + PUZZLE_COUNT = MAP_FILESIZE / PUZZLE_SIZE; + + MAP_BASE = mmap(NULL, MAP_FILESIZE, PROT_READ, MAP_PRIVATE, fd, 0); + close(fd); + + if (MAP_BASE == MAP_FAILED) { + perror("mmap"); + abort(); + } +} + +#endif + +#endif diff --git a/pufferlib/ocean/boxoban/generate_maps.h b/pufferlib/ocean/boxoban/generate_maps.h new file mode 100644 index 0000000000..cdd39a10b7 --- /dev/null +++ b/pufferlib/ocean/boxoban/generate_maps.h @@ -0,0 +1,368 @@ +#ifndef PUFFERLIB_OCEAN_BOXOBAN_GENERATE_MAPS_H +#define PUFFERLIB_OCEAN_BOXOBAN_GENERATE_MAPS_H + +#include +#include +#include +#include +#include +#include +#include + +#define BOXOBAN_GEN_AGENT '@' +#define BOXOBAN_GEN_WALL '#' +#define BOXOBAN_GEN_BOX '$' +#define BOXOBAN_GEN_TARGET '.' +#define BOXOBAN_GEN_FLOOR ' ' + +typedef struct { + int r; + int c; +} BoxobanCell; + +typedef struct { + uint64_t state; +} BoxobanRandom; + +static int boxoban_mkdir_p(const char* dir_path) { + char tmp[1024]; + size_t len = strlen(dir_path); + if (len >= sizeof(tmp)) { + return -1; + } + + memcpy(tmp, dir_path, len + 1); + for (size_t i = 1; i < len; i++) { + if (tmp[i] == '/') { + tmp[i] = '\0'; + if (mkdir(tmp, 0777) != 0 && errno != EEXIST) { + return -1; + } + tmp[i] = '/'; + } + } + if (mkdir(tmp, 0777) != 0 && errno != EEXIST) { + return -1; + } + return 0; +} + +static void boxoban_seed(BoxobanRandom* rng, uint64_t seed) { + rng->state = seed ? seed : 0x9e3779b97f4a7c15ULL; +} + +static uint64_t boxoban_next_u64(BoxobanRandom* rng) { + uint64_t x = rng->state; + x ^= x >> 12; + x ^= x << 25; + x ^= x >> 27; + rng->state = x; + return x * 2685821657736338717ULL; +} + +static uint32_t boxoban_randbelow(BoxobanRandom* rng, uint32_t n) { + if (n == 0) { + return 0; + } + + uint64_t threshold = (uint64_t)(-(int64_t)n) % (uint64_t)n; + for (;;) { + uint64_t r = boxoban_next_u64(rng); + if (r >= threshold) { + return (uint32_t)(r % n); + } + } +} + +static int boxoban_randint(BoxobanRandom* rng, int a, int b) { + return a + (int)boxoban_randbelow(rng, (uint32_t)(b - a + 1)); +} + +static int boxoban_choice_index(BoxobanRandom* rng, int n) { + return (int)boxoban_randbelow(rng, (uint32_t)n); +} + +static int boxoban_sample_indices(BoxobanRandom* rng, int n, int k, int* out_indices) { + int* pool = (int*)malloc((size_t)n * sizeof(int)); + if (pool == NULL) { + return -1; + } + + for (int i = 0; i < n; i++) { + pool[i] = i; + } + + for (int i = 0; i < k; i++) { + int j = i + (int)boxoban_randbelow(rng, (uint32_t)(n - i)); + int tmp = pool[i]; + pool[i] = pool[j]; + pool[j] = tmp; + out_indices[i] = pool[i]; + } + + free(pool); + return 0; +} + +static inline int boxoban_grid_idx(int size, int r, int c) { + return r * size + c; +} + +static int boxoban_is_inside(int size, int x, int y) { + return x >= 0 && x < size && y >= 0 && y < size; +} + +static int boxoban_is_pushable(const char* grid, int size, int x, int y) { + static const int dirs[4][2] = {{1,0}, {-1,0}, {0,1}, {0,-1}}; + for (int d = 0; d < 4; d++) { + int dx = dirs[d][0]; + int dy = dirs[d][1]; + int px = x - dx; + int py = y - dy; + int tx = x + dx; + int ty = y + dy; + if (!boxoban_is_inside(size, px, py) || !boxoban_is_inside(size, tx, ty)) { + continue; + } + char pre = grid[boxoban_grid_idx(size, py, px)]; + char post = grid[boxoban_grid_idx(size, ty, tx)]; + if ((pre == BOXOBAN_GEN_FLOOR || pre == BOXOBAN_GEN_TARGET) && + (post == BOXOBAN_GEN_FLOOR || post == BOXOBAN_GEN_TARGET)) { + return 1; + } + } + return 0; +} + +static void boxoban_build_border_grid(char* grid, int size) { + for (int r = 0; r < size; r++) { + for (int c = 0; c < size; c++) { + grid[boxoban_grid_idx(size, r, c)] = BOXOBAN_GEN_FLOOR; + } + } + for (int i = 0; i < size; i++) { + grid[boxoban_grid_idx(size, 0, i)] = BOXOBAN_GEN_WALL; + grid[boxoban_grid_idx(size, size - 1, i)] = BOXOBAN_GEN_WALL; + grid[boxoban_grid_idx(size, i, 0)] = BOXOBAN_GEN_WALL; + grid[boxoban_grid_idx(size, i, size - 1)] = BOXOBAN_GEN_WALL; + } +} + +static int boxoban_build_cells(int size, int margin, BoxobanCell* out_cells) { + int count = 0; + int start = 1 + margin; + int end = size - 1 - margin; + for (int r = start; r < end; r++) { + for (int c = start; c < end; c++) { + out_cells[count].r = r; + out_cells[count].c = c; + count++; + } + } + return count; +} + +static int boxoban_make_puzzle( + int size, + BoxobanRandom* rng, + int num_boxes, + int max_attempts, + const BoxobanCell* agent_choices, + int agent_count, + const BoxobanCell* confined, + int confined_count, + int interior_count, + char* grid +) { + if (num_boxes < 1) { + fprintf(stderr, "num_boxes must be at least 1\n"); + return -1; + } + + int needed = num_boxes * 2 + 1; + if (needed > interior_count) { + fprintf(stderr, "Grid interior only has %d cells, cannot place %d objects\n", interior_count, needed); + return -1; + } + + BoxobanCell* box_candidates = (BoxobanCell*)malloc((size_t)confined_count * sizeof(BoxobanCell)); + BoxobanCell* box_positions = (BoxobanCell*)malloc((size_t)num_boxes * sizeof(BoxobanCell)); + BoxobanCell* agent_candidates = (BoxobanCell*)malloc((size_t)agent_count * sizeof(BoxobanCell)); + int* sampled_idx = (int*)malloc((size_t)num_boxes * sizeof(int)); + uint8_t* occupied = (uint8_t*)calloc((size_t)size * (size_t)size, sizeof(uint8_t)); + if (box_candidates == NULL || box_positions == NULL || agent_candidates == NULL || sampled_idx == NULL || occupied == NULL) { + free(box_candidates); + free(box_positions); + free(agent_candidates); + free(sampled_idx); + free(occupied); + return -1; + } + + for (int attempt = 0; attempt < max_attempts; attempt++) { + boxoban_build_border_grid(grid, size); + memset(occupied, 0, (size_t)size * (size_t)size); + + if (boxoban_sample_indices(rng, confined_count, num_boxes, sampled_idx) != 0) { + free(box_candidates); + free(box_positions); + free(agent_candidates); + free(sampled_idx); + free(occupied); + return -1; + } + + for (int i = 0; i < num_boxes; i++) { + BoxobanCell cell = confined[sampled_idx[i]]; + grid[boxoban_grid_idx(size, cell.r, cell.c)] = BOXOBAN_GEN_TARGET; + occupied[boxoban_grid_idx(size, cell.r, cell.c)] = 1; + } + + int box_candidate_count = 0; + for (int i = 0; i < confined_count; i++) { + BoxobanCell cell = confined[i]; + if (!occupied[boxoban_grid_idx(size, cell.r, cell.c)]) { + box_candidates[box_candidate_count++] = cell; + } + } + if (box_candidate_count < num_boxes) { + continue; + } + + if (boxoban_sample_indices(rng, box_candidate_count, num_boxes, sampled_idx) != 0) { + free(box_candidates); + free(box_positions); + free(agent_candidates); + free(sampled_idx); + free(occupied); + return -1; + } + for (int i = 0; i < num_boxes; i++) { + BoxobanCell cell = box_candidates[sampled_idx[i]]; + box_positions[i] = cell; + grid[boxoban_grid_idx(size, cell.r, cell.c)] = BOXOBAN_GEN_BOX; + occupied[boxoban_grid_idx(size, cell.r, cell.c)] = 1; + } + + int agent_candidate_count = 0; + for (int i = 0; i < agent_count; i++) { + BoxobanCell cell = agent_choices[i]; + if (!occupied[boxoban_grid_idx(size, cell.r, cell.c)]) { + agent_candidates[agent_candidate_count++] = cell; + } + } + if (agent_candidate_count == 0) { + continue; + } + + BoxobanCell agent_cell = agent_candidates[boxoban_choice_index(rng, agent_candidate_count)]; + grid[boxoban_grid_idx(size, agent_cell.r, agent_cell.c)] = BOXOBAN_GEN_AGENT; + + int all_pushable = 1; + for (int i = 0; i < num_boxes; i++) { + BoxobanCell cell = box_positions[i]; + if (!boxoban_is_pushable(grid, size, cell.c, cell.r)) { + all_pushable = 0; + break; + } + } + + if (all_pushable) { + free(box_candidates); + free(box_positions); + free(agent_candidates); + free(sampled_idx); + free(occupied); + return 0; + } + } + + free(box_candidates); + free(box_positions); + free(agent_candidates); + free(sampled_idx); + free(occupied); + fprintf(stderr, "Failed to sample a solvable puzzle after many attempts\n"); + return -1; +} + +static int boxoban_generate_maps( + const char* output_dir, + int num_files, + int puzzles_per_file, + int size, + int num_boxes, + int min_boxes, + int max_boxes, + uint64_t seed +) { + if (boxoban_mkdir_p(output_dir) != 0) { + return -1; + } + + BoxobanRandom rng; + boxoban_seed(&rng, seed); + + int max_cells = (size - 2) * (size - 2); + BoxobanCell* agent_choices = (BoxobanCell*)malloc((size_t)max_cells * sizeof(BoxobanCell)); + BoxobanCell* confined = (BoxobanCell*)malloc((size_t)max_cells * sizeof(BoxobanCell)); + char* grid = (char*)malloc((size_t)size * (size_t)size); + if (agent_choices == NULL || confined == NULL || grid == NULL) { + free(agent_choices); + free(confined); + free(grid); + return -1; + } + + int interior_count = (size - 2) * (size - 2); + int agent_count = boxoban_build_cells(size, 0, agent_choices); + int confined_count = boxoban_build_cells(size, 1, confined); + + for (int file_idx = 0; file_idx < num_files; file_idx++) { + char out_path[1200]; + snprintf(out_path, sizeof(out_path), "%s/%03d.txt", output_dir, file_idx); + FILE* out = fopen(out_path, "w"); + if (out == NULL) { + free(agent_choices); + free(confined); + free(grid); + return -1; + } + + for (int puzzle_idx = 0; puzzle_idx < puzzles_per_file; puzzle_idx++) { + int box_count = num_boxes >= 1 ? num_boxes : boxoban_randint(&rng, min_boxes, max_boxes); + if (boxoban_make_puzzle( + size, &rng, box_count, 200, agent_choices, agent_count, confined, confined_count, interior_count, grid) != 0) { + fclose(out); + free(agent_choices); + free(confined); + free(grid); + return -1; + } + + fprintf(out, "; %d\n", puzzle_idx); + for (int r = 0; r < size; r++) { + fwrite(&grid[boxoban_grid_idx(size, r, 0)], 1, (size_t)size, out); + fputc('\n', out); + } + fputc('\n', out); + } + + fclose(out); + } + + free(agent_choices); + free(confined); + free(grid); + return 0; +} + +static int boxoban_generate_easy_maps(const char* output_dir, uint64_t seed) { + return boxoban_generate_maps(output_dir, 300, 1000, 10, -1, 1, 4, seed); +} + +static int boxoban_generate_basic_maps(const char* output_dir, uint64_t seed) { + return boxoban_generate_maps(output_dir, 300, 1000, 10, 1, 1, 4, seed); +} + +#endif diff --git a/pufferlib/ocean/boxoban/parse_maps.h b/pufferlib/ocean/boxoban/parse_maps.h new file mode 100644 index 0000000000..79e79ed8e1 --- /dev/null +++ b/pufferlib/ocean/boxoban/parse_maps.h @@ -0,0 +1,252 @@ +#ifndef PUFFERLIB_OCEAN_BOXOBAN_PARSE_MAPS_H +#define PUFFERLIB_OCEAN_BOXOBAN_PARSE_MAPS_H + +#include +#include +#include +#include +#include +#include + +#define BOXOBAN_AGENT_CHAR '@' +#define BOXOBAN_WALL_CHAR '#' +#define BOXOBAN_BOX_CHAR '$' +#define BOXOBAN_TARGET_CHAR '.' +#define BOXOBAN_BOX_ON_TARGET_CHAR '*' +#define BOXOBAN_AGENT_ON_TARGET_CHAR '+' + +#define BOXOBAN_EXPECTED_ROWS 10 +#define BOXOBAN_EXPECTED_COLS 10 +#define BOXOBAN_PUZZLE_OBS_BYTES (4 * BOXOBAN_EXPECTED_ROWS * BOXOBAN_EXPECTED_COLS) +#define BOXOBAN_PUZZLE_META_BYTES 5 +#define BOXOBAN_PUZZLE_BYTES (BOXOBAN_PUZZLE_OBS_BYTES + BOXOBAN_PUZZLE_META_BYTES) + +typedef struct { + char rows[BOXOBAN_EXPECTED_ROWS][BOXOBAN_EXPECTED_COLS]; + int row_lengths[BOXOBAN_EXPECTED_ROWS]; + int row_count; +} BoxobanPuzzleDraft; + +static int boxoban_is_blank_line(const char* line) { + const unsigned char* p = (const unsigned char*)line; + while (*p != '\0') { + if (!isspace(*p)) { + return 0; + } + p++; + } + return 1; +} + +static int boxoban_validate_shape(const BoxobanPuzzleDraft* draft, char* reason, size_t reason_cap) { + if (draft->row_count != BOXOBAN_EXPECTED_ROWS) { + snprintf(reason, reason_cap, "expected %d rows, got %d", BOXOBAN_EXPECTED_ROWS, draft->row_count); + return -1; + } + + for (int r = 0; r < BOXOBAN_EXPECTED_ROWS; r++) { + if (draft->row_lengths[r] != BOXOBAN_EXPECTED_COLS) { + snprintf(reason, reason_cap, "row %d expected %d cols, got %d", + r, BOXOBAN_EXPECTED_COLS, draft->row_lengths[r]); + return -1; + } + } + + reason[0] = '\0'; + return 0; +} + +static int boxoban_encode_and_write_puzzle(const BoxobanPuzzleDraft* draft, FILE* out, char* reason, size_t reason_cap) { + uint8_t agent[BOXOBAN_EXPECTED_ROWS * BOXOBAN_EXPECTED_COLS] = {0}; + uint8_t walls[BOXOBAN_EXPECTED_ROWS * BOXOBAN_EXPECTED_COLS] = {0}; + uint8_t boxes[BOXOBAN_EXPECTED_ROWS * BOXOBAN_EXPECTED_COLS] = {0}; + uint8_t targets[BOXOBAN_EXPECTED_ROWS * BOXOBAN_EXPECTED_COLS] = {0}; + uint8_t meta[BOXOBAN_PUZZLE_META_BYTES] = {0}; + + int agent_x = -1; + int agent_y = -1; + int n_boxes = 0; + int n_targets = 0; + int on_target = 0; + + int idx = 0; + for (int r = 0; r < BOXOBAN_EXPECTED_ROWS; r++) { + for (int c = 0; c < BOXOBAN_EXPECTED_COLS; c++, idx++) { + char ch = draft->rows[r][c]; + + int is_agent = (ch == BOXOBAN_AGENT_CHAR || ch == BOXOBAN_AGENT_ON_TARGET_CHAR); + int is_wall = (ch == BOXOBAN_WALL_CHAR); + int is_box = (ch == BOXOBAN_BOX_CHAR || ch == BOXOBAN_BOX_ON_TARGET_CHAR); + int is_target = (ch == BOXOBAN_TARGET_CHAR || ch == BOXOBAN_BOX_ON_TARGET_CHAR || ch == BOXOBAN_AGENT_ON_TARGET_CHAR); + + if (is_agent) { + if (agent_x != -1) { + snprintf(reason, reason_cap, "Puzzle has multiple agents"); + return -1; + } + agent_x = c; + agent_y = r; + } + + n_boxes += is_box; + n_targets += is_target; + on_target += (is_box && is_target); + + agent[idx] = (uint8_t)is_agent; + walls[idx] = (uint8_t)is_wall; + boxes[idx] = (uint8_t)is_box; + targets[idx] = (uint8_t)is_target; + } + } + + if (agent_x == -1) { + snprintf(reason, reason_cap, "Puzzle has no agent"); + return -1; + } + + meta[0] = (uint8_t)agent_x; + meta[1] = (uint8_t)agent_y; + meta[2] = (uint8_t)n_boxes; + meta[3] = (uint8_t)n_targets; + meta[4] = (uint8_t)on_target; + + if (fwrite(agent, 1, sizeof(agent), out) != sizeof(agent)) return -1; + if (fwrite(walls, 1, sizeof(walls), out) != sizeof(walls)) return -1; + if (fwrite(boxes, 1, sizeof(boxes), out) != sizeof(boxes)) return -1; + if (fwrite(targets, 1, sizeof(targets), out) != sizeof(targets)) return -1; + if (fwrite(meta, 1, sizeof(meta), out) != sizeof(meta)) return -1; + + reason[0] = '\0'; + return 0; +} + +static int boxoban_finalize_puzzle( + BoxobanPuzzleDraft* draft, + FILE* out, + const char* src_path, + size_t* puzzle_idx, + size_t* written_count +) { + char reason[128]; + size_t idx = *puzzle_idx; + (*puzzle_idx)++; + + if (boxoban_validate_shape(draft, reason, sizeof(reason)) != 0) { + fprintf(stdout, "[Boxoban] Skipping malformed puzzle in %s puzzle#%zu: %s\n", src_path, idx, reason); + draft->row_count = 0; + return 0; + } + + if (boxoban_encode_and_write_puzzle(draft, out, reason, sizeof(reason)) != 0) { + if (reason[0] == '\0') { + return -1; + } + fprintf(stdout, "[Boxoban] Skipping malformed puzzle in %s puzzle#%zu: %s\n", src_path, idx, reason); + draft->row_count = 0; + return 0; + } + + (*written_count)++; + draft->row_count = 0; + return 0; +} + +static int boxoban_write_bin_from_files( + const char* const* files, + size_t file_count, + const char* out_path, + int verbose, + size_t* out_puzzle_count +) { + FILE* out = fopen(out_path, "wb"); + if (out == NULL) { + return -1; + } + + size_t puzzle_count = 0; + + for (size_t file_idx = 0; file_idx < file_count; file_idx++) { + const char* src_path = files[file_idx]; + FILE* in = fopen(src_path, "r"); + if (in == NULL) { + fclose(out); + return -1; + } + + char* line = NULL; + size_t line_cap = 0; + ssize_t line_len; + BoxobanPuzzleDraft draft; + memset(&draft, 0, sizeof(draft)); + size_t puzzle_idx = 0; + + while ((line_len = getline(&line, &line_cap, in)) != -1) { + if (line_len > 0 && line[line_len - 1] == '\n') { + line[--line_len] = '\0'; + } + + if (line[0] == ';') { + if (draft.row_count > 0) { + if (boxoban_finalize_puzzle(&draft, out, src_path, &puzzle_idx, &puzzle_count) != 0) { + free(line); + fclose(in); + fclose(out); + return -1; + } + } + continue; + } + + if (boxoban_is_blank_line(line)) { + continue; + } + + if (draft.row_count < BOXOBAN_EXPECTED_ROWS) { + int dst_row = draft.row_count; + int copy_len = line_len < BOXOBAN_EXPECTED_COLS ? (int)line_len : BOXOBAN_EXPECTED_COLS; + memcpy(draft.rows[dst_row], line, (size_t)copy_len); + draft.row_lengths[dst_row] = (int)line_len; + draft.row_count++; + } + + if (draft.row_count == BOXOBAN_EXPECTED_ROWS) { + if (boxoban_finalize_puzzle(&draft, out, src_path, &puzzle_idx, &puzzle_count) != 0) { + free(line); + fclose(in); + fclose(out); + return -1; + } + } + } + + free(line); + fclose(in); + } + + if (fflush(out) != 0) { + fclose(out); + return -1; + } + + long bytes_written = ftell(out); + fclose(out); + if (bytes_written < 0) { + return -1; + } + + size_t expected = puzzle_count * BOXOBAN_PUZZLE_BYTES; + if ((size_t)bytes_written != expected) { + fprintf(stderr, "Wrong output size: got %ld expected %zu\n", bytes_written, expected); + return -1; + } + + if (verbose) { + fprintf(stdout, "Wrote %zu puzzles to %s\n", puzzle_count, out_path); + } + if (out_puzzle_count != NULL) { + *out_puzzle_count = puzzle_count; + } + return 0; +} + +#endif diff --git a/pufferlib/ocean/boxoban/sprites_pack/PNG/Crate_Black.png b/pufferlib/ocean/boxoban/sprites_pack/PNG/Crate_Black.png new file mode 100644 index 0000000000000000000000000000000000000000..e90a03e0eed18e7b3e5d31a5ccda696554d0a956 GIT binary patch literal 1879044 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�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

pD4QI1a-eO1{ItaU-I{Y-w?^l?=si;Jx^(rm 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