Image showing logos of different game frameworks.

The best open source Game Frameworks to Make Amazing Games in

Monday, September 2, 2024 | Written by fishbowlforever

The Top Game Frameworks to create great Games in while learning new programming languages.

Game Engines are Great, but many people prefer to build more of the games systems on their own without having to do every little thing from scratch. Thats when frameworks come into play! They provide the basic functionalities you need to create a game, meaning graphics and audio, but not much more. There are many game Frameworks available, thats why I chose to compare some of the most popular ones in this article.

Raylib

Raylib was originally created by raysan5 to give his inexperienced students a simple way to create Video Games in C. It has since become one of the most popular open source Frameworks and received bindings for tons of languages.

Pros (+)

  • C is a very solid foundational language for beginners to learn, albeit a bit harder than e.g. Lua
  • No external Dependencies (since 2.0)
  • The Header File Contains all the Information you need
  • Bindings exist for almost every language
  • Games are Compiled
  • Good introduction to C and its Syntax

Cons (-)

  • You have to use Emscripten for WASM builds

  • Language: C,C++ (main languages), any language (bindings)
  • Website: raylib 🔗

Pygame-Ce

Pygame Community Edition is a framework for the Python language. It is written in C, meaning the Performance-Critical Code does not run in the slow Python language.

Pros (+)

  • Easy to use for Beginners
  • Python OOP is great for Games
  • All Python Packages can be included into your Game
  • Easy deployment to WASM with Pygbag

Cons (-)

  • Cannot be compiled
  • Your Game Logic will run slower than in C or golang

Ebitengine (Ebiten)

Ebitengine is a golang framework created by hajimehoshi (a prolific go developer) that provides everything you need to make a game right out of the box. There are not that many tutorials, to learn how to structure & code a Project you should look at the examples 🔗 and at the source code of sugoimaze 🔗. It even has its own shader language (Kage). In some areas, it is not as complete as other frameworks on this list, but it is being worked on continously and it is more than sufficient to make a game.

Pros (+)

  • Can be Compiled
  • Support for many Platforms, including Nintendo Switch and iOS
  • Can be easily compiled to WASM

Cons (-)

  • Not that many tutorials (But the discord Community is extremely friendly and helpful)
  • For beginners, golang can be a bit confusing (this is not meant to discourage you from learning it, golang is a very nice language and you should try it)

Love2D

Love2D is an Framework for the Lua Scripting Language. Similarly to Pygame, it is written in C++ which makes it really fast.

Pros (+)

  • Lua is a very pleasant language for beginners
  • Love2D lets you create a pretty neat config file for your Game
  • The framework on this list you can most easily get going (my experience)
  • Good choice for prototyping
  • Very Small bundled Size

Cons (-)

  • No compilation (Distribution is very easy though and size is small)
  • Your Game Logic will run slower than, lets say, C or golang

Conclusion

For an absolute Beginner, I would recommend Love2D, unless you already know Python and like it, in that case you should try Pygame. If you are more advanced, try Raylib or Ebitengine if you want to learn golang. All of the Frameworks are fun to work with an have wonderful Communities!

Happy Coding & Creating!


Background Image of the post cover are Ebitengine Examples

Related Posts