Open-source simulation software
1601 open-source libraries, tools and applications tagged simulation, ranked by how closely simulation is their primary purpose, then by adoption and maintenance health. Each entry links to a page with sources, use cases and when to choose or avoid it.
1601 products, primary matches first, then adoption-weighted; health v2 shown.
| Product | Health v2 | Stars | Maturity |
|---|---|---|---|
| mmatl/pyrender Pyrender is a pure Python, glTF 2.0-compliant OpenGL renderer for physically-based rendering and visualization of 3D scenes. It includes an… | 32 | 1469 | maintenance |
| Improbable-AI/walk-these-ways A sim-to-real reinforcement learning starter kit for the Unitree Go1 quadruped robot, implementing the Walk These Ways (MoB) locomotion con… | 32 | 1465 | maintenance |
| OpnTec/open-spectrometer-hardware An open-source visible-light spectrometer project providing hardware schematics, bill of materials, and Python scripts for a DIY instrument… | 32 | 1459 | maintenance |
| FrictionalGames/AmnesiaAMachineForPigs The full source code of Amnesia: A Machine For Pigs, a horror video game by Frictional Games and The Chinese Room, released under GPL v3. I… | 32 | 1459 | maintenance |
| Chris-Annin/AR2 AR2 is a DIY 6-axis desktop robot arm built from 3D-printed or machined parts, stepper motors, and an Arduino controller, together with Pyt… | 32 | 1457 | maintenance |
| nerfstudio NerfAcc is a PyTorch acceleration toolbox for Neural Radiance Fields (NeRF), focused on efficient sampling in the volumetric rendering pipe… | 23 | 1456 | maintenance |
| sabresaurus/SabreCSG SabreCSG is a set of level design tools for Unity that uses Constructive Solid Geometry (CSG) to build complex levels quickly with boolean … | 10 | 1454 | maintenance |
| BachiLi/redner redner is a differentiable Monte Carlo ray tracer that computes exact gradients of rendered images with respect to arbitrary scene paramete… | 32 | 1446 | maintenance |
| ProbableTrain/MapGenerator A browser-based tool that procedurally generates American-style city maps with images exportable as PNG or SVG and 3D models exportable as … | 32 | 1430 | maintenance |
| hecomi/UnityFurURP A fur shader implementation for Unity's Universal Render Pipeline (URP), written in HLSL. It demonstrates three fur rendering methods (Shel… | 32 | 1427 | maintenance |
| gradslam/gradslam gradslam is a fully differentiable dense SLAM library built on PyTorch, providing differentiable building blocks such as nonlinear least sq… | 23 | 1427 | maintenance |
| uzh-rpg/flightmare Flightmare is a modular quadrotor simulator from the UZH Robotics and Perception Group, composed of a decoupled Unity-based rendering engin… | 23 | 1424 | maintenance |
| VerticalResearchGroup/miaow MIAOW is an open source GPU implementation of the AMD Southern Islands ISA written in Verilog. It was developed as a research project at th… | 36 | 1420 | maintenance |
| Hermit Hermit is a Rust CLI tool that runs unmodified x86-64 Linux programs inside a hermetic sandbox, controlling sources of nondeterminism such … | 77 | 1417 | maintenance |
| uRaymarching uRaymarching is a Unity asset that generates raymarching shaders from templates, letting developers create ray-marched objects by writing o… | 23 | 1410 | maintenance |
| google/mathfu MathFu is a C++ math library developed primarily for games, providing vector, matrix, and quaternion classes with SIMD optimization. It sup… | 10 | 1398 | maintenance |
| TorchCraft/TorchCraft TorchCraft is a bridge library connecting the Torch machine learning framework to StarCraft: Brood War via a BWAPI module that streams game… | 10 | 1397 | maintenance |
| binji/pokegb A minimal Game Boy emulator written in roughly 50 lines of obfuscated C++ that can only run Pokemon Blue and Red. It is a code-golf style d… | 32 | 1395 | maintenance |
| johnBuffer/NoCol NoCol is a C++ 'anti-collision' trajectories finder that simulates moving objects (like balls) finding paths that avoid collisions. It rend… | 23 | 1393 | maintenance |
| jdah/jdh-8 JDH-8 is a fully custom 8-bit minicomputer with its own RISC instruction set, register set, and port-mapped I/O, complete with an assembler… | 32 | 1389 | maintenance |
| kripken/box2d.js A direct port of the Box2D 2D physics engine to JavaScript and WebAssembly using Emscripten, with automatically generated bindings. It pres… | 32 | 1382 | maintenance |
| SebLague/Solar-System A Unity-based solar system simulation experiment by Sebastian Lague, featuring procedural planets, moons, and atmospheric rendering. It acc… | 32 | 1378 | maintenance |
| BuildCraft/BuildCraft BuildCraft is an open-source Minecraft mod (Forge) that adds pipes, engines, quarries, builders, robots, and automated machinery to the gam… | 57 | 1370 | maintenance |
| OKVIS OKVIS is a C++ implementation of keyframe-based visual-inertial SLAM/odometry using nonlinear optimization, from ETH Zurich research. It pr… | 32 | 1368 | maintenance |
| HKUST-Aerial-Robotics/VINS-Mobile VINS-Mobile is a real-time monocular visual-inertial state estimator that runs on iOS devices, providing high-accuracy visual-inertial odom… | 32 | 1367 | maintenance |
| sharpemu/sharpemu SharpEmu is an experimental PlayStation 5 emulator written from scratch in C#, distributed as a single binary that works as both a desktop … | 79 | 6387 | experimental |
| neherlab/covid19_scenarios A web application for modeling COVID-19 outbreak trajectories and hospital demand using epidemiological simulation. It provides an interact… | 23 | 1351 | maintenance |
| google/monster-mash Monster Mash is an open-source sketch-based 3D modeling and animation tool that lets users sketch a 2D character, inflate it into 3D, and a… | 61 | 1330 | maintenance |
| m-labs/migen Migen is a Python-based toolbox for building complex digital hardware, replacing the event-driven paradigm of Verilog/VHDL with combinatori… | 10 | 1330 | maintenance |
| ElasticSea/unity-fracture A Unity library that fractures any mesh at runtime using the NVIDIA Blast library, converting the mesh into physics-driven chunks with rigi… | 23 | 1329 | maintenance |
| ultraembedded/biriscv biRISC-V is a 32-bit superscalar (dual-issue) in-order RISC-V CPU core written in synthesizable Verilog 2001, supporting RV32IMZicsr with b… | 32 | 1313 | maintenance |
| jannerm/diffuser Official code for the ICML 2022 paper 'Planning with Diffusion for Flexible Behavior Synthesis', which plans by denoising trajectories with… | 32 | 1312 | maintenance |
| peng-zhihui/Ctrl-FOC-Lite A port of the SimpleFOC field-oriented-control firmware to STM32 HAL with FreeRTOS support, plus a validated evaluation board design (STM32… | 32 | 1298 | maintenance |
| nwidger/nintengo nintengo is a Nintendo Entertainment System (NES) emulator written in Go, capable of running .nes ROM files with audio, save states, and sc… | 23 | 1294 | maintenance |
| Brackeys/2D-Character-Controller A free, open-source 2D character controller for Unity platformer games written in C#. It provides smooth movement, jumping, crouching, anim… | 32 | 1292 | maintenance |
| diwi/PixelFlow PixelFlow is a Processing/Java library for high-performance GPU computing via GLSL shaders. It provides fluid simulation, flow-field partic… | 23 | 1284 | maintenance |
| evanw/webgl-water A browser-based WebGL demo by Evan Wallace simulating water with realistic reflections, refraction, and caustics. It is an interactive 3D g… | 32 | 1279 | maintenance |
| duzexu/ARuler An iOS augmented reality app that measures distances using Apple's ARKit and SceneKit. It uses plane detection and feature point hit-testin… | 60 | 1277 | maintenance |
| SolidCode/SolidPython SolidPython is a Python library that provides a programmatic interface to OpenSCAD's declarative geometry language, compiling Python code i… | 49 | 1266 | maintenance |
| google-research/planet Open-source implementation of the PlaNet agent, a purely model-based reinforcement learning algorithm that solves control tasks from pixels… | 10 | 1263 | maintenance |
| Vita3K Vita3K is an open-source, experimental PlayStation Vita emulator written in C++ for Windows, Linux, macOS, and Android. It can boot and run… | 88 | 5827 | experimental |
| UnitySteer UnitySteer is a toolkit for building steering behaviors for autonomous agents in Unity, based on OpenSteer but reworked with a Unity-like c… | 32 | 1253 | maintenance |
| mit-acl/faster FASTER is a C++/ROS 3D trajectory planner for fast and safe navigation of UAVs and ground robots in unknown environments, published in IEEE… | 33 | 1251 | maintenance |
| OpenCat Quadruped Robot OpenCat is an open-source Arduino/Raspberry Pi framework for building and programming quadruped robot pets like the Bittle robot dog and Ny… | 74 | 429 | active |
| HackerPoet/FractalSoundExplorer An interactive audio-visual sandbox application for exploring fractals in real time on the GPU. Users can click on fractals like the Mandel… | 32 | 1250 | maintenance |
| mtuomi/SecondReality The full source code and data of Second Reality, the legendary 1993 MS-DOS demo by Future Crew, released for its 20th anniversary. It is a … | 32 | 1237 | maintenance |
| DM-VIO DM-VIO is a C++ implementation of Delayed Marginalization Visual-Inertial Odometry, a direct sparse visual-inertial odometry method publish… | 32 | 1236 | maintenance |
| dsoft20/psx_retroshader A collection of GLSL shaders for Unity that emulate the PlayStation 1 rendering style, including unlit, vertex lit, transparent, and reflec… | 32 | 1234 | maintenance |
| mrc-ide/covid-sim CovidSim is a C++ microsimulation model of COVID-19 transmission developed by Imperial College London's MRC Centre for Global Infectious Di… | 32 | 1234 | maintenance |
| red42/HTML5_Genetic_Cars A browser-based simulation that evolves 2D cars using a genetic algorithm rendered on HTML5 canvas with the Box2D physics engine. It runs e… | 10 | 1226 | maintenance |
| dli/fluid A WebGL-based real-time 3D fluid simulation and rendering demo using the PIC/FLIP particle method on the GPU. It renders particles with sph… | 32 | 1218 | maintenance |
| QuipNetwork/xquad XQuad is a hardware-agnostic toolchain for expressing and running quadratic optimization problems (QUBO/Ising/discrete) across quantum anne… | 60 | 5582 | experimental |
| Shikhargupta/Spiking-Neural-Network A pure Python implementation of a hardware-efficient spiking neural network (SNN) trained with Spike-Time Dependent Plasticity (STDP). It i… | 32 | 1215 | maintenance |
| rustgd/cgmath cgmath is a low-dimensional linear algebra library for Rust targeted at computer graphics applications, providing vectors, square matrices,… | 32 | 1204 | maintenance |
| google/makani The open-sourced software stack from Google X's Makani project, which developed a commercial-scale airborne wind turbine (energy kite). It … | 10 | 1202 | maintenance |
| facebookresearch/House3D House3D is a virtual 3D environment of over 45k fully annotated indoor scenes from the SUNCG dataset, built for training embodied AI agents… | 10 | 1199 | maintenance |
| riscv-software-src/riscv-tools A meta-repository of RISC-V development tools that bundles the Spike ISA simulator, riscv-tests, riscv-opcodes, and the riscv-pk proxy kern… | 10 | 1195 | maintenance |
| aitorzip/DeepGTAV DeepGTAV is a C++ plugin for Grand Theft Auto V that converts the game into a vision-based self-driving car research environment. It expose… | 32 | 1192 | maintenance |
| flow-project/flow Flow is a computational framework for deep reinforcement learning and control experiments in traffic microsimulation, built on top of the S… | 23 | 1192 | maintenance |
| openai/procgen A benchmark of 16 procedurally-generated, game-like Gym environments for measuring how quickly reinforcement learning agents learn generali… | 52 | 1191 | maintenance |
| APRIL-ZJU/lidar_IMU_calib LI-Calib is a C++/ROS toolkit that calibrates the 6DoF rigid transformation and time offset between a 3D LiDAR and an IMU using continuous-… | 32 | 1188 | maintenance |
| HackerPoet/PySpace PySpace is a Python tool for rendering GLSL fractal ray-marched scenes. It lets users write shader-based fractal animations and render them… | 32 | 1188 | maintenance |
| Unity-Technologies/SpaceshipDemo A AAA playable first-person demo project from Unity showcasing visual effects built with Visual Effect Graph and rendered with the High Def… | 41 | 1183 | maintenance |
| barronwaffles/dwc_network_server_emulator A Python-based emulator of Nintendo's discontinued Nintendo Wi-Fi Connection servers, allowing Nintendo DS and Wii games to play online mul… | 32 | 1183 | maintenance |
| aachman98/Sorcar Sorcar is a Blender addon that provides a node-based visual programming environment for procedural 3D modeling, inspired by Houdini. It off… | 23 | 1182 | maintenance |
| OneYoungMean/Automatic-DynamicBone A free, open-source Unity plugin that automatically generates physics-based bone cloth simulation (hair, skirts, tails) for skinned charact… | 32 | 1178 | maintenance |
| HKUST-Aerial-Robotics/GVINS GVINS is a C++/ROS nonlinear optimization system that tightly fuses GNSS raw measurements (pseudorange and Doppler) with visual and inertia… | 32 | 1165 | maintenance |
| Neural 3D Mesh Renderer A differentiable 3D mesh renderer implemented in Chainer, accompanying the CVPR 2018 paper 'Neural 3D Mesh Renderer'. It enables gradient-b… | 23 | 1164 | maintenance |
| HKUST-Aerial-Robotics/Teach-Repeat-Replan Teach-Repeat-Replan is a complete C++/ROS system enabling aggressive autonomous drone flight in complex environments. It converts a manuall… | 32 | 1163 | maintenance |
| hunterloftis/pbr A Physically Based Renderer (PBR) implemented as a Go library, providing a unidirectional CPU-only Monte Carlo path tracer. It includes a s… | 32 | 1155 | maintenance |
| gdquest-demos/godot-3d-mannequin An open-source 3D character model and third-person character controller for the Godot game engine, built with GDScript. It provides a Playe… | 23 | 1151 | maintenance |
| jbox2d/jbox2d JBox2d is a native Java port of the C++ Box2D and LiquidFun 2D physics engines, providing rigid body simulation, joints, continuous collisi… | 32 | 1150 | maintenance |
| uber-common/metta Metta is an information security preparedness tool that runs adversarial simulations to test host-based and network detection instrumentati… | 32 | 1146 | maintenance |
| naman14/AlgorithmVisualizer-Android An Android application that animates algorithms and data structures such as sorting, searching, graph traversal, and linked lists. It provi… | 32 | 1135 | maintenance |
| laurentkneip/opengv OpenGV is a C++ library of computer vision methods for solving geometric vision problems such as absolute-pose, relative-pose, triangulatio… | 32 | 1135 | maintenance |
| huawei-noah/SMARTS SMARTS is a simulation platform for multi-agent reinforcement learning research focused on autonomous driving, emphasizing realistic and di… | 23 | 1135 | maintenance |
| cadenji/foolrenderer A tiny software renderer written in C from scratch without any graphics API, designed to demonstrate real-time rendering techniques like ra… | 32 | 1133 | maintenance |
| ading2210/linuxpdf LinuxPDF is a PDF file that runs a full Linux system inside a RISC-V emulator (based on TinyEMU) compiled to asm.js and executed via the Ja… | 21 | 5104 | experimental |
| myhdl/myhdl MyHDL is a pure Python package that turns Python into a hardware description and verification language (HDL). Designs written in MyHDL can … | 75 | 1131 | maintenance |
| yrlu/quadrotor A MATLAB codebase implementing quadrotor PD controllers, path planning algorithms (Dijkstra, A*), and trajectory optimization (minimum snap… | 23 | 1129 | maintenance |
| trebonian/visual6502 A browser-based transistor-level simulator of the 6502 (and 6800) microprocessors, originally from visual6502.org. It includes a general-pu… | 32 | 1127 | maintenance |
| adriancable/8086tiny 8086tiny is a tiny, MIT-licensed PC XT-compatible emulator/virtual machine written in C, with fully-commented source under 25K. It emulates… | 32 | 1124 | maintenance |
| rswier/swieros Swieros is a tiny hand-crafted virtual CPU emulator paired with a fast C-subset compiler and a Unix-ish operating system kernel based on xv… | 32 | 1119 | maintenance |
| adrianco/spigo Spigo (now transitioning to simianviz) is a Go-based simulator that models protocol interactions between actors in a distributed microservi… | 32 | 1119 | maintenance |
| methusalah/SplineMesh SplineMesh is a Unity plugin for creating curved content in real time using Bézier splines. It provides a general spline component, mesh be… | 32 | 1118 | maintenance |
| mitsuba-renderer/mitsuba Mitsuba is a research-oriented physically based rendering system written in portable C++, inspired by PBRT. It implements unbiased and bias… | 32 | 1116 | maintenance |
| dli/waves A WebGL-based ocean wave simulation with a CSS 3D UI, running in the browser. It renders realistic ocean waves using GPU shaders. | 32 | 1114 | maintenance |
| mapbox/webgl-wind A WebGL-powered library for visualizing wind data as GPU-accelerated particle animations, capable of rendering up to 1 million particles at… | 72 | 1112 | maintenance |
| prime31/CharacterController2D A Unity 2D character controller component similar to Unity's built-in CharacterController, providing a move method with raycast-based colli… | 32 | 1112 | maintenance |
| gdquest-demos/godot-2d-space-game Harvester is a free and open-source top-down 2D space mining game built with the Godot game engine and GDQuest's steering AI framework. It … | 56 | 1108 | maintenance |
| SimHacker/micropolis The open-source GPL release of Micropolis, based on the original SimCity Classic city-building simulation game by Will Wright and Maxis. Th… | 58 | 1107 | maintenance |
| ethz-asl/ethzasl_msf ethzasl_msf is a modular C++ framework for multi-sensor fusion based on an Extended Kalman Filter (EKF), with time delay compensation for s… | 57 | 1105 | maintenance |
| nicrusso7/rex-gym Rex-gym provides OpenAI Gym environments for the open-source SpotMicro quadruped robot, built on PyBullet simulation, along with a PPO lear… | 32 | 1103 | maintenance |
| kikito/bump.lua bump.lua is a Lua library for axis-aligned bounding-box (AABB) collision detection with basic collision response, designed for gameistic (n… | 23 | 1103 | maintenance |
| GPUOpen-LibrariesAndSDKs/RadeonRays_SDK RadeonRays is a ray intersection acceleration library developed by AMD, providing a C API for scene building and asynchronous ray intersect… | 23 | 1101 | maintenance |
| ethz-asl/segmap SegMap is a C++ library and ROS package providing a segment-based 3D map representation for robot localization, environment reconstruction,… | 32 | 1096 | maintenance |
| kriswiner/MPU9250 Arduino sketches and supporting code for the MPU-9250 9-DoF motion sensor, including calibration, self-test, and AHRS sensor fusion using M… | 32 | 1090 | maintenance |
| Scrawk/Ceto Ceto is an ocean and water rendering system for the Unity game engine, providing realistic wave simulation and water surface effects. It is… | 32 | 1086 | maintenance |
| ethz-adrl/towr TOWR is a lightweight, Eigen-based C++ library for trajectory optimization of legged robots. It provides reusable variables, costs, and con… | 23 | 1085 | maintenance |
| Differentiable MPC mpc.pytorch is a fast and differentiable model predictive control (MPC) solver implemented as a PyTorch library. It solves receding-horizon… | 32 | 1080 | maintenance |