anonymous,
@anonymous@freespeechextremist.com avatar

I am considering using ML to make bots for a video game. If you have any suggestions please let me know.

Zerglingman,
@Zerglingman@freespeechextremist.com avatar

@anonymous This seems like a good way to make decent bots.

anonymous,
@anonymous@freespeechextremist.com avatar

@Zerglingman Is OpenAI cucked? I would like to know before I pick it as it looks like a terrific candidate but I don’t know much about it.

lonelyowl,

@anonymous @Zerglingman

By "bots," do you mean like talking characters?
https://www.youtube.com/watch?v=0svu8WBzeQM

anonymous,
@anonymous@freespeechextremist.com avatar

@lonelyowl @Zerglingman No, like a bot that will play the game. Obviously tweaks would have to be made to make it realistic though.

lonelyowl,
anonymous,
@anonymous@freespeechextremist.com avatar

@lonelyowl @Zerglingman I could make my own, and very well might, but I have a horrible tendency to drag my feet. The less steps necessary the better.

That said, there’s also adding controls for characters and stuff for 3D games, so better to just stick with libs for now.

I already have one that looks promising, like I said. I’ll look into your links but I don’t think they’re going to tell me much I don’t already know.

anonymous,
@anonymous@freespeechextremist.com avatar

@lonelyowl @Zerglingman I take that back, the second link was incredibly helpful! Thank you for sharing it. :ablobreach:

anonymous,
@anonymous@freespeechextremist.com avatar

@Zerglingman @lonelyowl Working with other people’s coding examples makes my head hurt. Not even writing code yet; just trying to wrap my brain around the concept. Still having difficulty understanding that first lesson! Oof. Hopefully it will be easier once I start to dig into the mechanisms myself.

anonymous,
@anonymous@freespeechextremist.com avatar

@Zerglingman @lonelyowl Either of you work on ML yourselves? I am wondering if it’s better to prioritize getting to and defeating high-value targets (like bosses) or whether it’s better to prioritize defeating any target.

The benefits of the second I think are immediately apparent. Killing any enemy gives a virtual certainty to kill high value targets, but the drawbacks seem similarly drastic. That is that the bot will just run around killing everything and perhaps run into loops where a baddie spawns, bot kills, new baddie spawns, bot kills, old baddie spawns, etc.

The second wouldn’t face this drawback, but it’s drawback is it would be very rigid and would need multiple models for different areas, increasing the size requirements drastically.

Zerglingman,
@Zerglingman@freespeechextremist.com avatar

@anonymous @lonelyowl Tell it to optimise for score and see what it does?

lonelyowl,

@Zerglingman @anonymous

Yeah, that's the point of reinforcement learning. You define some simple reward function, and the algorithm will learn how to maximize it. For example, the further player will walk through level without dying, the bigger the reward, and the algorithm will decide what to do with enemies, who to kill in first place and how, or maybe it will prefer to just speedrun the whole thing without murders.

anonymous,
@anonymous@freespeechextremist.com avatar

@lonelyowl @Zerglingman Can you set multiple rewards that have equal weight? Like for example gaining experience points and making it through a level the fastest way possible? I should probably just read more on the subject, but the way you put it helped everything click in my head just now. Perhaps you’ll be more insightful than an article on the subject.

lonelyowl,

@anonymous @Zerglingman

Like for example gaining experience points and making it through a level the fastest way possible?

Yep! Just keep it in mind that the algorithm will maximize the reward function, so it is possible that it will figure out that just speedrunning without harvesting any experience is still the easiest way to do so. This thing is used to find the best strategies to maximize the reward in the first place, not to mimic certain behavior. If you wish to make it mimic certain human-player like behavior, i believe it’s also possible, but will require some tinkering.

anonymous,
@anonymous@freespeechextremist.com avatar

@lonelyowl @Zerglingman In particular I am trying to come up with a bot that you can PvP with ultimately, which would be really rad.

I think I am simply putting too much thought into it, a problem I have had with ML since I first learned of it. Having had it explained to me in a way that I can better understand has opened my eyes to my critical error in the first place. This is not something I have to baby.

anonymous,
@anonymous@freespeechextremist.com avatar

@lonelyowl @Zerglingman So I think I’ve settled into a comfortable paradigm in my head, and learned everything I can from reading though I did confuse myself again trying to read into it. I love when that happens and now it’s time to focus on trial and error. I think once I’ve got movement down the rest should come naturally especially because the code-base I’ll have to work with will be rather minimal in the end. At least that’s my expectations going into it.

On a bit of a side note, I was looking into using python code in other languages because I may need it, and figured I’d find a native language version for a different coding language. I look into it and find it uses Python wrappers. :angryglitch:

Zerglingman,
@Zerglingman@freespeechextremist.com avatar
anonymous,
@anonymous@freespeechextremist.com avatar

@Zerglingman @lonelyowl >tfw you do a bunch of research into something cool only to find out it's no better than a far easier to understand thing.

lonelyowl,

@anonymous @Zerglingman

Maybe. Cs 1.6 had pretty decent pvp bots long before anyone tried to teach neural networks to play games

Zerglingman,
@Zerglingman@freespeechextremist.com avatar

@lonelyowl @anonymous Yeah, you can write specialised stuff and it will almost always be better.
Although in FPS they tend to just aimhack so "good" is debatable.
Teaching a neural network is less effort on your part, and more adaptable across games.

anonymous,
@anonymous@freespeechextremist.com avatar

@Zerglingman @lonelyowl Mostly the less effort part, but all the moving parts confuse me. As you can see I barely made it through “use a ML library”. Let alone figuring out how to execute proper bots in games.

I’m hoping my laziness will ultimately translate into a bot that can be used across multiple games.

anonymous,
@anonymous@freespeechextremist.com avatar

@Zerglingman @lonelyowl Now that I think about it the PvP portion would be pretty hard too, depending on the game. Then add on top making it realistic.

This way could potentially solve the “bots in open world” games problem and you could actually feel like you have a living world. Hell someone some day might even implement chat AI and then you never have to play with another nigger ever again.

Zerglingman,
@Zerglingman@freespeechextremist.com avatar

@anonymous @lonelyowl It's pretty trivial to make open worlds that don't suck already, with procedural generation. Which is different from random generation, which tends to get bland after 10 minutes.

anonymous,
@anonymous@freespeechextremist.com avatar

@Zerglingman @lonelyowl I like procedurally generated things, sometimes

Let me put it this way: imagine your favorite MMO. Now imagine dropping a template into a private server instead of having to waste potentially thousands of hours making a bot specific to that game that you’re unlikely to ever reuse. Now imagine this for every open world game.

Would slash the need for “realism” (which for some games is mandatory :vomit: ) in private servers. This would in turn encourage more of them.

Obviously people should demand more single player games. In the meantime, and for nostalgia’s sake, we could potentially have drop-and-train bots.

I don’t know I think that’s pretty cool.

anonymous,
@anonymous@freespeechextremist.com avatar

@Zerglingman @lonelyowl One other bonus I completely forgot to mention is the boost this would give to bots in games where the PvP is far superior to PvE (shooters and Diablo-style in particular). But this of course assumes people don’t demand single player and on top of that don’t demand single player bots.

Zerglingman,
@Zerglingman@freespeechextremist.com avatar

@anonymous @lonelyowl What's the point of a singleplayer bot lol

Zerglingman,
@Zerglingman@freespeechextremist.com avatar

@lonelyowl @anonymous Like I know 0-player games exist but I don't enjoy them.

anonymous,
@anonymous@freespeechextremist.com avatar

@Zerglingman @lonelyowl Well Diablo would be one, especially Diablo 2 where some content is locked behind multiplayer restrictions. RTS’, strategy. I could probably think of more if I had to.

Zerglingman,
@Zerglingman@freespeechextremist.com avatar

@anonymous @lonelyowl That's still pvp though?

anonymous,
@anonymous@freespeechextremist.com avatar

@Zerglingman @lonelyowl Well I am not sure what you mean but I think you mean these are all games you play against another person or bot? I suppose in my head I was thinking PvB = PvE. In any case games like Diablo would still benefit, and shooters as well. It could also lead the way to more realistic environments and mods in games in general.

Zerglingman,
@Zerglingman@freespeechextremist.com avatar

@anonymous @lonelyowl Yeah if a bot is standing in for a player, that's pvp.
A "singleplayer bot" would be one that plays a singleplayer game.

anonymous,
@anonymous@freespeechextremist.com avatar

@Zerglingman @lonelyowl I suppose I disagree. Not so much on the base premise but that it’s not always the case. For example there’s a single player to StarCraft, but the multiplayer might as well be a completely different game. However for StarCraft at least you can add bots to the game, as a stand in for players. Which at least implies both were meant for people to play by themselves at least in theory.

I could just be tired though. :blobsleepless:

lonelyowl,

@anonymous @Zerglingman

By the way, after you mentioned starcraft i thought "there should be a dataset for it" and indeed, it exists 😀

https://github.com/TorchCraft/StarData

anonymous,
@anonymous@freespeechextremist.com avatar

@lonelyowl @Zerglingman What keywords did you use to find that by the way?

lonelyowl,

@anonymous @Zerglingman

Just "starcraft dataset", or "starcraft player actions dataset". There are already shitload of different datasets of different stuff, i suppose it wouldn't be hard to find one for your game if it's popular.

Here is one for dota2:
https://www.kaggle.com/datasets/arpan129/dota-2-the-international-complete-dataset/data

The only stuff i've had a hard time to find is anything nsfw, on the past job we tried to create an automatic filter of "hatefull content" and there were absolutely no labeled data of corpses and blood 🥺

Zerglingman,
@Zerglingman@freespeechextremist.com avatar

@lonelyowl @anonymous Just use pictures of pomegranates.
blob

  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • Hentai
  • doujinshi
  • announcements
  • general
  • All magazines