-
-
Notifications
You must be signed in to change notification settings - Fork 21.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP] Experimental in-editor playback #13354
Conversation
@@ -5179,6 +5496,8 @@ EditorNode::EditorNode() { | |||
|
|||
p = debug_menu->get_popup(); | |||
p->set_hide_on_item_selection(false); | |||
p->add_check_item(TTR("Run In-Editor (EXPERIMENTAL!)"), RUN_IN_EDITOR); | |||
p->set_item_tooltip(p->get_item_count() - 1, TTR("When running the project, it will be run from within the editor rather than as a seperate application instance.")); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(spelling) "separate"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks. Typo.
I am more interested in actually embedding the subprocess window somehow
eventually (or adding a tool to replicate the editor camera in the game),
this approach ends up compromising the editor stability so I dont think we
will ever go official with it... but if you want to have fun, feel welcome
:P
…On Mon, Nov 27, 2017 at 8:02 PM, SaracenOne ***@***.***> wrote:
***@***.**** commented on this pull request.
------------------------------
In editor/editor_node.cpp
<#13354 (comment)>:
> @@ -5179,6 +5496,8 @@ EditorNode::EditorNode() {
p = debug_menu->get_popup();
p->set_hide_on_item_selection(false);
+ p->add_check_item(TTR("Run In-Editor (EXPERIMENTAL!)"), RUN_IN_EDITOR);
+ p->set_item_tooltip(p->get_item_count() - 1, TTR("When running the project, it will be run from within the editor rather than as a seperate application instance."));
Thanks. Typo.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#13354 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AF-Z2-4QYcPPZfdhJk7-l-SJRLm6B17mks5s6z92gaJpZM4QsTy2>
.
|
@reduz I'll keep prodding at it. From the looks at it, there isn't that much which needs to change, and it's arguably easier to maintain than the remote system simply as a byproduct of how elegantly designed the node system is. One of the reasons I would like to keep a big (EXPERIMENTAL) warning on the option for the forseeable is this will still likely to require a whole load of testing with different projects of varying levels of complexity, but I reckon I can still get it pretty stable. I'm going to put it aside for a short while though since I'm getting frustrated with script sorting bug, but everything else should be pretty smooth sailing. All in all though, I'm otherwise quite happy this feature is going. |
Does this allow to view the running game in real time in the canvas/spatial editor? That would be fantastic for debugging. |
@neikeq Yes, that was the last thing I just added. It does it by creating its own Viewport but pointing the World2D resource to the one in EditorNode's root, which contains all the nodes. It renders it as you'd expect; first it uses a new camera but which is designed to track the current camera in the scene to render, and then automatically renders the canvas over it. |
@neikeq Sorry, I misread your comment and thought you meant something different. But yes, it does allow that too. You'll be able to fly around the scene while it's running. |
@SaracenOne That would be super handy! :) |
this will be amazing for 3d games!! |
What is the progress an on it. I think this would be really sweet. |
I will be closing this PR given time passed and the technical infeasibility to do this. Instead, I suggest the following course of action:
This should eventually solve those who want a bit better debugging into whathever is going on in the 3D side of the game while running. |
WIP branch, do not merge.
Merely putting this up for advice and feedback. What this PR is intended to do is essentially provide a secondary playback functionality allowing you to play your game from within the editor itself, as well as pause it an fly around the scene while it's playing. I experimented with this a while back to feel out the feasibility of such a feature, but now I made the first effort to actually try bringing this into a usable feature. Since the editor is built onto of the same node tree, there is no real architectural reason why this is not possible; it just requires various hooks to be addressed in order for it to work accurately and stable. At the moment, the thing which is giving me the most trouble is an issue opened here #13353 where the GDScriptDepSort operator does not work as intended, which is required for a safe global script reload on playback. Since this problem is particularly hard to debug, I may return to the branch later, but if anyone has any solutions, please let me know.
These are a list of currently known tasks, but I will add others as needed: