Feature Dream: PiEditor
Posted: Thu Oct 11, 2018 3:32 am
So I was watching the Star Citizen livestream, and this really interesting thing popped out: https://www.twitch.tv/videos/320913467?t=18m55s. This is obviously a pie-in-the-sky goal, but I'd really like to be able to render the "game world" into a resizable portion of the window, and draw an editor around it. This would preferably be a dynamic thing - the editor is running in the game, not the other way round - and be available for everyone without needing a debug build.
EDIT: Let me clarify, I'm aware that the stream is showing the Lumberyard editor. I'm proposing that we write our own suite of debug / editing tools tailored for Pioneer's needs. The main purpose of this is to provide better modding / content development support for people who want to add to the game but are frustrated by the constant edit-close-reopen loop - even with fast load times, it's still miles quicker to hot-reload than have to open the entire game again.
Ideally, we can use this editor to tweak ships, inspect the game world, write/reload/debug UI code, define new star systems, edit current systems, tweak / sculpt terrain overrides, add planetary outposts, design scripted missions, etc. Essentially, everything we're already doing in an external tool editing data files by hand, but integrated into a WYSIWYG editor that's running on top of the game in real time, and that can write / update data files automatically when changes are confirmed.
Thoughts, comments? I know this is a huge amount of work, and I'm obviously not proposing that we do this any time soon, but I think it's a natural progression from a number of features - the picture-in-picture support is needed for a few different gameplay items and we can support it when we rewrite the renderer, better UI layout and definition is On The List, dynamic resizing of the game window is really needed to test UI code, the engine split is a natural progression of supporting C++ modding, and there's more that I'm not going to bother listing.
On a side topic, if I have my way and we split the engine from the gameplay code (even internally), what shall we call it? I've been thinking of calling it the Pi Engine (as in 3.14159), mostly because that's what it's called in the code base.
EDIT: Let me clarify, I'm aware that the stream is showing the Lumberyard editor. I'm proposing that we write our own suite of debug / editing tools tailored for Pioneer's needs. The main purpose of this is to provide better modding / content development support for people who want to add to the game but are frustrated by the constant edit-close-reopen loop - even with fast load times, it's still miles quicker to hot-reload than have to open the entire game again.
Ideally, we can use this editor to tweak ships, inspect the game world, write/reload/debug UI code, define new star systems, edit current systems, tweak / sculpt terrain overrides, add planetary outposts, design scripted missions, etc. Essentially, everything we're already doing in an external tool editing data files by hand, but integrated into a WYSIWYG editor that's running on top of the game in real time, and that can write / update data files automatically when changes are confirmed.
Thoughts, comments? I know this is a huge amount of work, and I'm obviously not proposing that we do this any time soon, but I think it's a natural progression from a number of features - the picture-in-picture support is needed for a few different gameplay items and we can support it when we rewrite the renderer, better UI layout and definition is On The List, dynamic resizing of the game window is really needed to test UI code, the engine split is a natural progression of supporting C++ modding, and there's more that I'm not going to bother listing.
On a side topic, if I have my way and we split the engine from the gameplay code (even internally), what shall we call it? I've been thinking of calling it the Pi Engine (as in 3.14159), mostly because that's what it's called in the code base.