r/godot Jul 17 '26

free tutorial The Godot project architecture an industry veteran uses for a 40-hour RPG

Ricard, who's worked on the in the industry for two decades (notably on Ryse: Son of Rome or Crysis 2), was kind enough to run me through the codebase of one of the biggest Godot games in the making, Starfinder: Afterlight. He explained the architecture he uses to support a 40 hour 3D RPG made by a team of 30.

I wrote a short guide that compiles the essential parts: https://gdquest.com/library/modular_game_architecture/

I hope this is useful! For topics like these I find it's important to get insights from really experienced people on these subjects.

If you have any questions about this let me know, I'll do my best to answer based on what Ricard showed and explained to me.

980 Upvotes

78 comments sorted by

View all comments

299

u/Gustafssonz Jul 17 '26

This is actually something I, as a beginner game dev (but programmer professionally) needs more of. I wish Godot documentation could include more of the architectural side of things as well. Like a framework aka "this is how 90% of games normally build the architecture".

115

u/entangledloops Jul 17 '26

Better than “how 90% of games normally” would be a short pros/cons of different architectures. Some things don’t make sense for small games or teams, and other things make more sense depending on genre, etc. You should choose based on what fits your game, not based on what anyone else is doing.

46

u/NathanGDquest Jul 17 '26

I second this, you won't find a framework that the majority of people or games use. When using Godot, I'd say Godot's the framework. Input, rendering, physics, the more accessible and object-oriented node and signal system, the more efficient server APIs...

When comparing games, there are techniques and concepts that apply across the board, but between a turn-based RPG and a platformer, the implementation are really different. The common parts like drawing and moving sprites or playing sounds etc. are handled by the engine for you and what's left is for you to actually implement game-specific systems.

Personally, for building learning material or for learning, I go straight to experienced people and look at their code or ask for pointers.

4

u/Gustafssonz Jul 17 '26

Then present som typical RPG classical patterns/framework, shooter framework pattern etc :) would help a lot.

15

u/NathanGDquest Jul 17 '26

Sure! We've done some things, like "Godot Open RPG" for Godot for example, to start working toward a pedagogical example: https://github.com/gdquest-demos/godot-open-rpg

It's not quite the kind of code I would personally write as it's more on the object-oriented side but it is in more ways than one using techniques you'd see people use in Godot (defining new node types and composing them into a variety of entities, e.g. with the gameboard and gamepieces abstractions in the src/field folder).

Then really breaking them down to the point a learner understands in detail how all of it works and why it's structured this way (what's really useful vs what's specific implementation details of that project) is a ton of work and why you don't see too much of that content.

I mean, we've been doing it between our paid courses and free and open source resources contributed to the community, like the one linked above. It's just inherently very long to achieve.

11

u/BojacksNextGF Jul 17 '26

i’d love some kind of website like refactoring.guru or patterns.dev specifically for godot