Senior software engineer - what game engine should I start with ?

This page summarizes the projects mentioned and recommended in the original post on /r/gamedev

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • minitroid

    A minimal metroid-like game, made for LOWREZJAM 2021

    I have a similar profile, and I have tried many different engines/frameworks/libraries. Some thoughts: - ebiten, written in Go, is a very light game dev lib. I like Go, so writing "my own engine" with it was pretty fun (I have some libs for ebiten here). Mostly 2d. - Love2d is sort of the same thing, but written in C++, and scriptable in Lua. I absolutely love this level of abstraction, and this is probably the one I have been the most productive with (example here). Mostly 2d, but people have done 3d with it too. - Godot has a bright future, at least from my point of view. The 2D workflow is very very fast, much faster than Unity in my experience (you don't spend time waiting for stuff to recompile every time you edit a script, for starters), and they just released v4, which comes with insane improvements in 3D rendering. I have never delved into 3D, but from what I can see, it's on par with what Unity can produce these days. Plus, the founders have created a separate commercial entity to provide support for consoles (called W4games), because the open source licensing attached to Godot is not compatible with the NDAs involved in publishing for consoles - raylib and monogame might be interesting for you if you want to go old-school. They're both inspired by the same framework (XNA) and they work similarly. Also very close to the way Love2d does things, and a comparable level of abstraction. - Unity is slow. I honestly dislike it a lot, just for this reason. There's also a lot of "we've refactored this, and there's no docs yet, but you can also use this other system, and also the legacy one, and that one, or build your own based on these primitives" and it's hard when you're a beginner. If you know what you're doing I guess it's fine, or if you don't care, but as a software engineer, you will probably be like me and try to find the "best" solution to your problem, which is tiring and hard to do with Unity.

  • raylib

    A simple and easy-to-use library to enjoy videogames programming

    I have a similar profile, and I have tried many different engines/frameworks/libraries. Some thoughts: - ebiten, written in Go, is a very light game dev lib. I like Go, so writing "my own engine" with it was pretty fun (I have some libs for ebiten here). Mostly 2d. - Love2d is sort of the same thing, but written in C++, and scriptable in Lua. I absolutely love this level of abstraction, and this is probably the one I have been the most productive with (example here). Mostly 2d, but people have done 3d with it too. - Godot has a bright future, at least from my point of view. The 2D workflow is very very fast, much faster than Unity in my experience (you don't spend time waiting for stuff to recompile every time you edit a script, for starters), and they just released v4, which comes with insane improvements in 3D rendering. I have never delved into 3D, but from what I can see, it's on par with what Unity can produce these days. Plus, the founders have created a separate commercial entity to provide support for consoles (called W4games), because the open source licensing attached to Godot is not compatible with the NDAs involved in publishing for consoles - raylib and monogame might be interesting for you if you want to go old-school. They're both inspired by the same framework (XNA) and they work similarly. Also very close to the way Love2d does things, and a comparable level of abstraction. - Unity is slow. I honestly dislike it a lot, just for this reason. There's also a lot of "we've refactored this, and there's no docs yet, but you can also use this other system, and also the legacy one, and that one, or build your own based on these primitives" and it's hard when you're a beginner. If you know what you're doing I guess it's fine, or if you don't care, but as a software engineer, you will probably be like me and try to find the "best" solution to your problem, which is tiring and hard to do with Unity.

  • 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.

  • MonoGame

    One framework for creating powerful cross-platform games.

    I have a similar profile, and I have tried many different engines/frameworks/libraries. Some thoughts: - ebiten, written in Go, is a very light game dev lib. I like Go, so writing "my own engine" with it was pretty fun (I have some libs for ebiten here). Mostly 2d. - Love2d is sort of the same thing, but written in C++, and scriptable in Lua. I absolutely love this level of abstraction, and this is probably the one I have been the most productive with (example here). Mostly 2d, but people have done 3d with it too. - Godot has a bright future, at least from my point of view. The 2D workflow is very very fast, much faster than Unity in my experience (you don't spend time waiting for stuff to recompile every time you edit a script, for starters), and they just released v4, which comes with insane improvements in 3D rendering. I have never delved into 3D, but from what I can see, it's on par with what Unity can produce these days. Plus, the founders have created a separate commercial entity to provide support for consoles (called W4games), because the open source licensing attached to Godot is not compatible with the NDAs involved in publishing for consoles - raylib and monogame might be interesting for you if you want to go old-school. They're both inspired by the same framework (XNA) and they work similarly. Also very close to the way Love2d does things, and a comparable level of abstraction. - Unity is slow. I honestly dislike it a lot, just for this reason. There's also a lot of "we've refactored this, and there's no docs yet, but you can also use this other system, and also the legacy one, and that one, or build your own based on these primitives" and it's hard when you're a beginner. If you know what you're doing I guess it's fine, or if you don't care, but as a software engineer, you will probably be like me and try to find the "best" solution to your problem, which is tiring and hard to do with Unity.

  • love

    LÖVE is an awesome 2D game framework for Lua.

    I have a similar profile, and I have tried many different engines/frameworks/libraries. Some thoughts: - ebiten, written in Go, is a very light game dev lib. I like Go, so writing "my own engine" with it was pretty fun (I have some libs for ebiten here). Mostly 2d. - Love2d is sort of the same thing, but written in C++, and scriptable in Lua. I absolutely love this level of abstraction, and this is probably the one I have been the most productive with (example here). Mostly 2d, but people have done 3d with it too. - Godot has a bright future, at least from my point of view. The 2D workflow is very very fast, much faster than Unity in my experience (you don't spend time waiting for stuff to recompile every time you edit a script, for starters), and they just released v4, which comes with insane improvements in 3D rendering. I have never delved into 3D, but from what I can see, it's on par with what Unity can produce these days. Plus, the founders have created a separate commercial entity to provide support for consoles (called W4games), because the open source licensing attached to Godot is not compatible with the NDAs involved in publishing for consoles - raylib and monogame might be interesting for you if you want to go old-school. They're both inspired by the same framework (XNA) and they work similarly. Also very close to the way Love2d does things, and a comparable level of abstraction. - Unity is slow. I honestly dislike it a lot, just for this reason. There's also a lot of "we've refactored this, and there's no docs yet, but you can also use this other system, and also the legacy one, and that one, or build your own based on these primitives" and it's hard when you're a beginner. If you know what you're doing I guess it's fine, or if you don't care, but as a software engineer, you will probably be like me and try to find the "best" solution to your problem, which is tiring and hard to do with Unity.

  • Godot

    Godot Engine – Multi-platform 2D and 3D game engine

    I have a similar profile, and I have tried many different engines/frameworks/libraries. Some thoughts: - ebiten, written in Go, is a very light game dev lib. I like Go, so writing "my own engine" with it was pretty fun (I have some libs for ebiten here). Mostly 2d. - Love2d is sort of the same thing, but written in C++, and scriptable in Lua. I absolutely love this level of abstraction, and this is probably the one I have been the most productive with (example here). Mostly 2d, but people have done 3d with it too. - Godot has a bright future, at least from my point of view. The 2D workflow is very very fast, much faster than Unity in my experience (you don't spend time waiting for stuff to recompile every time you edit a script, for starters), and they just released v4, which comes with insane improvements in 3D rendering. I have never delved into 3D, but from what I can see, it's on par with what Unity can produce these days. Plus, the founders have created a separate commercial entity to provide support for consoles (called W4games), because the open source licensing attached to Godot is not compatible with the NDAs involved in publishing for consoles - raylib and monogame might be interesting for you if you want to go old-school. They're both inspired by the same framework (XNA) and they work similarly. Also very close to the way Love2d does things, and a comparable level of abstraction. - Unity is slow. I honestly dislike it a lot, just for this reason. There's also a lot of "we've refactored this, and there's no docs yet, but you can also use this other system, and also the legacy one, and that one, or build your own based on these primitives" and it's hard when you're a beginner. If you know what you're doing I guess it's fine, or if you don't care, but as a software engineer, you will probably be like me and try to find the "best" solution to your problem, which is tiring and hard to do with Unity.

  • 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.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts