is Godot (or more specifically, GDScript) suitable for coding a game in the style of diablo, grim dawn, or path of exile?

hoping someone familiar with both the engine and the genre of izometric ARPGs can chip in. I'm embarking on a project to create a game of this style, but I've read that GDScript, while more intuitive, and perhaps easier to learn, is "slower" than either C# or C++. since I'm truly starting from scratch and would have to learn the coding language along with the engine, it would seem to make sense to learn whatever will best suit the type of game I am making, but if the difference is negligible, then the simplest language to learn and write in would win out.

Can anyone offer any insight?

donuts, (edited )
donuts avatar

I'm embarking on a project to create a game of this style, but I've read that GDScript, while more intuitive, and perhaps easier to learn, is "slower" than either C# or C++

When people say "don't do premature optimization" this is pretty much exactly what they mean.

GDScript is a very capable language that's easy to learn (it's not python, but it's very python-esque) and extremely well integrated into the mechanics of the engine. Yes it's relatively slow to run, but it's very fast to produce because it works so well with Godot's scene tree concept, editor, etc.

Most of the time when we run into performance issues with our games, it's not because of the language we're using, but because of some bad data structure or algorithm that we've written. But the best thing about writing your game mainly in Godot and GDScript is that it's not especially had to integrate it with other languages. You can write 99% of your game in GDScript, and then if some complex piece of code needs to be really fast, you can port it over to C++ or Rust (see "godot-rust") or whatever. Likewise, if you wanted to mix-and-match GDScript and C# (maybe for speed or maybe just to make use of some useful C# library) it should be just as possible to do that.

In other words, learn Godot and GDScript together, make your game and (before anything else) make sure it's fun, and then if you determine it needs to be optimized before it can be released, then it's time to make sure that you're using smart and efficient data structures and algorithms.

If your code is good and you've determined that it really is GDScript slowing you down in some key areas, then simply rewrite those nodes/systems/"servers" in some faster language. GDScript will never prevent you from making a decent performing game, because Godot gives us a lot of options for offloading things to other languages. So I definitely recommend learning GDScript because in the long run it'll make your Godot experience easier and better.

torvusbogpod,

The engine is definitely capable of allowing you to build something like that. It will take you time to learn the ins and outs of Godot, but I definitely think a project like that is feasible.

One thing I have learned using Godot for our project (a split-screen multiplayer arena FPS, think Halo 1 + Unreal Tournament) for the better part of a year is that the engine can really do just about anything you want it to. The issue always comes down to how you choose to implement your functionality. If you go out there where no dev has gone before, you will have to bang your head against the wall a LOT until you figure out how to solve your issues. That's not a bad thing, as your solutions are often unique and inventive as a result. But you have to be willing to do the struggle yourself.

TL,DR: The engine is very capable on a technical level, and GDScript is fairly easy to work with, but if you're looking for a perfectly smooth gamedev experience with lots of documentation, it may not be the best choice.

blargerer,

I'm not the best person to be answering this because I'm relatively new to GODOT myself (though I have plenty of experience with other engines). I'm only answering because I'm not seeing anyone else answer.

For your first project, a complex ARPG is likely significantly overscoped for a single person. A senior developer could pull it off but I'd suggest other first projects. With godot 4 in its current state, I think a modern ARPG is iffy, depends on what kind of enemy counts, projectile counts, and effects you want. But its improving rapidly and by the time you've developed your skills to the point where you are ready for a project of that size, who knows.

donuts,
donuts avatar

Brotato isn't exactly an ARPG, but it's of a similar genre in the sense that it has a lot of simple enemies and projectiles on the screen at the same time, and it runs great. Obviously no solo dev is going to be making something like Diablo 4 on any engine, but I think it'd be possible for a small dev team to make something like an ARPG in Godot.

But anyway, it's all a moot point when we're talking about someone who hasn't even started their journey into learning Godot or GDScript yet, because like you said, making any game of that scope is going to take a lot of experience and skill to pull off. I think that GDScript is worth learning for any Godot newbie for the simple reasons that it's easy to learn, integrates well with Godot's design, and can always be used in combination with faster languages when needed.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • godot
  • DreamBathrooms
  • magazineikmin
  • ngwrru68w68
  • mdbf
  • rosin
  • Youngstown
  • vwfavf
  • slotface
  • modclub
  • khanakhh
  • cubers
  • kavyap
  • thenastyranch
  • PowerRangers
  • provamag3
  • everett
  • Durango
  • InstantRegret
  • osvaldo12
  • tester
  • Leos
  • tacticalgear
  • ethstaker
  • GTA5RPClips
  • normalnudes
  • anitta
  • cisconetworking
  • megavids
  • All magazines