My Computer Taught Itself to Play Minecraft

Ғылым және технология

Hey everyone! This video is the culmination of around 2 years of off/on work on a project to see if a neural network AI could figure out how to mine ores in Minecraft. The main goal of the project was to just write all of the code from the ground up and see what the network would be capable of. Overall, I'm happy with what was accomplished and in many ways it exceeded my expectations. I plan on continuing to make videos on different AI projects, so if you're interested in checking them out feel free to subscribe.
Chapters:
0:00 Intro to Problem
0:45 Roadmap
1:04 Neural Network Intro
1:47 Neural Networks and Minecraft
3:00 Programming a Neural Network
3:35 Minecraft Simulator
4:41 Minecraft to C++
5:23 Programming a Minecraft Simulator
6:23 First Simulation World
6:37 Programming a Minecraft Mod
7:10 Visualizing Training #1
9:54 Reward Function Changes
10:27 Visualizing Training #2
13:24 Trained Network Visualization
14:14 Final Thoughts
Here's the links to code:
Neural Network Library: github.com/Poppro/PyreNet
Minecraft Simulator: github.com/Poppro/MCNE
Here's links to the music used in the video:
/ on-the-hill-lofi-hiphop
/ reflections-lofi-hiphop
freemusicarchive.org/music/Me...
freemusicarchive.org/music/EM...

Пікірлер: 1 100

  • @TheOneGuy1111
    @TheOneGuy11112 жыл бұрын

    I think a major problem with this approach is that you're giving it the same world every time. The AI is not learning to look for resources, it's learning to how to get to where the resources are in that particular map.

  • @calamaricalamity6757

    @calamaricalamity6757

    2 жыл бұрын

    yes

  • @mastercheemf8020

    @mastercheemf8020

    2 жыл бұрын

    I agree

  • @demonsweatthings8493

    @demonsweatthings8493

    2 жыл бұрын

    It’s basically learning a set seed speedrun lol

  • @dustinjames1268

    @dustinjames1268

    2 жыл бұрын

    I disagree and the counterpoint is examples like racing games They're trained to run the same course every time, yet when they're set loose on tracks they've never seen before, they still perform well. They aren't just training to memorize inputs, it knows what it wants and how to get it.

  • @farenhite4329

    @farenhite4329

    2 жыл бұрын

    Dustin James True, but minecraft has a lot more variables than a racing game, making it significantly harder to generalize. There is also the fact that the AI tends towards a specific path rather than looking around for resources, suggesting it is memorizing the location of the ores instead of looking around for them.

  • @Yuvallyly
    @Yuvallyly2 жыл бұрын

    I think that the AI should also be rewarded by completing advancements, so it will actually progress to beat the game and not just mine all the time.

  • @evancalgary7684

    @evancalgary7684

    2 жыл бұрын

    Or the in game achievements as a guide to completing the game

  • @Yuvallyly

    @Yuvallyly

    2 жыл бұрын

    @@evancalgary7684 In the latest versions the achievements have been renamed to advancements.

  • @user-cm1mu6ce9y

    @user-cm1mu6ce9y

    2 жыл бұрын

    already done? kzread.info/dash/bejne/lJV1w5isaNfHmKQ.html

  • @nigoulenoblehiboux9812

    @nigoulenoblehiboux9812

    2 жыл бұрын

    The achievements would be too far apart to guide the AI properly and the only way the Ai would open the portals would be by doing the right actions completely randomly. You'll need a lot more goals than Achievement and mining to make it complete the game.

  • @uninable

    @uninable

    2 жыл бұрын

    @@user-cm1mu6ce9y that isn't a neural network though

  • @cecilrhodes2153
    @cecilrhodes21532 жыл бұрын

    One major issue is that it seems that instead of being smarter, they just get better at beelining to the nearest chunk of high value ores by exploiting generations of discovery. If you repeat this, try varying the map every few epochs to make them more intelligent. You could also add things like the penalty for losing health or hunger.

  • @Vaiave

    @Vaiave

    2 жыл бұрын

    Yeah, Basically The bot will just try to look at as much blocks at possible for new generations, and with 1000 repeats or so, the bot will know everything about the world, so it'll just travel to highly valued blocks then down a value and so on. The only thing it *actually* learns is to sense x and z position. Its like challenging 50 players to mine on diamond blocks spread out in a 25x25 stone cube as fast as possible with unlimited blocks and an op pick while giving the whole team a minute to talk and plan. It gets to a point like 25 or 10 try's where all the players go to a specific position and dig down in the most efficient, boring, way.

  • @cecilrhodes2153

    @cecilrhodes2153

    2 жыл бұрын

    @@Vaiave yep, that’s all it does. They don’t get more intelligent, they just get X-ray.

  • @Vaiave

    @Vaiave

    2 жыл бұрын

    @@cecilrhodes2153 To put it simply, yes, you're right.

  • @brysmann4291

    @brysmann4291

    2 жыл бұрын

    They can't lose health or hunger 🐶🐶🐶

  • @cecilrhodes2153

    @cecilrhodes2153

    2 жыл бұрын

    @@brysmann4291 sure they can, if they would ‘fall’ they’d lose health, though I suppose the hunger thing isn’t really possible here.

  • @MandMs05
    @MandMs052 жыл бұрын

    Ideas: Higher reward per second for higher health (i.e, +20 points per second with full health, +1 point per second on half a heart, 0 points total for death). Maybe even just leave it at death = 0 points when you die because that's just a flat out failure. Higher reward for more hunger, same as health. Higher reward for wearing armor (correlated with the actual protection value of the armor) SUPER high reward for correctly crafting items, giving it the incentive to learn High reward for combat engagement, but lose all reward on death. I think that should create a really interesting combat dynamic as it tries to avoid low health and death while still trying to kill mobs Basically... Reward/penalize every single aspect of the game according to how a real player feels about each aspect (Player doesn't like low health, armor, or food, so the AI doesn't like low health, armor, or food)

  • @tonitruivena8554

    @tonitruivena8554

    2 жыл бұрын

    if it keeps getting points for just having high health it might encourage it to not do anything so it should stop giving point for high health if it doesnt do anything

  • @MandMs05

    @MandMs05

    2 жыл бұрын

    @@tonitruivena8554 I was thinking it would be discouraged because it would have literally hundreds of times the amount of points for doing things, but if this is the case then maybe penalize it just ever so slightly for lower and lower health

  • @agsilverradio2225

    @agsilverradio2225

    2 жыл бұрын

    Small reward for every experience point earned. This should encourage engagement with allot of mechanics. ... Turn on advancements, and maybe they will go after them for the X.P. reward. ... Large punishment for dying, which is mostly undone if they can recover their items before they despawn. (The differnece is equal to the value of any lost E.X.P./items.) ... If you could encourage them to build, that would be epic! Maybe some human-given build-judging points could encourage that?

  • @bragtime1052

    @bragtime1052

    2 жыл бұрын

    @@agsilverradio2225 probably very difficult to get to work in an AI

  • @Clumrat

    @Clumrat

    2 жыл бұрын

    @@agsilverradio2225 I'd guess it would probably be easier to code a new minecraft-like game with AI in mind than to get something like that to work.

  • @FizzlNet
    @FizzlNet2 жыл бұрын

    It would have been more interesting, if each set would have been run on a different seed. With that, you could have had natural negative feedback for digging straight down to caves or lava. Also, to get to diamonds you have to dig down to below 16. It would have been interesting to see if the AI could have developed an efficient strategy to getting to diamond level fast without risking dying. Such as real players use: staircases, spiral staircases and digging two spaces at the time and teetering between them.

  • @katteisace4563

    @katteisace4563

    2 жыл бұрын

    this ai couldn’t do that as for whatever reason it’s running in a simulation of the game which would lock it to while number

  • @rushi7312

    @rushi7312

    2 жыл бұрын

    @@longnoseboi thousands of simulations is a really small number of iterations for a neural network. People doing research in the field often end up with hundreds of millions of iterations. Not saying anyone should have to go that far, but only then you find the interesting behaviours if the whole thing is well planned.

  • @chloechristley8335

    @chloechristley8335

    2 жыл бұрын

    @@rushi7312 Their point is that you can't DO hundreds of millions of iterations in minecraft because they'd have to be run in minecraft, which works on real time. They had to make a simulation which could be run very quickly so that they could do lots of iterations of it quickly.

  • @rushi7312

    @rushi7312

    2 жыл бұрын

    @@chloechristley8335 I'd have done it if it were easy... But I know it isn't. Tho I don't believe it's impossible to teach the AI how to do what it is supposed to do but without it being "really" in a "live" Minecraft world. I'm pretty sure there's a way to give it data to crunch and train on without actually being in-game. The problems come with world/loot gen tho. Once it's generated it's data. But finding a way to make the whole engine work without having to do any rendering etc would be a challenge.

  • @vel5094
    @vel50942 жыл бұрын

    The fact that the bots survived digging down without drowning in lava is just, cursed.

  • @DinoNuggies4665

    @DinoNuggies4665

    2 жыл бұрын

    I suppose you don't dig down a lot?

  • @matthewe3813

    @matthewe3813

    2 жыл бұрын

    well, the bots that picked spots with lava beneath them didnt pass on their genes and the ones that knew where the diamonds were did

  • @robertsandlin366

    @robertsandlin366

    2 жыл бұрын

    @@matthewe3813 It was one map, not a million random maps, so there was no selection process.

  • @itap8880

    @itap8880

    2 жыл бұрын

    @@robertsandlin366 Well, it was a selection process but not on how to avoid lava, just on where it's most efficient to dig down.

  • @The_Forge_Master

    @The_Forge_Master

    Жыл бұрын

    @@DinoNuggies4665 "Don't Dig Straight Down" has been a community rule anyone who's ever played MineCraft oughta know. Because there's a fair chance of finding a lava pond or ravine which could kill you. If you HAVE to dig straight down a long way, dig a staggered 2x1 or staircase, so the block you're digging isn't the one you know is safe.

  • @superslimanoniem4712
    @superslimanoniem47122 жыл бұрын

    Some general stuff about making this video: the command to let you see the bots more clearly is /effect give @s night_vision 10000 and you should go into gamemode spectator so you don't have to dig tunnels while the bots are doing their thing. Good idea on the x-ray pack tho

  • @acutedog9189

    @acutedog9189

    2 жыл бұрын

    add "true" to the end to that command and you won't have those annoying particles

  • @zenniththefolf4888
    @zenniththefolf48882 жыл бұрын

    One thing you could add is torch placing as it's important in mining. Reward efficient torch placement and high enough light levels so that mobs cannot spawn. Efficient torch placement would be only placing torches when needed (not placing them too close) and also maximizing their coverage (not placing them too far).

  • @scense6934

    @scense6934

    2 жыл бұрын

    I personally never light up my mines because of mob spawning mechanics mean they never spawn close to me. I just turn up my brightness

  • @sheepy0125

    @sheepy0125

    2 жыл бұрын

    @@scense6934 you're insane

  • @jmanpolo5611

    @jmanpolo5611

    2 жыл бұрын

    @@sheepy0125 normal for alot of players tbh..

  • @kiachi470
    @kiachi4703 жыл бұрын

    Never actually taught someone would make a Neural network in Minecraft, this is amazing to be higher

  • @nuduw

    @nuduw

    2 жыл бұрын

    this isn't even the first of such attempts. There are many and more polished experiments on NN in Minecraft. Microsoft itself is doing research on the same, but with different goals that help in real life.

  • @NewsofPE

    @NewsofPE

    2 жыл бұрын

    taught

  • @Kathrynerius

    @Kathrynerius

    2 жыл бұрын

    @@nuduw 2b2t baratone playing the whole game for players already, lol.

  • @nuduw

    @nuduw

    2 жыл бұрын

    @@Kathrynerius But players still have to set goals for Baritone, it doesn't have a goal by itself. That's what this video is about.Not Bots but actual AI.

  • @redtro8678

    @redtro8678

    2 жыл бұрын

    ​@@nuduw So far I almsot find Baritone's pathfinding more impressive than this tho still. I know he just wanted the bot to mine (which is kinda a flaw almost I feel) but besides, having the bot only on one seed in one location, with a diamond pickaxe already makes this only be the most inefficient and overcomplicated X-Ray ever. I imagine he did it because he had certain restrictions with C++ and Minecraft being in Java, but imagine if he had each generation on another seed, with no tools at all and told it some common things a player would know, like what tools you need for certain blocks, crafting recipes, at which heights ores are most likely to generate, a little more about the movement system (like what the fastest way of moving are), how to use sword axe and shield (with the cooldown) and generally encourage it too look around more. I'm sure it would be a lot of work and not everything on here would need to be done to have it probably be more interesting, but just imagine how good the bot would get (like I actually think it could become like an actual person playing and better). The visualization he did is awesome tho.

  • @nateallwine830
    @nateallwine8303 жыл бұрын

    Wow, really cool stuff! Keep up the good content, I'm looking forward to your next video. :)

  • @thepoppro

    @thepoppro

    3 жыл бұрын

    Thanks!

  • @TheDemonOfSemen
    @TheDemonOfSemen2 жыл бұрын

    I'd suggest rewarding the bot for "Smart mining" like have it go after ore in the normal progression of the game and stop rewarding it when it gets to much of say coal or stone, to the point where it might even avoid less valuable ores like coal in favor of finding something like diamonds

  • @alienblade2005
    @alienblade20052 жыл бұрын

    The biggest issue I can see is that since you've just used the same map every time it looks like it's memorizing features instead of dynamically responding My biggest suggestions would be: 1. Use different chunks or shuffle through a hundred 2. Use a recurrent network like a lstm so it can use past information to it's advantage

  • @mouradqqch1767

    @mouradqqch1767

    2 жыл бұрын

    What kind of past information would be useful?

  • @alienblade2005

    @alienblade2005

    2 жыл бұрын

    @@mouradqqch1767 Stuff like where it had already dug so it doesn't overlap dig patterns, caves, and if you wanted to expand the game to include crafting the tools previous ore deposits could be useful. It's a method to try out and while it may be helpful it could also not help at all

  • @MrMaramor
    @MrMaramor2 жыл бұрын

    Really cool and good example. I wouldn’t mind seeing a little more progress on this. Random of 100 worlds, and instead of negative for digging down, large % of worlds should start with lava a few blocks under or a big fall to discourage but not limit digging down. Have them collect 100 of each ore and wood, teach chopping trees, and switching tools. That would be interesting to see a short series with this as a goal. Either way, awesome work!

  • @richardramsell8389
    @richardramsell83893 жыл бұрын

    Friggin genius... Could you tell me where and how you learned the material to make this project happen?

  • @thepoppro

    @thepoppro

    3 жыл бұрын

    Thanks, glad you enjoyed! Most of the standard material like programming, AI techniques, and required math I learned while getting my degree. Things relating to visualization (like the minecraft mod and network graphics) were mostly self studied through online forums and existing repositories.

  • @estebanadorno9158

    @estebanadorno9158

    2 жыл бұрын

    @@thepoppro you should make it so they get points for advancements so they dont just dig straight down

  • @Not_Pulsus
    @Not_Pulsus2 жыл бұрын

    This is crazy cool, I could legit watch someone... Commit their entire life to this endeavor. I would be their biggest fan

  • @shaqalito8740
    @shaqalito87402 жыл бұрын

    "See if you can find the bug while you watch" Alex: **STARTS FUCKING FLOATING AND GOING THROUGH WALLS**

  • @unlikelysuspect5491
    @unlikelysuspect54912 жыл бұрын

    I think programing so that they feel hunger and a fear responce to certain mobs were it can choose to attack or run based on certian specified parameters would help pramote more comples seaking behaviors

  • @plaidpvcpipe3792

    @plaidpvcpipe3792

    2 жыл бұрын

    That's a good idea.

  • @delinep7286

    @delinep7286

    2 жыл бұрын

    Fight or flight. *creeper* F L I G H T !

  • @orbismworldbuilding8428

    @orbismworldbuilding8428

    2 жыл бұрын

    That's interesting idea. I think it'd probably cjose to live underground and then come up to the surface to hunt for food

  • @rook7174

    @rook7174

    2 жыл бұрын

    Bro that last sentence better not have been an attempt to say "...promote more complex seeking behavior"

  • @coreblaster6809

    @coreblaster6809

    2 жыл бұрын

    You don't have to program a fear response, assign a negative score to getting hurt and it will *learn* to fear mobs. That's the whole point. You could make a very robust AI if you weren't limiting yourself to neural nets.

  • @patrlim
    @patrlim2 жыл бұрын

    This video taught me how neural networks ACTUALLY work. Thanks man!

  • @watamalon4265
    @watamalon42652 жыл бұрын

    i know basically nothing about programming and neural networks, but this was still entertaining

  • @colinothebambino
    @colinothebambino2 жыл бұрын

    Every Human Ever: NEVER DIG STRAIGHT DOWN!!!!!!!!!! Chad AI: Hold My Coolant.

  • @stanislav4607
    @stanislav46072 жыл бұрын

    There's so much more you can do with this. You can add inputs like hunger and rewards from eating food. You can add rewards for getting the most number of points with the least amount of work etc. Thanks for your vid.

  • @_fowlplay_
    @_fowlplay_2 жыл бұрын

    I'm not even 2 minutes into the video and it's professional as hell. You deserve more subs than what you all ready got mate. Keep up the great work!

  • @internet_entity2930
    @internet_entity29302 жыл бұрын

    Awesome! Just started learning the basics of AI, and that was the most helpful explanation of a neural network I've seen yet. Also, really well made, great production. Thanks for making the video, I enjoyed it thouroughly.

  • @neilsheiselt2819
    @neilsheiselt2819 Жыл бұрын

    Thank you for including weights in your explanation of neural networks! I've seen a few videos on this subject, and you're the first person I've seen to actually include them in the explaination

  • @zeekjones1
    @zeekjones12 жыл бұрын

    Looks like it's on it's way to making a strip mine. Hopefully it learns to place torches before the mobs start spawning.

  • @anders8982
    @anders89822 жыл бұрын

    This is so amazing, i love neural networks!

  • @trando1975
    @trando19752 жыл бұрын

    I love how you documented the process and shared it, Please make more like this!!!

  • @ethandoingstuff1433
    @ethandoingstuff14332 жыл бұрын

    It would be quite interesting to see how the bot learns if you give it milestones. Eg, collecting wood gives it a large amount of points but only the first time. The same for making a crafting bench, etc. I think a bot that can start in any chunk simulation, make a pickaxe, upgrade to iron, and then make a bucket. Seems like the bot invented strip mining pretty quickly, so the hardest part would be the progression ladder.

  • @tristangoncalves1417
    @tristangoncalves14172 жыл бұрын

    The f3 information page also provides a "targeted block" readout, if you allow them to access that Information as an input similar to how you gave them coordinates it could help promote behaviors of looking around and intentionally mining ore when they see it instead of blind tunnelling, which I think would be the logical next step for the ai to do better mining

  • @yeti9058
    @yeti90583 жыл бұрын

    For your first video this is has really high quality. Loved the vid

  • @RedRingOfDead
    @RedRingOfDead Жыл бұрын

    Just found this channel and finishing watching this episode. Wish there was more since ik interested in this stuff. Hope you'll upload again soon. Awesome vid, and enjoyed it

  • @SpicyMelonYT
    @SpicyMelonYT2 жыл бұрын

    How can such an amazing amount of intelligence and work get put into this project and yet fundamentally mess up. The bots should not mutate from the single best bot. They should mutate from the best 50% or 10% or what ever seems like its working the most. Also, this simulation makes it such that the buts learn what best to do in that specific map. You need to make the bots in Minecraft instead of a simulated program. Even if that's not possible cause it's too slow, that literally how it needs to be done in order for random seed generation and accurate sim world to game world translation since both are the same. I really like this video and the concepts in it. Genuinely good job. You just need to make those changes and you will have an absolute banger of a video.

  • @SophiaAstatine

    @SophiaAstatine

    2 жыл бұрын

    Have you ever worked on a large, long term project from scratch? That's exactly how 😂 All that work and intelligence makes it easy to lose things through the cracks of you don't have inhuman levels of planning structure.

  • @SpicyMelonYT

    @SpicyMelonYT

    2 жыл бұрын

    @@SophiaAstatine I am the definition of not having "inhuman levels of planning structure". The insult was a joke at me. I was being ironic cause I spend weeks one projects just to have a completely fundamental issue pop up that screws it all up. Then I went on to explain some of the things I would have done differently cause I did find that to be a genuine problem. But yeah most of what I said was a joke.

  • @SophiaAstatine

    @SophiaAstatine

    2 жыл бұрын

    @@SpicyMelonYT very detailed written joke.

  • @SpicyMelonYT

    @SpicyMelonYT

    2 жыл бұрын

    @@SophiaAstatine no, as I said, the first part was joke, the rest was constructive criticism and the appreciation

  • @SophiaAstatine

    @SophiaAstatine

    2 жыл бұрын

    @@SpicyMelonYT Hope he reads it and makes more videos. Would be awesome with a follow up video but the guy seems to have vanished.

  • @kelpyg4915
    @kelpyg4915 Жыл бұрын

    I know I'm super late to this, but if you want it to explore more organically, I think you should reward it for seeing an ore block and for moving towards said ore block. Making sure that this action can only occur once so they don't just end up spinning in circles for points.

  • @Simoran
    @Simoran2 жыл бұрын

    This video is hella underrated. Very neat idea for a project!

  • @benjaminandersen1097
    @benjaminandersen10972 жыл бұрын

    cool, good job! please create more content like this, i was very intrigued :)

  • @polychoron
    @polychoron2 жыл бұрын

    I hope you continue with this long term... it will be amazing when an AI is advanced enough to build a computer inside Minecraft.

  • @SinfulCreature
    @SinfulCreature2 жыл бұрын

    I challenge you to create an AI model that teaches them to survive. Maybe they'll learn to build, fight and farm by themselves if they can access their own inventories and interact with objects? Sounds like a much larger project but simply imagine what an AI companion mob could accomplish alongside players

  • @golett0331

    @golett0331

    2 жыл бұрын

    When you have no friends to play minecraft with, so you download a mod.

  • @sirtoast5737

    @sirtoast5737

    2 жыл бұрын

    @@golett0331 Modern problems require modern solutions

  • @Jewelsonn
    @Jewelsonn2 жыл бұрын

    Best approach would be trim the time down to train the ai by coding on already learnt ethics in real life by us and then training forward. Like In real world, jumping up and down or standing in one place for long time without any reason would be considered unhealthy, waste of time in AI world. So just as you coded not to dig not more than 2 blocks down, similarly code few things not to do more than set amount of time, but also allows the AI to bypass such limitations if priority meets the needs.

  • @J3ff_K1ng
    @J3ff_K1ng2 жыл бұрын

    I think this serie it's a really cool concept and you had all my support

  • @leonstansfield
    @leonstansfield2 жыл бұрын

    This video was super intresting and very well made! subbed!

  • @robonator2945
    @robonator29452 жыл бұрын

    This is really interesting as a first step, I would love to see how far this can go. For instance, what if you punished it when it died? What if you told it some basic information, like created an association between mountainous biomes and emerald ore, so it knew (without spending millenia training) that it could find emerald ore in mountains. What about making it guess how far it can jump so it actually tried to parkour? This could go in some really interesting directions depending on where you want to take it. Plus, its literally the first actual description of what the fuck neural networks are I have seen so far. Most just say "it like neurons, next question" (another thing that would be cool is if you composited the weights of all of the networks in a generation, with the total score they earned deciding how much they impact the baseline for the next generation. This would more closely mirror genetics since a single mutation never becomes homogenous throughout an entire species over one generation and by creating composites instead of deciding one victor you allow for it to learn from all of the "failed" attempts slightly.) On a side note, is there any specific reason you choose the network layout that you did? Like how many nodes in each collumn?

  • @gpt-jcommentbot4759

    @gpt-jcommentbot4759

    11 ай бұрын

    A neuron in a neural network is quite simple. It is just multiplying the elements in two lists (the input and the weights) to get a number, then adding an extra number (bias) to get the linear output, and finally applying a nonlinear function to the linear output such as tanh or sigmoid or relu to get the neuron output. I wouldn't really call it neural, it's mostly multiplying numbers together.

  • @holdeng2626
    @holdeng26262 жыл бұрын

    i love how he just casually writes "how to minecraft" in his search bar

  • @PabloPerroPerro
    @PabloPerroPerro2 жыл бұрын

    Great explanation! Would love to see more of what this MC AI is able to do in the future

  • @sterlia5915
    @sterlia59152 жыл бұрын

    This is really cool, I would love to see this continued

  • @virginlungs420x
    @virginlungs420x2 жыл бұрын

    IF ONLY EVERYONE SAW THIS if given a rly interesting thumbnail and a more visual introduction for us dummies this would blow tf up

  • @virginlungs420x

    @virginlungs420x

    2 жыл бұрын

    i jus realized this is the only video in this series

  • @jameswalker199

    @jameswalker199

    2 жыл бұрын

    You have a rick and morty avatar, are you admitting you don't have a high IQ?

  • @bingbongbangbingboom
    @bingbongbangbingboom2 жыл бұрын

    This is awesome, are you going to make a tutorial? I've been trying to achieve a neural network in Minecraft, but I haven't had as much success as you lol

  • @user-pd6ev9gb7j

    @user-pd6ev9gb7j

    2 жыл бұрын

    He has the code on git

  • @kr0zzzz1
    @kr0zzzz12 жыл бұрын

    crazy stuff dude, great job

  • @alix9751
    @alix97512 жыл бұрын

    Will definitly look forwards to the continuation of this series

  • @Lucian4694
    @Lucian46942 жыл бұрын

    i remember watching a video about someone who made an ai that could play Minecraft by only giving it the screen (thought it was compressed) as input, and basically giving score for surviving and removing score when it died. could anyone point me to that video? this video reminded me of it

  • @clydoscope5841
    @clydoscope58412 жыл бұрын

    In the future, I get to have a friend who plays with me, and never leaves me with a unfinished castle.

  • @duality4y
    @duality4y2 жыл бұрын

    Explains a Neural net in the simplest way I have ever seen and understandable with an example included !! very good!

  • @broyojo
    @broyojo2 жыл бұрын

    wow, this is really awesome! what a great first video

  • @callmedawg001
    @callmedawg0012 жыл бұрын

    This is gonna blow up soon

  • @virginlungs420x

    @virginlungs420x

    2 жыл бұрын

    ikr we need more

  • @Duckman-sn9np
    @Duckman-sn9np2 жыл бұрын

    That's the content I'd like to see more on KZread :]

  • @CrypticConsole
    @CrypticConsole2 жыл бұрын

    That was the best neural networks explanation ever, it finally clicked. I have been making basic neural nets without even knowing. Omg thx so much

  • @avaoffiziell
    @avaoffiziell2 жыл бұрын

    Remembering my Armor Stand KI making out of Skript. Could walk anywhere and jump one block up to upstairs. I loved this one.

  • @jackenoph900
    @jackenoph9002 жыл бұрын

    ai: walks past tons of iron and coal and proceeds to mine in straight lines Poppro: I'd say this is a great success

  • @TheStickCollector
    @TheStickCollector2 жыл бұрын

    You should make the rest of the footage available on patreon or you could have a neural network course describing how to replicate this

  • @td2972
    @td29722 жыл бұрын

    Great job there ! Recode an entire tool for NN etc is huge !

  • @dawsonyork989
    @dawsonyork989 Жыл бұрын

    This fact that you can do this only based on your knowledge and resourcefulness is beyond me. Congratulations on this badass video man.

  • @isaacmurray8490
    @isaacmurray84902 жыл бұрын

    I would love for you to continue this project a bit to be honest, or maybe if someone can wrote the code in python so i can make do some work with the project. It would be cool to bot only watch the AI mine but also to see it build and even craft, as well as for it to learn to obtain needs for survival and other complex game play features.

  • @catcat4697
    @catcat46972 жыл бұрын

    How does this not have more views?

  • @thanhdanhphi5384
    @thanhdanhphi53842 жыл бұрын

    From a newcomer standpoint, your work is truly impressive!

  • @jordon_
    @jordon_2 жыл бұрын

    Good job, I think the maps should change every few epochs (or every epoch) so that they don't just memorise the locations of where the ores are, and therefore become smarter.

  • @singadorito7802
    @singadorito78022 жыл бұрын

    It will be cool if we forced Ai's to play together and communicate and forming nations

  • @andeersonz
    @andeersonz2 жыл бұрын

    Now turn this into a mod, and villagers will finally be useful, they will build their civilization from stone age to modern age, with them working of course, not just giving them materials This is my type of mod too, so I don't feel lonely playing Minecraft lol

  • @Treviisolion

    @Treviisolion

    2 жыл бұрын

    Perhaps in a decade we’ll be able to run a mod like that. That neural network trainer is simulating a world where the AI is the only decision maker, i.e. no mobs, no players, no other AIs. If you want neural network villagers that aren’t crap you’ll have to train them significantly in the actual game with actual players or else they’re going to act stupid anytime players get close to them. Running neural networks isn’t cheap either, and given the complexity of Minecraft and human behavior when interacting with Minecraft, these neural networks may be far too small to produce interesting behavior noticeably different from current villagers. So you may end up needing the latest gen tech just to load even a small village, and given that neural networks run the best on GPUs, your framerate is likely to struggle as it tries to render and think for a dozen AIs simultaneously. Honestly that’s probably a bit optimistic even. Give it a decade though and I wouldn’t be surprised if it becomes a reasonable thing to add.

  • @olliejobson6371

    @olliejobson6371

    2 жыл бұрын

    @@Treviisolion an alpha go style neura network for this would be interesting. It watched many many professional games and learnt how to play intuitively by watching how professionals make their decisions

  • @Treviisolion

    @Treviisolion

    2 жыл бұрын

    @@olliejobson6371 Possibly, though go is a much simpler game than Minecraft. There's only one goal, only one other player, and a limited number of actions, and it still took a ridiculous amount of processing power to match and finally beat humans consistently at it. My money would be on whatever the team that made an AI to escape spawn in 2b2t did, where you build an AI to do what you want combined with a bit neural network learning rather than brute force learning everything.

  • @electricheartpony

    @electricheartpony

    2 жыл бұрын

    I'm not sure if Tango released his villager mod

  • @kringly4196
    @kringly41962 жыл бұрын

    Great video id love to see more from you ^^

  • @CHKNSkratch
    @CHKNSkratch Жыл бұрын

    this is the first video that *actually* tells me how a neural network works. all the others just throw up the nodes grapic and wave away the "this number goes to this node which goes to this one"

  • @cavauro
    @cavauro3 жыл бұрын

    neural network teaches itself to break the first rule of minecraft

  • @no_name_idea7386

    @no_name_idea7386

    2 жыл бұрын

    then gets changed and becomes depressed when it does

  • @zephyrelizabeth965
    @zephyrelizabeth9652 жыл бұрын

    Using xray instead of spectator mode is really like slapping mojang

  • @Zephyr01

    @Zephyr01

    2 жыл бұрын

    spec doesnt show ores tho

  • @ralphcalzada4767
    @ralphcalzada47672 жыл бұрын

    your explanation of neural networking is probably the first that I actually understand

  • @noricgoodfeld3224
    @noricgoodfeld32242 жыл бұрын

    I like how by the end the network is just solidifying what we already know, strip mining works

  • @linren901
    @linren9012 жыл бұрын

    I love how the bots first instincts are to dig straight down

  • @forceand3
    @forceand32 жыл бұрын

    Loved the content, if you need servers for testing I can provide, we need this to grow

  • @yuk0096
    @yuk00962 жыл бұрын

    great video bro, hope ur channel gets more subs

  • @ullton8926
    @ullton89262 жыл бұрын

    This was your first vid!? Great editing man

  • @FedericoTrentonGame
    @FedericoTrentonGame2 жыл бұрын

    what if you have the AI watch like 1000s of "minecraft first night survival" or speedruns so it can map some common and rewardful actions?

  • @gpt-jcommentbot4759

    @gpt-jcommentbot4759

    Жыл бұрын

    That is way easier said than done.

  • @the_original_bean7855
    @the_original_bean78553 жыл бұрын

    Are you going to continue the series?

  • @ShiroiAkumaSama
    @ShiroiAkumaSama2 жыл бұрын

    Such videos are so interesting to watch even if I have no clue how to do any programming for this.

  • @_akuma06
    @_akuma062 жыл бұрын

    Actually, the seconde set of reinforcement learning with your rule of never digging straight down was not the right thing to do. Your ai learned that digging straight down was the most efficient way to win according to the map you gave it. Implementing an artificial rule to stop it from using this strategy is counter productive, because now you are partially forcing it to comply to how you think the game should be played. Some, in the comment section, have pointed out how you could have had better result without this new rule (which created some new strange and counter productive behavior in your ai). First, players do not dig straight down due to fall damage, lava and cave full of mobs. So you could have implemented a simple death mechanism, when it falls and die 0 points, when it goes into lava 0 points and when it dies from mobs 0 points. Second, depending on where you position your player on the same map, digging straight down to diamond level could be the optimal strategy, sometime (like in the 1st run) there is no lava or caves in between the two Y position. therefore you could have placed randomly your player on the same map and let it learn the different strategies or you could have changed the map every other epochs. Still, a great video showcasing C++ ai programming and java minecraft mod programming!

  • @Omega_2

    @Omega_2

    2 жыл бұрын

    Or even, subtract say, 2 points for taking damage, falling into lava, even dying. With that detriment to its scoring, it should figure out to avoid those, or learn to minimize it after a while. Definitely don't punish it for digging straight down

  • @chickenbird6661
    @chickenbird6661 Жыл бұрын

    It's called baritone.

  • @racheldooling2660
    @racheldooling26602 жыл бұрын

    "My computer taught itself to play minecraft" *That's how it all started-*

  • @Its-Starlight788
    @Its-Starlight7882 жыл бұрын

    Really cool video dude!

  • @joechristo2
    @joechristo22 жыл бұрын

    Just use spectator mode instead of digging with xray

  • @no_name_idea7386

    @no_name_idea7386

    2 жыл бұрын

    with spectator he cant see the ores they are going for?

  • @joechristo2

    @joechristo2

    2 жыл бұрын

    @@no_name_idea7386 yes you can if you don’t look inside blocks

  • @Wholetucook
    @Wholetucook2 жыл бұрын

    wish they taught me this in school but no i gotta learn about f@*king minerals

  • @parkouristbobbyd227
    @parkouristbobbyd2272 жыл бұрын

    I am going to school for software engineering and I hope to do AI classes because this stuff is just phenomenal. The visualizations you had in the video were very well made too. Seeing you use the same IDE I use to code made me really hyped because I could see myself doing projects like this myself sometime in the future. Thanks for the inspiring video Poppro :)

  • @badlandman8168
    @badlandman81682 жыл бұрын

    Wow. This quality of content from a channel with only 2.5k... Good Job. I'm just amazed

  • @spxcewolf4862
    @spxcewolf48622 жыл бұрын

    I must say the editing was great!

  • @sciencesid
    @sciencesid2 жыл бұрын

    I'm just a bit into your video, and I've gotta say; I LOVE IT 10/10 content.

  • @planecandle9691
    @planecandle96912 жыл бұрын

    That was a hard earned work, earned a sub!

  • @cash9714
    @cash97142 жыл бұрын

    Great video!

  • @juliusanon
    @juliusanon2 жыл бұрын

    This is insane! Very great work. Can't wait for further videos :) Isn't it kind of a genetic algorithm?

  • @sir_no_name1478
    @sir_no_name1478 Жыл бұрын

    When comes the next part?^^ great job btw. I really would like to see a follow up. Maybe you want to pick Combat behavior as the next project.

  • @itstheshivelys1880
    @itstheshivelys18802 жыл бұрын

    Really appreciate people making great content even with so few subscribers

  • @azamemkay
    @azamemkay2 жыл бұрын

    This is slowly getting into the recommended pages

  • @TheAruruu
    @TheAruruu2 жыл бұрын

    As others have pointed out, there are a few problems with the way you went about training. for the world, perhaps having a selection of 8 or more different maps, one of which being chosen at random for each epoch. this teaches the neural net not the specific world they're in, but rather how the blocks that surround them should influence the decisions they make. Another problem I noticed was that many times the network would decide to just stand still, or just look around. perhaps you could put in place a punishment for standing around and doing nothing for too many decision cycles (be lenient so they have time to 'see' the world), with a sort of forgiveness towards that punishment for turning to look around, but capping how many times that forgiveness works before actually making a movement/action. making the punishment occur quicker after each movement that is not a successful mining action.

  • @redcrow1836
    @redcrow18362 жыл бұрын

    Plz More. It was great!!!

  • @gftk5566
    @gftk55662 жыл бұрын

    Great video! However, I would love to see two things which is changing the seed every time, so the ai learns to actually adapt to its environment, and also another input which is the distance from the nearest other ai. That would let them spread apart and mine more efficiently.

  • @alexmega
    @alexmega2 жыл бұрын

    I like this)) thanks for the video

  • @hobertcooke2346
    @hobertcooke23462 жыл бұрын

    THIS IS FREAKING FANTASTIC!

Келесі