The Toolsmiths Arsenal
Description
A collection of solutions for game development problems.
Tools that are listed here were mentioned by Game Developers in Slack Teams, Forums, Game Conferences, Twitter…
3D creation suites
Blender
Blender is the free and open source 3D creation suite. It supports the entirety of the 3D pipeline—modeling, rigging, animation, simulation, rendering, compositing and motion tracking, even video editing and game creation.
Audio Editing Tools
Audacity
Audacity® is free, open source, cross-platform audio software for multi-track recording and editing.
Build Configuration
CMake
CMake is an open-source, cross-platform family of tools designed to build, test and package software.
FASTBuild
FASTBuild is a high performance, open-source build system supporting highly scalable compilation, caching and network distribution.
GENie
GENie (pronounced as Jenny) is project generator tool. It automagically generates project from Lua script, making applying the same settings for multiple projects easy.
Premake
Describe your software project just once, using Premake's simple and easy to read syntax, and build it everywhere.
Sharpmake
Sharpmake is an open-source C#-based solution for generating project definition files, such as Visual Studio projects and solutions, GNU makefiles, Xcode projects, etc.
CppCon 2017: Nicolas Fleury 'Introduction to Sharpmake'
sccache - Shared Compilation Cache
Sccache is a ccache-like tool. It is used as a compiler wrapper and avoids compilation when possible, storing a cache in a remote storage using the Amazon Simple Cloud Storage Service (S3) API, the Google Cloud Storage (GCS) API, or Redis.
Build tools
Apache Ant
Apache Ant is a Java library and command-line tool whose mission is to drive processes described in build files as targets and extension points dependent upon each other.
Boost.Build (a.k.a JAM)
Boost.Build is a high-level build system which makes it as easy as possible to manage C++ projects.
Build Monitor for Visual Studio
Build monitor is a tool which you can use to measure your build times in Visual studio over time.
CruiseControl
CruiseControl is both a continuous integration tool and an extensible framework for creating a custom continuous build process.
Ducible
A tool to make Windows builds reproducible.
Gradle
Gradle is a build tool with a focus on build automation and support for multi-language development.
SCons
SCons is an Open Source software construction tool—that is, a next-generation build tool.
Waf
Waf is a Python-based framework for configuring, compiling and installing applications.
vcppbuildtools
Docker image of windowsservercore plus Visual C++ Build Tools preinstalled
Computer Graphics
Cortex
The Cortex project provides a set of high quality C++ libraries and Python modules tailored for software development in the visual effects industry.
FBX Review
A cross-platform 3D model viewer
NormalMap-Online
This website lets you create normal maps from height maps for free.
Configuration Management
Packer
Packer is a tool for creating identical machine images for multiple platforms from a single source configuration.
Continuous Integration
Buildbot
Buildbot supports distributed, parallel execution of jobs across multiple platforms, flexible integration with version-control systems, extensive status reporting, and more.
Jenkins
The leading open source automation server, Jenkins provides hundreds of plugins to support building, deploying and automating any project.
Katana
Unity's fork of Buildbot, a Python-based continuous integration testing framework!
LambCI
A continuous integration system built on AWS Lambda
Debugging
The Debuginator
A juicy feature-packed debug menu intended for games.
Font
sfntly
sfntly is a Java and C++ library for using, editing, and creating sfnt container based fonts (e.g. OpenType, TrueType)
Game Engines
Helium Game Engine
Helium is a set of open-source cross-platform C++ Frameworks, and it aspires to be a high performance Game Engine. It is permissively licensed under a BSD-style license.
Image Editing Tools
GIMP
GIMP is a cross-platform image editor available for GNU/Linux, OS X, Windows and more operating systems.
INKSCAPE
Inkscape is a professional vector graphics editor for Windows, Mac OS X and Linux.
Infrastructure Automation and Configuration Management
CFEngine
Automate large-scale, complex and mission critical IT infrastructure
Chef
Achieve speed, scale, and consistency by automating your infrastructure with Chef
Puppet
Automatically deliver and operate all of your software across its entire lifecycle.
Infrastructure Monitoring
Cacti
Cacti is a complete network graphing solution designed to harness the power of RRDTool's data storage and graphing functionality.
Nagios
IT Infrastructure Monitoring
OpenNMS
OpenNMS is a carrier-grade, highly integrated, open source platform designed for building network monitoring solutions.
Zabbix
Zabbix is the ultimate enterprise-level software designed for real-time monitoring of millions of metrics collected from tens of thousands of servers, virtual machines and network devices.
Mesh Tools
Blockbench
A low poly 3D model editor
MeshLab
the open source system for processing and editing 3D triangular meshes. It provides a set of tools for editing, cleaning, healing, inspecting, rendering, texturing and converting meshes.
Wings 3D
Wings 3D is an advanced subdivision modeler that is both powerful and easy to use.
Performance & Analyzing code
CacheSim
This is CacheSim, a cache simulator developed by Insomniac Games.
Cpp Core Guidelines
The C++ Core Guidelines are a set of tried-and-true guidelines, rules, and best practices about coding in C++
Setting up Core Guidelines in Visual Studio
Cppcheck
Cppcheck is a static analysis tool for C/C++ code. It provides unique code analysis to detect bugs and focuses on detecting undefined behaviour and dangerous coding constructs.
SymbolSort
A Utility for Measuring C++ Code Bloat
clang-tidy
is an extensible framework for diagnosing and fixing typical programming errors, like style violations, interface misuse, or bugs that can be deduced via static analysis.
drpdb
Convert from Microsoft PDB format into a MySQL database
Procedural Modelling Tools
blackjack
A procedural, node-based modelling tool, made in rust 🦀
Revision control
BFG Repo Cleaner
faster alternative to git-filter-branch
JSON Merger
3-way Json merger
PerceptualDiff
is an image comparison utility that makes use of a computational model of the human visual system to compare two images
WASP
A tuned Windows Apache SVN PHP portable package
gitr (git-recursive)
Recursive branching workflow for git submodules
Serializing structured data
Cap’n Proto
Cap’n Proto is an insanely fast data interchange format and capability-based RPC system. Think JSON, except binary. Or think Protocol Buffers, except faster. In fact, in benchmarks, Cap’n Proto is INFINITY TIMES faster than Protocol Buffers.
FlatBuffers
FlatBuffers is an efficient cross platform serialization library for games and other memory constrained apps.
Protocol Buffers
Protocol Buffers - Google's data interchange format
Stat Collection
Grafana
The tool for beautiful monitoring and metric analytics & dashboards for Graphite, InfluxDB & Prometheus & More
Docker image with StatsD, Graphite, Grafana 2 and a Kamon Dashboard
Graphite
Graphite is a highly scalable real-time graphing system. As a user, you write an application that collects numeric time-series data that you are interested in graphing, and send it to Graphite’s processing backend, carbon, which stores the data in Graphite’s specialized database.
StatsD
Daemon for easy but powerful stats aggregation
Testing
Appium
Automation for iOS, Android, and Windows Apps
Windows Application Driver
Windows Application Driver is a service to support Selenium-like UI Test Automation on Windows Applications.
Tools for profiling
MTuner
MTuner is a memory profiler and memory leak finder for Windows, PS4, PS3...
MemTrace
MemTrace is a memory debugging tool developed internally at Insomniac Games
Microprofile
Microprofile is a embeddable profiler in a few files, written in C++
Remotery
A realtime CPU/GPU profiler
gpuvis
Gpuvis is a Linux GPU profiler similar to GPUView on Windows. It is designed to work with trace-cmd captures and help track down Linux gpu and application performance issues.
Transport data between applications
Alembic
Alembic is an open computer graphics interchange framework.
Autodesk animx
A project to make it easier for people to use Maya animation in their tools and pipelines.
COLLADA
COLLADA™ defines an XML-based schema to make it easy to transport 3D assets between applications - enabling diverse 3D authoring and content processing tools to be combined into a production pipeline.
GL Transmission Format
GL Transmission Format is a royalty-free specification for the efficient transmission and loading of 3D scenes and models by applications.
Lucasfilm MaterialX
MaterialX is an open standard for transfer of rich material and look-development content between applications and renderers.
Open Data Description Language (OpenDDL)
A general-purpose, human-readable, and strongly-typed data language for information exchange.
Open Game Engine Exchange (OpenGEX)
format is a text-based file format designed to facilitate the transfer of complex scene data between applications such as modeling tools and game engines.
Unity tools
Asset Bundle Graph Tool
AssetBundleGraphTool (ABGT) is a tool that aims to reduce the workload of all the effort needed to build workflows around building Asset Bundles and Player Apps.
Update C++ at runtime
Runtime Compiled C++ sample code
Runtime-Compiled C++ is a way to reliably make major changes to your C++ code at runtime and see the results immediately.
Web/Networking
Mongoose Embedded Web Server Library
Mongoose is more than an embedded webserver. It is a multi-protocol embedded networking library with functions including TCP, HTTP client and server, WebSocket client and server, MQTT client and broker and much more.
nanomsg
The nanomsg library is a simple high-performance implementation of several "scalability protocols". It aims to make the networking layer fast, scalable, and easy to use.
yojimbo
yojimbo is a network library for client/server games with dedicated servers.
the C language
cr
A single file header-only live reload solution for C, written in C++