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.1.tar.gz
(15.5 kB
view hashes)
Built Distribution
parabellum-0.3.1-py3-none-any.whl
(17.7 kB
view hashes)
Close
Hashes for parabellum-0.3.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d7d3456543ead686bd9012690b35db3b168dd309de18e22204785a6c322c2c0d |
|
MD5 | 63b833cc21a6344b988322608b3ba954 |
|
BLAKE2b-256 | 78c3f190a02bec1f6ce40f7dd093e3ecbe74a901084da6c8399bcdc0961172a6 |