Parabellum environment for parallel warfare simulation
Project description
Parabellum
Ultra-scalable JaxMARL based warfare simulation engine.
Features
- Obstacles and terrain integration
- Rasterized maps
- Blast radii simulation
- Friendly fire mechanics
- Pygame visualization
- JAX-based parallelization
Install
pip install parabellum
Quick Start
import parabellum as pb
from jax import random
terrain = pb.terrain_fn("Thun, Switzerland", 1000)
scenario = pb.make_scenario("Thun", terrain, 10, 10)
env = pb.Parabellum(scenario)
rng, key = random.split(random.PRNGKey(0))
obs, state = env.reset(key)
# Simulation loop
for _ in range(100):
rng, rng_act, key_step = random.split(key)
key_act = random.split(rng_act, len(env.agents))
act = {a: env.action_space(a).sample(k) for a, k in zip(env.agents, key_act)}
obs, state, reward, done, info = env.step(key_step, act, state)
# Visualize
vis = pb.Visualizer(env, state_sequence)
vis.animate()
Documentation
Full documentation: parabellum.readthedocs.io
Team
- Noah Syrkis
- Timothée Anne
- Supervisor: Sebastian Risi
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
parabellum-0.3.3.tar.gz
(15.5 kB
view hashes)
Built Distribution
parabellum-0.3.3-py3-none-any.whl
(17.7 kB
view hashes)
Close
Hashes for parabellum-0.3.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dc1fc06fabed37e72228e9e0d9ecacab369fbfb378a13bf80e79c677a0f87075 |
|
MD5 | b950be7fca574c5952cd7fa30b3e8dde |
|
BLAKE2b-256 | 149f1ea95e25b739cdaa4f68424753b90c120b304203a955250b6299dd8020d4 |