this post was submitted on 07 Oct 2024
296 points (90.9% liked)
Games
32750 readers
1718 users here now
Welcome to the largest gaming community on Lemmy! Discussion for all kinds of games. Video games, tabletop games, card games etc.
Weekly Threads:
Rules:
-
Submissions have to be related to games
-
No bigotry or harassment, be civil
-
No excessive self-promotion
-
Stay on-topic; no memes, funny videos, giveaways, reposts, or low-effort posts
-
Mark Spoilers and NSFW
-
No linking to piracy
More information about the community rules can be found here.
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Sure, depends on the engine, but very often there is a "scripting" part, be it quests, dialog, etc. and the where those scripting functions/library and language is implemented. The first are part of content, while the latter is part of the engine.
Also games have data tables, where the individual value for each record are part of content and the implementation of what each attribute does is implemented in the engine or some specific scripting.
Engines tent to have a clear split, because different kind of developers have different processes, and engines are often reused for multiple games.
IMO, that means that the whole game would be sources available (for the end user), while the central engine is open source.
This is just somewhat of a wishful thinking, not a requirement or whatever.
And sure, game devs releasing an engine/game as open source after they are done with it, would be great too. But I like to dream big ;)
Just open sourcing the actual engine wouldn't do much. At best, you'd be able to make it work on newer hardware if problems arise, or port it to other OSs. Great stuff, but not enough when it comes to improving the game, preserving multiplayer, and so on.
There's a great amount of scaffolding on top of the base engine that any moderately sized game implements, be it through scripting or native code. That's what I meant by the line between the engine and the game being blurry. If you want to make meaningful changes to the game, you need access to that framework portion, but releasing it would allow for easy reverse engineering of everything else. It's a difficult balance to achieve.
I am thinking of OpenMW for instance. Through reverse engineering, they where able to create an open source engine that runs the game with modern features. You still have to own those games in order to play the original levels/content.
Sure for games, which are game mechanic driven there is difficulty in separating if from the content, but in many content heavy games, it is more about the world, explorations, the story, characters etc, than the just the runtime, rendering, physics etc.
In many games the big chunks of the engine is sort of source available already, because they are written in a scripting or managed language (.Net or Java).
Making the stuff that isn't written in such a language available to the player as well, would be great. Because that would lessen the reverse engineering burden of modders. And the next step would be to open source parts of it.
The reasons for this are the same for many commercial products to use open source lower levels of their software stack and open source their common code as well. Improving your own product by cooperating with others would be great in gaming as well.