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 |
|---|---|---|---|
| LuisaGroup/LuisaCompute LuisaCompute is a high-performance cross-platform computing framework for graphics and beyond, featuring a C++-embedded DSL for GPU kernel … | 77 | 1055 | active |
| firesim/firesim FireSim is an open-source FPGA-accelerated full-system hardware simulation platform for validating, profiling, and debugging RTL hardware i… | 91 | 1054 | active |
| linorobot/linorobot2 linorobot2 is a ROS 2 package that provides a complete, working foundation for building autonomous mobile robots with 2WD, 4WD, and Mecanum… | 76 | 1054 | active |
| NVIDIA PhysX SDK NVIDIA PhysX SDK 4.1, a scalable multi-platform real-time physics engine for rigid body dynamics and collision detection, used in game engi… | 23 | 3599 | maintenance |
| pond3r/ggpo GGPO is a C++ SDK that implements rollback networking, using input prediction and speculative execution to give online multiplayer games th… | 32 | 3592 | maintenance |
| movsim/traffic-simulation-de An interactive JavaScript/HTML5 traffic flow microsimulation web application, the source code behind traffic-simulation.de. It simulates sc… | 75 | 1052 | active |
| RepRapFirmware RepRapFirmware is object-oriented C++ firmware for controlling 3D printers and related devices on ARM Cortex-based electronics such as ATSA… | 90 | 1051 | active |
| freeorion/freeorion FreeOrion is a free, open-source, turn-based space empire and galactic conquest game inspired by the Master of Orion tradition. It implemen… | 76 | 1051 | active |
| keijiro/Skinner Skinner is a Unity library of special effects that use the vertices of an animating skinned mesh as emitting points for particle and trail … | 23 | 3587 | maintenance |
| vectr-ucla/direct_lidar_inertial_odometry DLIO is a lightweight LiDAR-inertial odometry algorithm that constructs continuous-time trajectories using a coarse-to-fine approach for pr… | 50 | 1050 | active |
| openai/retro Gym Retro is a Python library that turns classic video games into Gym environments for reinforcement learning research, with integrations f… | 10 | 3581 | maintenance |
| vectr-ucla/direct_lidar_odometry Direct LiDAR Odometry (DLO) is a lightweight, computationally-efficient frontend LiDAR odometry package for consistent and accurate pose es… | 23 | 1049 | stable |
| RLCard RLCard is a Python toolkit for reinforcement learning research in card games, providing environments for Blackjack, Leduc Hold'em, Texas Ho… | 23 | 3574 | maintenance |
| skyfloogle/red-viper Red Viper is a Nintendo Virtual Boy emulator for the Nintendo 3DS, continuing the work on r3Ddragon. It uses a dynamic recompiler and hardw… | 93 | 1047 | active |
| GPUOpen-LibrariesAndSDKs/D3D12MemoryAllocator A C++ library from AMD GPUOpen that simplifies memory allocation and resource creation in Direct3D 12 by suballocating large memory heaps i… | 84 | 1043 | stable |
| QuantumBFS/Yao.jl Yao is an extensible, efficient open-source framework for quantum algorithm design and quantum circuit simulation written in Julia. It prov… | 76 | 1043 | active |
| vpinball/vpinball Visual Pinball is an open-source pinball table editor and physics simulator written in C++. It lets users build, edit, and play virtual pin… | 79 | 1041 | active |
| SlimeVR SlimeVR is an open-source full-body tracking system for VR consisting of ESP32/ESP8266 tracker firmware supporting various IMU sensors and … | 97 | 1040 | active |
| QNLab-USTC/SimQN SimQN is a discrete-event network-layer simulator for quantum networks, written in Python with optional Cython acceleration. It supports la… | 76 | 1040 | active |
| EricLengyel/Terathon-Math-Library A C++ math library providing classes for 2D/3D/4D vectors, matrices, quaternions, dual numbers, and projective/rigid geometric algebra elem… | 71 | 1040 | active |
| smparsons/retroboy Retro Boy is a cycle-accurate Game Boy emulator written in Rust that compiles to WebAssembly for browser-based play. It features accurate C… | 55 | 1039 | active |
| whoenig/libMultiRobotPlanning A C++14 header-style library providing highly templated search algorithms for multi-robot/agent task and path planning. It implements singl… | 32 | 1039 | stable |
| GNS3 GNS3 is a graphical network simulator that lets users design, build, and emulate complex network topologies using real router, switch, and … | 95 | 1034 | active |
| Phylliade/ikpy IKPy is a pure-Python inverse kinematics library that computes IK for arbitrary kinematic chains defined via URDF, MJCF, DH parameters, or … | 89 | 1034 | active |
| motional/nuplan-devkit The official devkit for the nuPlan dataset, providing tools to load, visualize, and process the large-scale autonomous driving planning dat… | 36 | 1034 | active |
| mmikk/hextile-demo A C++ demo application implementing the 'Practical Real-Time Hex-Tiling' technique for hiding texture repetition in real-time graphics. It … | 32 | 1033 | stable |
| microsoft/aurora Aurora is Microsoft's implementation of a deep learning foundation model for Earth system forecasting, predicting atmospheric variables lik… | 88 | 1031 | active |
| BRL-CAD/brlcad BRL-CAD is a cross-platform open source combinatorial solid modeling system with an interactive 3D geometry editor, a high-performance netw… | 85 | 1031 | active |
| greatscottgadgets/facedancer A Python library for emulating USB devices using hardware peripherals like Cynthion or GreatFET. It also supports MITM proxying of USB conn… | 72 | 1031 | active |
| 6-robot/wpr_simulation A Gazebo simulation package for the WPR series of wheeled mobile robots, designed for ROS Noetic on Ubuntu 20.04. It provides demo scenario… | 32 | 1031 | active |
| silvery107/rl-mpc-locomotion A Python framework combining deep reinforcement learning with model predictive control (MPC) for quadruped robot locomotion, where a policy… | 64 | 1028 | active |
| Particle Life An interactive desktop application that simulates Particle Life, a simple particle system that exhibits complex life-like emergent behavior… | 56 | 1028 | active |
| MichaelFYang/far_planner FAR Planner is a C++/ROS route planner for autonomous robots that builds a dynamically updated visibility graph to plan paths in both known… | 66 | 1027 | stable |
| DREAM-DK/MAKRO MAKRO is a large-scale macroeconomic model of the Danish economy developed by DREAM for the Danish Ministry of Finance, written in GAMS wit… | 67 | 1025 | active |
| cityflow-project/CityFlow CityFlow is an open-source microscopic traffic simulator designed as a multi-agent reinforcement learning environment for large-scale city … | 45 | 1025 | active |
| diharaw/hybrid-rendering A Vulkan sample application demonstrating a hybrid rendering pipeline that combines rasterization with ray tracing. It integrates ray trace… | 35 | 1025 | stable |
| limboemu/limbo Limbo is a QEMU-based PC emulator that runs on Android devices, supporting x86/x86_64, ARM/ARM64, PowerPC, and Sparc guest architectures. I… | 23 | 3472 | maintenance |
| CloudSim CloudSim is a Java-based framework for modeling and simulating cloud computing infrastructures and services, including data centers, virtua… | 49 | 1022 | active |
| Overcooked AI Overcooked-AI is a benchmark environment for fully cooperative human-AI task performance, based on the video game Overcooked, where agents … | 25 | 1021 | active |
| Blender Wiggle Wiggle 2 is a Blender add-on that adds physics-driven secondary motion to armature bones, a ground-up rewrite of the original wiggle bones … | 22 | 1021 | active |
| fogleman/ln A vector-based 3D rendering engine written in Go that produces 2D vector graphics (SVG/PNG) depicting 3D scenes as line art. It was created… | 32 | 3465 | maintenance |
| NVIDIA-RTX/RTXPT NVIDIA's real-time path tracing library and sample application, a pure path tracer built on the Donut framework with DirectX 12 and Vulkan … | 62 | 1020 | active |
| FullControlXYZ/fullcontrol FullControl is a Python library for explicitly designing 3D printer toolpaths and converting them into gcode, bypassing the conventional CA… | 66 | 1019 | active |
| thomwolf/Magic-Sand Magic-Sand is a C++ openFrameworks application that operates an augmented reality sandbox by pairing a Kinect depth sensor with a projector… | 23 | 1019 | active |
| neuralgcm/neuralgcm NeuralGCM is a Python library for building hybrid machine-learning/physics models of the Earth's atmosphere for weather and climate simulat… | 70 | 1018 | active |
| appsinacup/godot-rapier-physics A 2D and 3D physics engine plugin for the Godot game engine, built on the Rapier physics library and Salva fluids simulation. It serves as … | 93 | 1017 | active |
| Pjbomb2/TrueTrace-Unity-Pathtracer A high-performance compute shader based path tracer for Unity3D that works without RT cores, using compressed wide BVH for software ray tra… | 75 | 1016 | active |
| SALib/SALib SALib is a Python library implementing global sensitivity analysis methods such as Sobol, Morris, FAST, PAWN, HDMR, and DGSM. It helps quan… | 68 | 1015 | stable |
| tomohiron907/Strecs3D Strecs3D is a desktop preprocessor that optimizes 3D printing infill using built-in FEM stress analysis, assigning dense infill to high-str… | 54 | 1015 | active |
| chhRobotics A C++ implementation collection of common planning and control algorithms for autonomous driving, including global/local path planning (A*,… | 32 | 1015 | active |
| LogicalError/realtime-CSG-for-unity Realtime-CSG is a Unity editor plugin providing constructive solid geometry (CSG) level design tools, letting developers build levels non-d… | 52 | 1012 | active |
| tapparelj/gr-lora_sdr A GNU Radio module implementing a fully functional software-defined radio LoRa transceiver in C++, covering complete transmit and receive c… | 56 | 1011 | active |
| LeCAR-Lab/dial-mpc DIAL-MPC is a sampling-based model predictive control framework for full-order, torque-level locomotion control of legged robots, using dif… | 20 | 1011 | active |
| aras-p/UnityGaussianSplatting A Unity package implementing real-time visualization of 3D Gaussian Splatting models from the SIGGRAPH 2023 paper. It imports PLY and SPZ s… | 44 | 3419 | maintenance |
| X0nk/Bliss-Shader Bliss is a Minecraft shader pack written in GLSL, an extensively customized edit of Chocapic13's v9 shader. It emphasizes dynamic, varied l… | 76 | 1005 | active |
| SCR1 RISC-V Core SCR1 is an open-source, silicon-proven RISC-V MCU-class CPU core written in SystemVerilog. It supports RV32I/RV32E bases with optional M an… | 32 | 1004 | stable |
| vivisect/vivisect Vivisect is a Python framework combining a disassembler, static binary analysis, emulation, symbolic execution, and a debugger (vdb/vtrace)… | 77 | 1002 | active |
| davidrmiller/biosim4 A C++ command-line program that simulates biological creatures evolving through natural selection in a 2D arena, as featured in the YouTube… | 68 | 3366 | maintenance |
| Torque 3D Torque 3D is an MIT-licensed open source C++ game engine from GarageGames, originally used for titles ranging from driving simulators to MM… | 23 | 3366 | maintenance |
| mit-biomimetics/Cheetah-Software MIT Biomimetics' software for the Cheetah 3 and Mini Cheetah quadruped robots, containing a dynamics/common library, robot control programs… | 32 | 3307 | maintenance |
| cryinkfly/Autodesk-Fusion-360-for-Linux A shell-based installer that runs Autodesk Fusion 360 on Linux using Wine, with support for many distributions and graphics drivers. The Gi… | 10 | 3280 | maintenance |
| google/brax Brax is a fast, fully differentiable rigidbody physics engine written in JAX, designed for massively parallel simulation on accelerator har… | 83 | 3247 | maintenance |
| pichenettes/eurorack Source code and hardware files for Mutable Instruments' line of Eurorack synthesizer modules, including oscillators, filters, sequencers, a… | 32 | 3181 | maintenance |
| phy Oimo.js is a lightweight 3D physics engine written in pure JavaScript, a full conversion of the ActionScript OimoPhysics library. It provid… | 32 | 3178 | maintenance |
| adereth/dactyl-keyboard A parameterized generator for the Dactyl, a split-hand, concave, columnar ergonomic keyboard, written in Clojure that emits OpenSCAD models… | 32 | 3175 | maintenance |
| Habitat AI Habitat is a high-performance, physics-enabled 3D simulation platform for Embodied AI research, consisting of Habitat-Sim (a fast 3D sim… | 68 | 3159 | maintenance |
| leggedrobotics/legged_gym A Python library providing Isaac Gym environments for training legged robots (e.g., ANYmal) to walk on rough terrain with reinforcement lea… | 39 | 3150 | maintenance |
| Unity-Technologies/NavMeshComponents Unity components (NavMeshSurface, NavMeshModifier, NavMeshModifierVolume, NavMeshLink) providing a high-level API for building and using Na… | 23 | 3087 | maintenance |
| Tencent/behaviac behaviac is a game AI development framework from Tencent supporting behavior trees, finite state machines, and hierarchical task networks. … | 23 | 3047 | maintenance |
| ashima/webgl-noise A collection of GLSL procedural noise shader routines (simplex, classic Perlin, cellular, psrdnoise) compatible with WebGL. The functions a… | 32 | 3000 | maintenance |
| dli/paint A browser-based fluid paint application that simulates fluid dynamics for realistic brush strokes, built with WebGL in JavaScript. It is th… | 32 | 2982 | maintenance |
| isaac-sim/IsaacGymEnvs A collection of example reinforcement learning environments for NVIDIA Isaac Gym, a GPU-accelerated physics simulator. It provides a Gym-st… | 10 | 2952 | maintenance |
| ethz-asl/maplab maplab 2.0 is an open, research-oriented C++ mapping framework for multi-session and multi-robot SLAM, built on ROS. It provides robust vis… | 23 | 2880 | maintenance |
| apitrace/apitrace apitrace is a set of tools for tracing OpenGL, OpenGL ES, Direct3D, and DirectDraw API calls to a file, then replaying and inspecting them.… | 76 | 2867 | maintenance |
| chandlerprall/Physijs Physijs is a physics plugin for the Three.js 3D graphics library, built on top of ammo.js (with a cannon.js branch). It runs physics simula… | 32 | 2860 | maintenance |
| ivanseidel/IAMDinosaur A Node.js application that uses neural networks and a genetic algorithm to teach Google Chrome's offline dinosaur game to jump cacti autono… | 32 | 2809 | maintenance |
| zauonlok/renderer A shader-based software rasterizer written from scratch in C89 with minimal dependencies, featuring PBR, IBL, shadow mapping, and skeletal … | 23 | 2784 | maintenance |
| tensorflow/graphics TensorFlow Graphics is a library of differentiable graphics layers for TensorFlow, including differentiable renderers, spatial transformers… | 66 | 2782 | maintenance |
| LeGO-LOAM LeGO-LOAM is a lightweight, ground-optimized lidar odometry and mapping (SLAM) system for ROS-compatible unmanned ground vehicles. It consu… | 32 | 2754 | maintenance |
| zhm-real/MotionPlanning A Python collection of motion planning and path tracking algorithms for autonomous vehicles, including Hybrid A*, Frenet Optimal Trajectory… | 32 | 2751 | maintenance |
| Hopson97/MineCraft-One-Week-Challenge A Minecraft-like voxel game written in C++ with OpenGL and SFML, created as a one-week coding challenge documented in a video. It serves pr… | 42 | 2750 | maintenance |
| Cleanflight Cleanflight is open-source flight controller firmware for multi-rotor and fixed-wing aircraft, written in C for STM32-based boards. It is a… | 23 | 2738 | maintenance |
| tum-vision/lsd_slam LSD-SLAM is a real-time monocular SLAM system that uses direct (featureless) image alignment to build large-scale, semi-dense 3D maps from … | 32 | 2730 | maintenance |
| ondras/rot.js rot.js is a JavaScript/TypeScript toolkit for building roguelike games, providing dungeon generation, field-of-view, pathfinding, lighting,… | 23 | 2718 | maintenance |
| veldrid/veldrid Veldrid is a low-level, portable graphics library for .NET that provides a unified, API-agnostic interface to the GPU for rendering and com… | 52 | 2701 | maintenance |
| schteppe/p2.js p2.js is a 2D rigid body physics engine written in JavaScript, providing collision detection, friction, restitution, springs, motors, and c… | 23 | 2688 | maintenance |
| PanicPetal/ALS-Community A community-maintained Unreal Engine plugin replicating and optimizing the Advanced Locomotion System V4 for Unreal Engine 5.4, implemented… | 23 | 2678 | maintenance |
| SFTtech/openage openage is a free, open-source clone of the Genie Engine that powers Age of Empires I/II and Star Wars: Galactic Battlegrounds, built with … | 66 | 14462 | experimental |
| Ganache Ganache is a personal blockchain for Ethereum development, providing a local simulated network with GUI (Electron) and CLI variants for dep… | 10 | 2623 | maintenance |
| amethyst/specs Specs is an Entity-Component System (ECS) library for Rust with easy parallelism, flexible component storages, and system dependency/barrie… | 23 | 2616 | maintenance |
| yuanming-hu/taichi_mpm A high-performance C++ implementation of the Moving Least Squares Material Point Method (MLS-MPM) with cutting and two-way rigid body coupl… | 23 | 2590 | maintenance |
| geerlingguy/macos-virtualbox-vm A shell script and set of instructions for creating a bootable macOS installer ISO and running macOS in a VirtualBox virtual machine. It au… | 32 | 2579 | maintenance |
| TexasSolver An open-source, high-performance Texas Hold'em and short deck GTO (game theory optimal) solver written in C++, available as GUI and console… | 67 | 2576 | maintenance |
| godot-jolt/godot-jolt Godot Jolt is a native GDExtension for the Godot game engine that integrates the Jolt physics engine as a drop-in replacement for Godot Phy… | 60 | 2576 | maintenance |
| HackerPoet/MarbleMarcher Marble Marcher is a video game demo built on a fractal physics engine with fully procedural rendering, where players roll a marble across r… | 32 | 2554 | maintenance |
| sinclairzx81/zero Zero is a 3D software renderer written in JavaScript/TypeScript that renders output to the terminal via Node.js stdout, requiring no GPU. I… | 70 | 2459 | maintenance |
| strasdat/Sophus Sophus is a C++ template library implementing 2D and 3D Lie groups (SO(2), SO(3), SE(2), SE(3)) built on top of Eigen, commonly used for ge… | 23 | 2455 | maintenance |
| HKUST-Aerial-Robotics/A-LOAM A-LOAM is an advanced, simplified C++ implementation of LOAM (Lidar Odometry and Mapping in Real-time) built on Eigen and Ceres Solver. It … | 32 | 2446 | maintenance |
| NVIDIAGameWorks/PhysX-3.4 NVIDIA PhysX SDK 3.4, a real-time physics simulation engine for games and other applications, including rigid body dynamics, collision dete… | 23 | 2418 | maintenance |
| getguesstimate/guesstimate-app Guesstimate is a web-based spreadsheet-like tool for creating Fermi estimates using Monte Carlo simulation. Users enter ranges and distribu… | 67 | 2394 | maintenance |