[MUSIC].
>> Today, I am sponsored by Azure.
I have never used Azure before.
I am making a game that is single player.
What I'm going to work on today is some system
to have feedback reporting built directly into the game,
we'll see how that goes.
One of the things that I want to explore is the ability to
use Godot scripting language within Visual Studio Code,
show people what this project is overall.
Ultimately what I want to be able to do is have it to,
if people are playtesting
the game and then something happens and you're like,
oh, I don't know that section of the level
is really difficult or there was a bug there.
I'll have an option in the menu right
here to be like report feedback.
That is the end goal of today.
There is an add on for Visual Studio Code.
Godot tools let's go ahead and install that.
I suppose we should start off by creating an account.
Let's create a MySQL database.
I feel like I'm in such a like different world when
I look at all this stuff, create DevOps starter.
I think what's all this stuff is set up.
You just be a matter of opening up Visual Studio Code,
writing some stuff and pushing it
directly from here to be pretty convenient,
I guess what we can do is go ahead and
add feedback option to the menu.
Please get that started.
Duplicate that.
We need to create a localization entry for this.
Save a copy as CSV file.
[inaudible] This gets pressed.
Since I've got this set up to use Visual Studio now it
actually pops up the file in here.
Wow, there is it, yeah, ProvideFeedback_pressed.
We're going to create a new menu for feedback purposes.
We'll just duplicate that and call it feedback menu.
Go and duplicate that as well.
Try that script on there.
Yeah, it'll pop it up in Visual Studio.
We need to make some new stuff here because we need a back button.
We'll go ahead and copy this here because it doesn't
automatically into the code here.
Func do a simple print star
with connect to that.
If we did this right,
it'll provide feedback option.
Ooh, it does. That's pretty cool.
We get submit pressed,
insert, Tyrone, menu, submit.
We do not have a theme for
the checkbox because we don't
have the theme set at the higher level. There we go.
Minimum size. All right.
We'll do a slightly lighter color when it's selected.
When its in focus slightly more
transparent when it's not. Let's see.
Provide feedback.
Oh it's a rich text to label, whoops.
That needs to be text edit.
Border width, I'm blind.
There we go. Now I guess what we need to do
is post some data to server.
We've got this, we've got to make the submit do something.
Let's see.
Insert, Tyrone, Menu, feedback sending.
We've got an HTTP requests.
You can request a specific file.
It's interesting that you can do
this stuff straight from the do here.
What we want to do when we send we want
to push menu feedback menu sending.
The global send feedback, RichTextLabel.text.
At some point, we need to do the screenshots.
The global feedback loops.
Push that menu. That makes it easy.
Provide feedback. Blah blah, submit.
It says menu feedback sending.
Global going to have feedback texts.
The p underscore is a Godot engine standard for a parameter.
We want to save that.
Feedback quiz is going to be HTTP request.
New requests completed.
It's going to be connected to.
We'll print all that stuff out and we need to
send our requests as something like this.
We need to go to our address.
All right. We'll send our request to that.
Oh, hey, we've progressed.
Let's try adding a header in there. Still not there.
Let's try some other URL.
We're not going to get anything from that either.
Why is this not working?
It's like maybe if I said that.
What's supposed to happen is you connect a callback function,
and then when the request completes, it drops in here.
It's sending the request and then nothing.
Is this even actually sending a request at all?
It's entirely possible that I blocked it on
the Windows firewall because I was
like," it's a single player game, it doesn't need Internet."
But, we are getting the requests done here.
Let's see why are we not sending the signal outs?
Everything I can see it's going into
the function because it's failing right here at the very end.
The debugging isn't working and the printing isn't working.
I guess possibly because of the threading issue.
I got an offer to do a sponsored stream for Azure and I'm like,
okay, well I've never used it before,
and I'm making a single player game,
but I'll give it a shot.
It was not the most accurate shot.
The shot missed the target a little bit here.
But imagine we got Godot sending
messages to an Azure server and then Azure collecting that data.
Then I can go in and look at that data.
That's what we'd have.
That's the ideal scenario here.