4 ms·
Decoupling the user interface from the actual engine seems like an excellent idea on the surface. Aside from your post here, has anyone even proposed an "engin
by bob1029 4y ago
Decoupling the user interface from the actual engine seems like an excellent idea on the surface.
Aside from your post here, has anyone even proposed an "engine agnostic" IDE experience for game dev? I can kinda see how it would be possible to do this - code your engine against some common editor API rather than the other way around.
The idea of being able to swap to an entirely different engine but keep all my content, tools, etc is pretty fantastical, but I don't see why it would be impossible.
- vanviegen 4y ago> but I don't see why it would be impossible. Different engines have different ways of handling the same (or similar things). Either your IDE would need to provide an abstraction on to of all the engines (making it sort of an engine by itself), or the game makers would need to specify a lot of attributes for each game object in multiple ways, often one for each supported engine.
- ratww 4y ago> Different engines have different ways of handling the same (or similar things). There is already a lot of common ground, and this is what I'm after. It can even be just component-based, like Unity, which is a great abstraction understood by a lot of people. Engines that are too different from don't have to be supported by such an editor, or would require some extension. > Either your IDE would need to provide an abstraction on to of all the engines Why? I don't care if engine X uses this editor or not. I can't force them. I probably wouldn't be able to legally make this work with something like Unity, that uses proprietary file formats. What I want is a generic editor that can provide enough functionality to be used by future engines, not a Unity/Unreal/Godot replacement. Engines have to do heavy lifting too if they want to support the editor. If they don't, it's their choice. It's like bob1029 said above: "code your engine against some common editor API rather than the other way around". > or the game makers would need to specify a lot of attributes for each game object in multiple ways, often one for each supported engine. This is trivial to do with computers: just do what Unity does with Reflection. Just provide metadata for the types of components, containing the list of attributes. It can be a JSON file or something like that. Or provide something similar to VSCode Language Server where properties can be queried with an API. Your mistake here is assuming that such a tool would be complete from the get go and replace all competition, without needing to talk to other software. I'm not a venture capitalist, I'm a software engineer. I'm fine with limitations in my tools.
- ratww 4y agoWhen I was working with a semi-big studio, the people there always talked about this kind of thing. It kinda sucks to depend on Unity or Unreal. I've seen some people at Gamedev.net talking about it in the past too. Curiously most Indies kinda dislike the idea because they like the integration. DIY-engine-makers are split: some want to do it all, others would enjoy having an editor. > code your engine against some common editor API rather than the other way around Yep, that's the trick. > The idea of being able to swap to an entirely different engine but keep all my content, tools, etc is pretty fantastical, but I don't see why it would be impossible. Exactly, that's already the reality with IDEs, even when advanced features like debugging and reflection are involved.
- cloudmike 4y ago> has anyone even proposed an "engine agnostic" IDE experience for game dev? I'm working in this direction. My focus is on higher-level editors for making worlds, meshes, animations, sounds, and visual effects. So far it's mostly written in Luau (Roblox's open source version of Lua) and the first engine integration is Unity. You use the editors and a Luau API to make your game. The API for now is part Unity-inspired and part Roblox-inspired. I have the editors and Luau integration working well enough that I'm now using them to build a game. I plan to do that before supporting other engines. I've been building with other engines in mind (including having an abstraction), but I wanted to prove (to myself at least) that the editors have value before going down this path. I'm kind of taking some risks with the editors, e.g. they're diegetic (all in-world UI). My main goal is to build higher-level editors that are actually fun to use, and then supporting multiple engines is secondary. Good to know someone else is thinking about that though! I post about progress here if you're interested: https://twitter.com/kineticpoet https://twitter.com/kineticpoet
- ratww 4y agoOh, that looks amazing! Love the diegetic UIs, they look intuitive and very fun to work with!