字幕表 動画を再生する 英語字幕をプリント what is going on? Everybody welcome to part 13 of our A I and Starcraft two with python tutorial. Siri's in this video. What we're gonna be doing is kind of going over. What? I'm gonna refer to his kind of stage two of our neural network development here. So the first test proved to be at least somewhat successful where the neural network was at least better than random in the four choices at beating the medium leveled. Aye, aye, that's like built into the game. So now what we want to do is add complexity of the A I and hopefully creating a I that's a little more impressive than the one that we just made and then see if we can operate on top of that A. I at least do one more. It aeration. So, like the last one, we create an aye Aye. It was pretty good. The next step would be to use that ai ai again. Fighting hard, eh? Aye. Or media, May I or or itself or all three of those things and see, Can we improve that a. I even further through that method of training, because if we can't well, then I don't know what we're doing here. We gotta, like, totally regroup and figure out what to do next. So and again, I have no idea. So that might be the case. Apologies Now, Um, So let's talk about some of the things that were wrong here. Some of things I want to change, moving forward and all that. So first of all the names here, Uh, Okay. I guess I got lost. Um, yeah. Here. Supply Depot. I don't know why I made that mistake. It should be command center. But also, that can change. We'll fix that later. Um, in fact, we're probably going to fix it, so I'm gonna use it. Um, anyways, just No, I made that mistake. Someone pointed that one out to me. Um, and then also someone point out the random variance here. Um, using the enemy start location doesn't make any sense. We should be using variants of the whole entire game map size, because depending on where the enemy's start location is, that's gonna cause the variance to be quite significantly different. So that was kind of dumb. Next, we have tracking game time. Much more precisely. No more kind of estimation, we can get much, much closer that comes in for more psychiatrists. I don't know how to pronounce that, but anyway, um, the next thing is, rather than same person to rather arbitrarily sizing our units. Ah, when we draw them, we can actually just use the unit's radius, which makes a whole lot more sense. Then we've got early scouting lots. People took up issue with that. So as it stands right now, we weren't scouting until after four minutes. So what we want to do is send at least a single worker out to scout within that four minute range and continue doing that until we've got the observers. And then once we have an observer, we don't just want one. We should have many observers, and we really need to cover all the expansion areas. One of the other suggestions was that you have observers along the main attack route. We I might do that in the next phase, but in this one, I don't really think I'm gonna bother with that. But we definitely want to have at least the bases covered, Um, and then once that scouting logic is fixed, we should be able to end the games on time. So anyways, that's what we're going to be working towards and let's get into it. The code is from part nine of this tutorial, Siri's. So if you don't have that, go back to part nine. And actually, I'm pretty sure in the techie and the text version that tutorial. I have the starting code copy and paste it anyways. Okay, so the first thing is, let's fix the time. That's a real easy, quick one to fix in this video. I'm gonna comment out self obliteration because I want to catch any other times we use self doubt. Iteration. We also could comment out iterations per minute again. We shouldn't be using it anymore now that we know the time. So I'm gonna say self dot time. You want to say that equals self dot state dot game loop divided by a 22.4. I guess that's how many ticks anyways, um, and then I'm gonna do That's gonna be the number of seconds, and I'm gonna divide that by 60. So it's in minutes so self that time is in minutes because that's kind of the way we've been thinking this whole time, so I want to retain that minutes field. So now we're gonna do is just search for federation and basically fix all these. Now, the expand logic is no longer going to take really place here. But, uh, like, it's not gonna need this logic. It's gonna be chosen by the aye aye itself. Um, but we'll just do self dot time I'm gonna say, divided by two. That just makes more sense to me. Um, it oration. See if we catch any others. So again, this would just be self doubt. Time self That time, Unistar Gates is less than Celtic time. Build another one. Okay, that's fine. Uh, this one again, self dot time is greater than do something after, and then the random range is right here. It's kind of like in our seconds form. I I'm not really sure what to call that, but, um, in this case, we would want to await a random dot rand range of like, I don't know, somewhere between seven and 100 seconds. But keep in mind, self, that time is in minutes. So we want to go ahead and divide that by 100 so that's, uh, you know, up to not seconds. I'm sorry. Um, basically, you know, 7% of a minute to 100% of a minute. That's how much we wanna wait. So, uh, next self that time plus wait. Cool. That should be all the changes we need to make there. And besides that, the only other thing I want to bring up is I'm just gonna bring over the text based version of tutorial here. So these are the choices that we're going to make as time goes on. So we're going to go from four choices to 14 choices. Build scout A Z a lot. Um, scout, as in the Observer Z lotta's in the fighter gateways and the thing that builds Z lots and is required for many other things. Void. Ray Stocker Probe Assimilate er to get gas Star Gate pylon nexus or defendant Excess. Rather attack unknown. Enemy unit attack. Known enemy structure. Expand. Do nothing. Also, as I say here, the photon cannon is honorable mention because I'm not gonna do it now because the placement of that cannon is also super important. Um, so I'm not really gonna worry aboutthe logic there for that. But, um, that's probably something we're gonna wanna have by stage three, and, uh, yeah. Okay, so that's it. Let me make sure this runs before I leave you guys and begin another part while we wait. Thank you. To my recent sponsor, Steve Kim, You stand alone in this video, but look how big you could be. Oh, my God. Thank you, Steve Kim. All right, so hopefully this is going to not air out. We'll see. Is things start moving? Looks good. Looks very good. Oh, also, I didn't really mention it to even in the text based version, but we should simplify our visuals. Um, yes. Someone pointed out, like, why are using colored visuals? And you know, I don't have an answer to that. Um, I think it just in my head I was like, Oh, that makes sense to make him colored. Um, but not really for the A I to understand. It's probably it's just more basic if we made it grayscale. So that's the other thing we we definitely would want to be able to do. Okay, So I think that's all for now. In the next tutorial. What? We're gonna work on is the scouting. So the scout moving around Nome or we're just gonna put the scout at the expansion locations and then order it by distance from the enemies starting point. Um, I think that's the best way to do it. But obviously, it's not quite that simple. As you can see, the scouts get destroyed or whatever, and we need to be, you know, having quite a bit of handling for all of that kind of stuff. So anyway, that is what we're gonna be doing in the next tutorial. If you've got questions, comments, concerns, whatever. Feel free to leave them below. Otherwise, as always, thank you for your support, your subscriptions. You're sponsorships, all that stuff, and I will see you in another video.