跳转到主要内容

标签(标签)

资源精选(342) Go开发(108) Go语言(103) Go(99) angular(82) LLM(75) 大语言模型(63) 人工智能(53) 前端开发(50) LangChain(43) golang(43) 机器学习(39) Go工程师(38) Go程序员(38) Go开发者(36) React(33) Go基础(29) Python(24) Vue(22) Web开发(20) Web技术(19) 精选资源(19) 深度学习(19) Java(18) ChatGTP(17) Cookie(16) android(16) 前端框架(13) JavaScript(13) Next.js(12) 安卓(11) 聊天机器人(10) typescript(10) 资料精选(10) NLP(10) 第三方Cookie(9) Redwoodjs(9) LLMOps(9) Go语言中级开发(9) 自然语言处理(9) PostgreSQL(9) 区块链(9) mlops(9) 安全(9) 全栈开发(8) ChatGPT(8) OpenAI(8) Linux(8) AI(8) GraphQL(8) iOS(8) 软件架构(7) Go语言高级开发(7) AWS(7) C++(7) 数据科学(7) whisper(6) Prisma(6) 隐私保护(6) RAG(6) JSON(6) DevOps(6) 数据可视化(6) wasm(6) 计算机视觉(6) 算法(6) Rust(6) 微服务(6) 隐私沙盒(5) FedCM(5) 语音识别(5) Angular开发(5) 快速应用开发(5) 提示工程(5) Agent(5) LLaMA(5) 低代码开发(5) Go测试(5) gorm(5) REST API(5) 推荐系统(5) WebAssembly(5) GameDev(5) CMS(5) CSS(5) machine-learning(5) 机器人(5) 游戏开发(5) Blockchain(5) Web安全(5) Kotlin(5) 低代码平台(5) 机器学习资源(5) Go资源(5) Nodejs(5) PHP(5) Swift(5) 智能体(4) devin(4) Blitz(4) javascript框架(4) Redwood(4) GDPR(4) 生成式人工智能(4) Angular16(4) Alpaca(4) 编程语言(4) SAML(4) JWT(4) JSON处理(4) Go并发(4) kafka(4) 移动开发(4) 移动应用(4) security(4) 隐私(4) spring-boot(4) 物联网(4) nextjs(4) 网络安全(4) API(4) Ruby(4) 信息安全(4) flutter(4) 专家智能体(3) Chrome(3) CHIPS(3) 3PC(3) SSE(3) 人工智能软件工程师(3) LLM Agent(3) Remix(3) Ubuntu(3) GPT4All(3) 软件开发(3) 问答系统(3) 开发工具(3) 最佳实践(3) RxJS(3) SSR(3) Node.js(3) Dolly(3) 移动应用开发(3) 低代码(3) IAM(3) Web框架(3) CORS(3) 基准测试(3) Go语言数据库开发(3) Oauth2(3) 并发(3) 主题(3) Theme(3) earth(3) nginx(3) 软件工程(3) azure(3) keycloak(3) 生产力工具(3) gpt3(3) 工作流(3) C(3) jupyter(3) 认证(3) prometheus(3) GAN(3) Spring(3) 逆向工程(3) 应用安全(3) Docker(3) Django(3) R(3) .NET(3) 大数据(3) Hacking(3) 渗透测试(3) C++资源(3) Mac(3) 微信小程序(3) Python资源(3) JHipster(3) 大型语言模型(2) 语言模型(2) 可穿戴设备(2) JDK(2) SQL(2) Apache(2) Hashicorp Vault(2) Spring Cloud Vault(2) Go语言Web开发(2) Go测试工程师(2) WebSocket(2) 容器化(2) AES(2) 加密(2) 输入验证(2) ORM(2) Fiber(2) Postgres(2) Gorilla Mux(2) Go数据库开发(2) 模块(2) 泛型(2) 指针(2) HTTP(2) PostgreSQL开发(2) Vault(2) K8s(2) Spring boot(2) R语言(2) 深度学习资源(2) 半监督学习(2) semi-supervised-learning(2) architecture(2) 普罗米修斯(2) 嵌入模型(2) productivity(2) 编码(2) Qt(2) 前端(2) Rust语言(2) NeRF(2) 神经辐射场(2) 元宇宙(2) CPP(2) 数据分析(2) spark(2) 流处理(2) Ionic(2) 人体姿势估计(2) human-pose-estimation(2) 视频处理(2) deep-learning(2) kotlin语言(2) kotlin开发(2) burp(2) Chatbot(2) npm(2) quantum(2) OCR(2) 游戏(2) game(2) 内容管理系统(2) MySQL(2) python-books(2) pentest(2) opengl(2) IDE(2) 漏洞赏金(2) Web(2) 知识图谱(2) PyTorch(2) 数据库(2) reverse-engineering(2) 数据工程(2) swift开发(2) rest(2) robotics(2) ios-animation(2) 知识蒸馏(2) 安卓开发(2) nestjs(2) solidity(2) 爬虫(2) 面试(2) 容器(2) C++精选(2) 人工智能资源(2) Machine Learning(2) 备忘单(2) 编程书籍(2) angular资源(2) 速查表(2) cheatsheets(2) SecOps(2) mlops资源(2) R资源(2) DDD(2) 架构设计模式(2) 量化(2) Hacking资源(2) 强化学习(2) flask(2) 设计(2) 性能(2) Sysadmin(2) 系统管理员(2) Java资源(2) 机器学习精选(2) android资源(2) android-UI(2) Mac资源(2) iOS资源(2) Vue资源(2) flutter资源(2) JavaScript精选(2) JavaScript资源(2) Rust开发(2) deeplearning(2) RAD(2)

A curated list of good stuff related to the development of games. This list contains only free software for code, sellers who aren't evil for physical resources, and free cultural works for assets.

I have also provided a list of resources which are not free, and the reasons why, in the associated Wall of Shame file.

This is released under a Creative Commons-Attribution-ShareAlike license, version 4.0. You can find its text in the LICENSE.md file.

This project is part of Peers - a community for growing freedom. Support us today!

Table of Contents

Assorted Assets

This contains collections of miscellaneous assets of different kinds.

  • Openclipart - A giant collection of clip art. CC0.
  • OpenGameArt.org - A large collection of art intended for game development. Various licenses, including free ones.
  • Wikimedia Commons - A collection of various assets of all kinds. Various licenses, all CC or free-er.
  • Open Source Game Clones - A collection of open source videogames that are clones of old games.

Audio

Editors

  • Ardour - The digital audio workstation. GNU GPLv2 or later.
  • Audacity - Software for recording and editing sounds. GNU GPLv2 or later.
  • Beast - Music composition and modular synthesis software. GNU LGPLv3 or later.
  • Hydrogen - An advanced drum machine, with a free drum kit included. GNU GPLv2 or later.
  • LMMS - A digital audio workstation. GNU GPLv2 or later.
  • MilkyTracker - Multi-platform application for creating .mod and .xm module files. GNU GPLv3 or later.
  • Musagi - A large and sophisticated music editor. Expat.
  • MuseScore - A music notation program capable of generating engraved scores and audio and MIDI files. GNU GPLv2 or later.
  • rFXGen - a tool to generate sound waves procedurally. zlib

General

  • GameSounds.xyz - Royalty free music and sounds. Various licenses, including free ones.
  • Musical Artifacts - A collection of music-related everything. Various licenses, all CC.

Music

Sound Effects

Communities

Gamedev can be a lonely job, and it also can have a steep learning curve. These communities are designed to assist you in terms of camaraderie, expert knowledge and resources.

  • /r/freeculture - Part of the Free Culture Reddit Community. A general free-culture-focused community.
  • /r/FreeGaming - Part of the Free Culture Reddit Community. Designed specifically for discussion of free culture games.
  • /r/freesoftware - A general free-software-focused community.
  • /r/godot - A community for discussion and support in development with the Godot game engine.
  • FreeGameDev Forums - A forum community for all things free-game-development-related.
  • FreeGaming - A freepo.st community dedicated to free gaming.
  • Libregamewiki - The free gaming encyclopedia.

Engines

These are full-blown game engines.

General

HTML5

Unless stated otherwise, these engines are implemented in ECMAScript.

Physics

  • ammo.js - Implemented in ECMAScript. A port of Bullet. 3-clause BSD.
  • Box2D - Implemented in C++. Designed to simulate rigid body physics. zlib.
  • Bullet - Implemented in C++. General physics engine. zlib.
  • LiquidFun - LiquidFun is a 2D rigid-body and fluid simulation C++ library for games based upon Box2D. zlib.
  • Matter.js - Implemented in ECMAScript. Physics engine for HTML5. Expat.
  • ODE - Open Dynamics Engine; implemented in C++. Designed to simulate rigid body dynamics. Original BSD.
  • Oimo.js - Implemented in ECMAScript. Expat.
  • Physics.js - Implemented in ECMAScript. Expat.

Math

  • Hypatia - A pure-C math library for 2D/3D graphics (matrix, vector, quaternion) Seeks to be close to C89/C90 compliant for portability. MIT.

Fonts

Games

These are meant to serve as examples for your own work, or foundations to built upon.

I have endeavoured to provide both code and asset licenses here - if no asset license is listed, assume it to be non-free or questionably-free. These entries may be removed upon clarification.

C

C++

CoffeeScript

Dart

ECMAScript

Java

Other/Multiple

Python

Graphics

Assorted

This is a section for everything else that doesn't fit in some other graphics category.

  • Blender 3D Model Repository - User-submitted 3D models made with Blender. Various licenses, including free ones.
  • Blend Swap - A community of Blender artists and their work. Various licenses, all CC.
  • CanTree - Free online tree generator. Generates PNG files. Expat.
  • Kator Legaz 3D Models - 3D Models by of various subjects. CC-BY-3.0.
  • mocapdata.com - A library of motion capture data. Various licenses, including free ones.
  • Yobi3D - A search engine for 3D models that aims to display license information when possible. Various licenses, including free ones.

Collections

This category contains any 'grab-bags' of different kinds of art assets.

  • Free stuff by 7Soul1 - A collection of various game-related assets. Available in PNG. Public domain.
  • openclipart - A collection of various clip art. Available in PNG. Public domain.
  • Remastered Tyrian graphics - A collection of pixel spreadsheets for a top-down shooter. CC0.
  • Vecteezy - A collection of vector art. Various Creative Commons licenses.
  • ZipUp Free Game Elements - A collection of various graphical elements. Custom attribution license, free.

Icons

Sprites

Graphics Tools

Animation

Bitmap Compression

  • FLIF - Reference implementation of the Free Lossless Image Format. Comes with additional tools. GNU GPLv3 only.
  • pngquant - A command-line utility for lossy compression of PNG images. Has various front-ends available. FreeBSD.
  • Trimage - A cross-platform tool for losslessly optimizing PNG and JPG files. Expat.

Editors

Mesh Tools

  • MeshLabs - A portable system for the processing and editing of unstructured 3D triangular meshes. GNU GPLv2 or later.
  • Dilay - A 3D sculpting application that provides an intuitive workflow using a number of powerful modelling tools. GNU GPLv3 or later.

Procedural Generators

  • SpaceshipGenerator - A Blender script allowing generation of spaceships from a random seed and some parameters. Expat.

Spritesheet Tools

  • Piskel - Online pixel art and animated sprite creator. GNU AGPLv3 or later.

Texture Tools

  • AwesomeBump - A program that generates normal, height, specular or ambient occlusion, roughness or metallic textures. Requires a graphics card with support for OpenGL4 or greater. GNU LGPLv3 or later.
  • Material Maker - Procedural texture generation tool for use with PBR engines. Expat.
  • NeoTextureEdit - An easy-to-use, graph-based, procedural texture editor. No longer maintained. GNU LGPLv3 or later.
  • TextureGeneratorOnline - An online tool for texture generation. Expat.

Voxel Editors

  • Sproxel - A 3D interface for quickly editing and creating voxel-based 3D models. 3-clause BSD.

Learning Resources

These are all collections of information to help you learn about things that might be necessary for developing games.

We aim for complete and current resources here whenever possible.

Game Design

Graphics

Beginner

Reference

Music

Programming

Beginner

Intermediate

Reference

Talks

These are collections of game development-related talks, podcasts etc. that might be interesting or informative to people seeking to design games.

  • Composers Play (podcast) - Listen to a video game composer discuss soundtracks of iconic games such as Mass Effect, Duke Nukem II, Doom, and System Shock with their composers, often while playing the game.
  • GameDevRadio (podcast) - A series of online radio shows devoted to entertaining and educating whoever is interested in game development. CC-BY-SA-4.0.
  • Indievelopment talks (video) - A collection of talks about various aspects of game development. CC0.

Programming Frameworks and Libraries

These are programming libraries or low-level code-based tools which are designed to support game programming, but do not provide as much structure or support as an engine would.

  • ActionKid - A simple video game framework. Implemented in Haskell. 3-clause BSD.
  • Allegro 5 - A cross-platform library for low-level tasks, like creating windows, accepting user input and so forth. Implemented in C and C++. 3-clause BSD.
  • Bacon2D - A framework to ease 2D game development, providing QML elements representing basic game entities. Implemented in C++. Expat.
  • bgfx - A 'build-your-own-engine' rendering library. FreeBSD.
  • Chipmunk2D - A fast and lightweight 2D game physics library. Implemented in C. Expat.
  • ChipmunkSharp - Advanced physics engine library based on Chipmunk. Implemented in C#. Expat.
  • Cinder - A community-developed library for creative coding. Implemented in C++. FreeBSD.
  • ClanLib - A cross-platform toolkit with a primary focus on game creation. Implemented in C++. (git). zlib.
  • CutJS - A lightweight and fast 2D HTML5 rendering engine for cross-platform game development. Implemented in ECMAScript. Expat.
  • Dear ImGui - An Immediate Mode Graphical User interface for C++ with minimal dependencies. zlib
  • enchant.js - A framework for developing simple HTML5 + ECMAScript games. Implemented in ECMAScript. Expat.
  • EndGate - A framework for building HTML5 games. Implemented in TypeScript. Expat.
  • Epoxy - A library for handling OpenGL function pointer management. Implemented in C. Expat.
  • GameJs - A thin library on top of the Canvas API, including some helpful game development modules. Expat.
  • Gideros - A cross-platform game development framework in Lua. Various licenses, all free.
  • Gladiator3D - A raycasting engine. Implemented in ECMAScript. Expat.
  • GLFW - A multi-platform library for OpenGL, OpenGL ES and Vulkan development on the desktop. zlib
  • HaxeFlixel - A cross-platform development framework, supporting many targets. Implemented in Haxe. Expat.
  • HaxePunk - A development framework designed to let you build games on any platform. Expat.
  • ImGuizmo - An immediate mode 3D gizmo for scene editing and other controls based on Dear ImGuiMIT
  • Kcp - A fast and reliable ARQ protocol that helps fast-action games reduct network latency. MIT
  • Kivy - Rapid-development library for multi-touch and visual apps on many platforms. Implemented in Python. Expat.
  • Kuko - A cross-platform development library, designed for mobile devices. Implemented in C++ and Lua. Expat.
  • libGDX - Cross-platform game development framework. Implemented in Java. Apache 2.0.
  • libRocket - An HTML/CSS-based UI library. Implemented in C++. Expat.
  • libSDL2pp - A set of C++11 bindings for SDL2. Implemented in C++. zlib.
  • LimeJS - A framework for building fast HTML5 games. Implemented in ECMAScript. Apache 2.0.
  • LoomSDK - A very large and powerful framework for cross-platform 2D game development. Implemented in C++. Apache 2.0.
  • LÖVE - A framework for making 2D games. Implemented in Lua. zlib .
  • LuaStudio - A cross-platform framework/development tool for making 2D/3D games. Lua/LuaJIT programming language based. zlib
  • MINX - MINX Is Not XNA; a framework resembling XNA. Implemented in C++. 3-clause BSD.
  • p2.js - 2D physics library. Implemented in ECMAScript. Expat.
  • pixi.js - A 2D rendering engine. Implemented in ECMAScript. Expat.
  • Polycode - Framework for games and interactive applications. Implemented in C++. Has Lua bindings. Expat.
  • putils - Phisko's C++ utilities. Large collection of helper classes and functions. [MIT]
  • putils_meta - Phisko's metaprogramming utilities. Collection of type traits and compile-time helpers. [MIT]
  • putils_reflection - A simple, stand-alone, header-only and easily pluggable constexpr reflection system. [MIT]
  • PyDark - Game framework on top of PyGame; designed to be easy to pick up. Implemented in Python. Expat.
  • PyGame - A set of modules designed for writing games. Implemented in Python. GNU LGPLv2 or later.
  • Quasi-Engine - A set of Qt-based tools for game development. Implemented in C++. GNU LGPLv2 or later.
  • raylib - Low-level library designed to learn videogames programming. Implemented in C, but has Lua and Go bindings. zlib
  • SDL - Another cross-platform library for low-level tasks, like creating windows, accepting user input, and so forth. Implemented in C. zlib.
  • SFML - Simple and Fast Multimedia Library; a multi-platform, multi-language, multimedia interface to various computer hardware. Implemented in C++. Has a range of bindings3-clause BSD.
  • Slick2D - A set of tools to make 2D game development easier. Implemented in Java. 3-clause BSD.
  • Three.js - A library that makes WebGL easy to use. Implemented in ECMAScript. Expat.
  • Tracy - C++ frame profiler. 3-clause BSD.
  • voxel.js - A multi-component framework for bulding voxel games for modern browsers. Implemented in ECMAScript. 3-clause BSD.
  • ZenGL - A cross-platform game development library designed to provide necessary functionality for rendering 2D-graphics, handling input, sound output, etc. Implemented in Pascal. zlib.

Utilities

This is a catch-all category for things that don't fit anywhere else.

  • Assimp - Open Asset Import Library; a portable way to import various well-known 3D model formats in a uniform manner. Implemented in C++, with a range of bindings. 3-clause BSD.
  • Easel.js - Provides a range of tools to make working with the HTML5 Canvas API easier. Implemented in ECMAScript. Expat.
  • Gmsh - A 3D finite-element grid generator with a built-in CAD engine and post-processor. GNU GPLv2 or later.
  • libcaca - An ASCII graphics rendering library for terminal-based interfaces. WTFPLv2.
  • libnoise - A portable coherent noise-generation library. Implemented in C++. GNU LGPLv2 or later.
  • PhysicsFS - A library to provide abstract access to various archives. zlib.
  • ScummVM - A program which allows you to run certain classic graphical point-and-click adventure games, provided you already have their data files. GNU GPLv2 or later.
  • Torsion - A TorqueScript IDE. Expat.
  • TrenchBroom - A cross-platform level editor for Quake-engine-based games. Currently supports Quake, Quake 2 and Hexen 2 engine-based games. GNU GPLv3 or later.
  • WorldForge - Provides everything needed to create your own free software MMORPG. GNU GPLv3 or later (or a compatible license).

原文:https://github.com/Calinou/awesome-gamedev