SaaSHub helps you find the best software and product alternatives Learn more →
Top 23 Game development Open-Source Projects
-
Here's an example file tree from a part of the Godot game engine source code.
-
include(cmake/CPM.cmake) function(raylib_imgui_setup_dependencies) message(STATUS "Include Dear ImGui") FetchContent_Declare( ImGui GIT_REPOSITORY https://github.com/ocornut/imgui GIT_TAG 277ae93c41314ba5f4c7444f37c4319cdf07e8cf) # v1.90.4 FetchContent_MakeAvailable(ImGui) FetchContent_GetProperties(ImGui SOURCE_DIR IMGUI_DIR) add_library( imgui STATIC ${imgui_SOURCE_DIR}/imgui.cpp ${imgui_SOURCE_DIR}/imgui_draw.cpp ${imgui_SOURCE_DIR}/imgui_widgets.cpp ${imgui_SOURCE_DIR}/imgui_tables.cpp) target_include_directories(imgui INTERFACE ${imgui_SOURCE_DIR}) include(cmake/CPM.cmake) message(STATUS "Include dbg-macro") cpmaddpackage( "gh:sharkdp/dbg-macro#fb9976f410f8b29105818b20278cd0be0e853fe8" )# v0.5.1 message(STATUS "Include fmtlib") cpmaddpackage("gh:fmtlib/fmt#e69e5f977d458f2650bb346dadf2ad30c5320281" )# 10.x message(STATUS "Include raylib") cpmaddpackage("gh:raysan5/raylib#ae50bfa2cc569c0f8d5bc4315d39db64005b1b0" )# v5.0 message(STATUS "Include spdlog") cpmaddpackage("gh:gabime/spdlog#7c02e204c92545f869e2f04edaab1f19fe8b19fd" )# v1.13.0 message(STATUS "Include rlImGui") FetchContent_Declare( rlImGui GIT_REPOSITORY https://github.com/raylib-extras/rlImGui GIT_TAG d765c1ef3d37cf939f88aaa272a59a2713d654c9) FetchContent_MakeAvailable(rlImGui) FetchContent_GetProperties(rlImGui SOURCE_DIR RLIMGUI_DIR) add_library(rlimgui STATIC ${rlimgui_SOURCE_DIR}/rlImgui.cpp) target_link_libraries(rlimgui PRIVATE imgui raylib) target_include_directories(rlimgui INTERFACE ${rlimgui_SOURCE_DIR}) endfunction()
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
phaser
Phaser is a fun, free and fast 2D game framework for making HTML5 games for desktop and mobile web browsers, supporting Canvas and WebGL rendering.
Gold : GitHub, Phaser Studio, Arcadia
-
Project mention: 3D and 2D: Testing out my cross-platform graphics engine | news.ycombinator.com | 2024-04-02
I don't see WASM/WebGPU changing anything when it comes to gaming, as an industry, personally. 3d visualizations and interactive websites? Yeah definitely a nice improvement over WebGL 2, if years late.
WebGPU is pretty far behind what AAA games are using even as of 6 years ago. There's extra overhead and security in the WebGPU spec that AAA games do not want. Browsers do not lend themselves to downloading 300gb of assets.
Additionally, indie devs aren't using Steam for the technical capabilities. It's purely about marketshare. Video games are a highly saturated market. The users are all on Steam, getting their recommendations from Steam, and buying games in Steam sales. Hence all the indie developers publish to Steam. I don't see a web browser being appealing as a platform, because there's no way for developers to advertise to users.
That's also only indie games. AAA games use their own launchers, because they don't _need_ the discoverability from being on Steam. So they don't, and avoid the fees. If anything users _want_ the Steam monopoly, because they like the platform, and hate the walled garden launchers from AAA companies.
(I work on high end rendering features for the Bevy game engine https://bevyengine.org, and have extensive experience with WebGPU)
-
Neat, thank you! I'd love to see how it compares to the libgdx IntMap[0].
[0] https://github.com/libgdx/libgdx/blob/master/gdx/src/com/bad...
-
BabylonJS
Babylon.js is a powerful, beautiful, simple, and open game and rendering engine packed into a friendly JavaScript framework.
-
games
:video_game: A list of popular/awesome video games, add-ons, maps, etc. hosted on GitHub. Any genre. Any platform. Any engine.
Project mention: Games on Github - A list of popular/awesome video games, add-ons, maps, etc. hosted on GitHub. Any genre. Any platform. Any engine. | /r/opensourcegames | 2023-06-26 -
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
Project mention: Egui 0.27 – easy-to-use immediate mode GUI for Rust | news.ycombinator.com | 2024-03-27
Thanks for the feedback!
It is definitely fixable. Take a look at https://github.com/emilk/egui/issues/996 for some examples of how others have styled egui, or try out https://app.rerun.io/
Styling is done with `ctx.set_style`, but creating a nice style isn't very easy at the moment (basically you'll have to tweak constants in code, and then recompile). I'm working on making it easier as we speak though!
-
Fetch Packages... raylib... ./ray_test_zig/build.zig.zon:7:20: error: url field is missing corresponding hash field .url = "https://github.com/raysan5/raylib/archive/refs/tags/5.0.tar.gz", ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ note: expected .hash = "1220c28847ca8e8756734ae84355802b764c9d9cf4de057dbc6fc2b15c56e726f27b",
-
Cocos2d
Cocos2d-x is a suite of open-source, cross-platform, game-development tools utilized by millions of developers across the globe. Its core has evolved to serve as the foundation for Cocos Creator 1.x & 2.x.
-
3d-game-shaders-for-beginners
🎮 A step-by-step guide to implementing SSAO, depth of field, lighting, normal mapping, and more for your 3D game.
This is a great series if you’re looking for a tutorial. https://lettier.github.io/3d-game-shaders-for-beginners/inde...
-
... I remember inventing signals circa 2005 for a knowledge graph editor I worked on in GWT back when I didn't care about knowledge graphs. Not long after that I was using similar concepts to develop a complex Silverlight decision support application for sales territories.
I'm still a little appalled that people have forgotten how to make HTML form applications like we made in 1999 and frequently use React for things that don't really need it. React has, I think, one of the most elegant methods of implementing a widget set ever invented (sure beats XAML, FXML, Visual Basic, etc.) but it doesn't support a real answer to maintaining application state that would be adequate for applications as complex as RIAs made by early adopters in 2005.
My favorite use for React is
which works like a cross between VRML and Unity Framework. Here you can easily build a virtual world that people can experience with desktop, mobile and VR headsets. Something you can't do with HTML forms!
I have a few side projects based on HTMX but I am pretty sure we will see something like it but better soon. In particular back end frameworks need to be updated for the new reality. Often you have a "component" like a dropdown box which can either be drawn as part of a bigger page or updated on its own and you really need some way you can reuse the HTML template for those purposes and hopefully also reuse associated code that does database lookups and such.
-
Project mention: Show HN: Driftmania – an open source PICO-8 racing game | news.ycombinator.com | 2024-02-16
Nice work, gives me very Micro Machines vibes for the NES. The only thing I don't like about PICO-8 is that its completely closed source. An open source alternative that seems very promising is Pyxel. It has similar retro / pixel art limitations, a built-in sprite editor, music tracker, etc.
-
-
[openage]https://github.com/SFTtech/openage) - Age of Empires II clone. Python, C++
-
Bullet
Bullet Physics SDK: real-time collision detection and multi-physics simulation for VR, games, visual effects, robotics, machine learning etc.
For typical game physics engines... not that much. Math libraries like Eigen or Blaze use lots of template metaprogramming techniques under the hood that can help when you're doing large batched matrix multiplications (since it can remove temporary allocations at compile-time and can also fuse operations efficiently, as well as applying various SIMD optimizations), but it doesn't really help when you need lots of small operations (with mat3 / mat4 / vec3 / quat / etc.). Typical game physics engines tend to use iterative algorithms for their solvers (Gauss-Seidel, PBD, etc...) instead of batched "matrix"-oriented ones, so you'll get less benefits out of Eigen / Blaze compared to what you typically see in deep learning / scientific computing workloads.
The codebases I've seen in many game physics engines seem to all roll their own math libraries for these stuff, or even just use SIMD (SSE / AVX) intrinsics directly. Examples: PhysX (https://github.com/NVIDIA-Omniverse/PhysX), Box2D (https://github.com/erincatto/box2d), Bullet (https://github.com/bulletphysics/bullet3)...
-
To highlight this shift, we are introducing a new website which is now fully automated with Github. The paint is still fresh, but we hope to expand it with more information about the MonoGame Foundation, like how it operates, and how to join it or contribute.
-
Project mention: How to build your interactive resume in 4 simple and 2 easy steps | dev.to | 2024-04-02
When you decide on the high-level design of the resume, start building your map in Tiled. You can customise the map from the basic game you already have or build your one from scratch - just try and see what works best for you.
-
assimp
The official Open-Asset-Importer-Library Repository. Loads 40+ 3D-file-formats into one unified and clean data structure.
Project mention: The Asset-Importer-Lib Minor Release Version 5.3.0 is out | /r/GraphicsProgramming | 2023-09-26 -
I love Go, yet I've never thought of it as a language with usable game engines. I'm extremely happy to find I was very wrong about that!
I'm woefully behind the curve on compiling to WASM, though, and I've yet to experiment much with tinygo so I have no idea how far I would get in creating a game people could enjoy in a browser without having to download a big bundle of assets. It's reassuring to see WASM mentioned explicitly as a compilation target [1] by Ebitengine though.
-
Project mention: Using Jolt with flecs & Dear ImGui: Game Physics Introspection | dev.to | 2024-04-17
EnTT is a popular alternative to flecs for C++, which has different performance/memory characteristics.
-
10 × PlayCanvas Personal plan for 12 months
-
Project mention: Hi Flutter Devs, I am struggling to make a background for my app that is extremely high fidelity lava lamp bubbles - 3d, viscous, blobby, neon glow-y, lava lamp bubbles. | /r/flutterhelp | 2023-07-07
Check out Flame - https://github.com/flame-engine/flame
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Game development related posts
- Gamedev.js Jam 2024 start and theme announcement!
- Lessons from Open-Source Game Projects
- Code of game engine written in Java: what does it hide?
- Hack Club Blot: A CNC drawing machine for programmatic art. Built with teenagers
- Open-Source OpenGL/SDL2 Reimplementation of Sid Meier's Alpha Centauri
- Zig! Can you C?
- Show HN: Detonator2D a 2D game engine and editor
-
A note from our sponsor - SaaSHub
www.saashub.com | 17 Apr 2024
Index
What are some of the best open-source Game development projects? This list will help you:
Project | Stars | |
---|---|---|
1 | Godot | 82,654 |
2 | imgui | 55,570 |
3 | phaser | 36,286 |
4 | bevy | 32,060 |
5 | libGDX | 22,631 |
6 | BabylonJS | 22,428 |
7 | games | 22,147 |
8 | egui | 19,474 |
9 | raylib | 18,660 |
10 | Cocos2d | 17,878 |
11 | 3d-game-shaders-for-beginners | 16,993 |
12 | A-Frame | 16,146 |
13 | pyxel | 13,120 |
14 | magictools | 12,816 |
15 | openage | 12,366 |
16 | Bullet | 11,862 |
17 | MonoGame | 10,751 |
18 | tiled | 10,577 |
19 | assimp | 10,213 |
20 | Ebiten | 9,774 |
21 | entt | 9,428 |
22 | engine | 9,090 |
23 | flame | 8,772 |