GNU social JP
  • FAQ
  • Login
GNU social JPは日本のGNU socialサーバーです。
Usage/ToS/admin/test/Pleroma FE
  • Public

    • Public
    • Network
    • Groups
    • Featured
    • Popular
    • People

Conversation

Notices

  1. Embed this notice
    anonymous (anonymous@freespeechextremist.com)'s status on Monday, 01-Jan-2024 13:19:56 JST anonymous anonymous

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

    In conversation Monday, 01-Jan-2024 13:19:56 JST from freespeechextremist.com permalink
    • Embed this notice
      anonymous (anonymous@freespeechextremist.com)'s status on Monday, 01-Jan-2024 13:19:47 JST anonymous anonymous
      in reply to
      • Machismo
      • Ruru! 🦉
      @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.
      In conversation Monday, 01-Jan-2024 13:19:47 JST permalink
    • Embed this notice
      Ruru! 🦉 (lonelyowl@freespeechextremist.com)'s status on Monday, 01-Jan-2024 13:19:47 JST Ruru! 🦉 Ruru! 🦉
      in reply to
      • Machismo
      @anonymous @Zerglingman

      Maybe. Cs 1.6 had pretty decent pvp bots long before anyone tried to teach neural networks to play games
      In conversation Monday, 01-Jan-2024 13:19:47 JST permalink
    • Embed this notice
      Machismo (zerglingman@freespeechextremist.com)'s status on Monday, 01-Jan-2024 13:19:47 JST Machismo Machismo
      in reply to
      • Ruru! 🦉
      @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.
      In conversation Monday, 01-Jan-2024 13:19:47 JST permalink
    • Embed this notice
      Machismo (zerglingman@freespeechextremist.com)'s status on Monday, 01-Jan-2024 13:19:48 JST Machismo Machismo
      in reply to
      • Ruru! 🦉
      @anonymous @lonelyowl
      blob
      In conversation Monday, 01-Jan-2024 13:19:48 JST permalink

      Attachments


      1. https://freespeechextremist.com/media/86152b4a-bb47-4b77-b4c2-bbf878ae86d7/blob?name=blob
    • Embed this notice
      anonymous (anonymous@freespeechextremist.com)'s status on Monday, 01-Jan-2024 13:19:49 JST anonymous anonymous
      in reply to
      • Machismo
      • Ruru! 🦉

      @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.

      In conversation Monday, 01-Jan-2024 13:19:49 JST permalink
    • Embed this notice
      anonymous (anonymous@freespeechextremist.com)'s status on Monday, 01-Jan-2024 13:19:49 JST anonymous anonymous
      in reply to
      • Machismo
      • Ruru! 🦉

      @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:

      In conversation Monday, 01-Jan-2024 13:19:49 JST permalink
    • Embed this notice
      anonymous (anonymous@freespeechextremist.com)'s status on Monday, 01-Jan-2024 13:19:50 JST anonymous anonymous
      in reply to
      • Machismo
      • Ruru! 🦉

      @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.

      In conversation Monday, 01-Jan-2024 13:19:50 JST permalink
    • Embed this notice
      Ruru! 🦉 (lonelyowl@freespeechextremist.com)'s status on Monday, 01-Jan-2024 13:19:50 JST Ruru! 🦉 Ruru! 🦉
      in reply to
      • Machismo

      @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.

      In conversation Monday, 01-Jan-2024 13:19:50 JST permalink
    • Embed this notice
      Machismo (zerglingman@freespeechextremist.com)'s status on Monday, 01-Jan-2024 13:19:51 JST Machismo Machismo
      in reply to
      • Ruru! 🦉
      @anonymous @lonelyowl Tell it to optimise for score and see what it does?
      In conversation Monday, 01-Jan-2024 13:19:51 JST permalink
    • Embed this notice
      Ruru! 🦉 (lonelyowl@freespeechextremist.com)'s status on Monday, 01-Jan-2024 13:19:51 JST Ruru! 🦉 Ruru! 🦉
      in reply to
      • Machismo
      @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.
      In conversation Monday, 01-Jan-2024 13:19:51 JST permalink
    • Embed this notice
      anonymous (anonymous@freespeechextremist.com)'s status on Monday, 01-Jan-2024 13:19:52 JST anonymous anonymous
      in reply to
      • Machismo
      • Ruru! 🦉

      @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.

      In conversation Monday, 01-Jan-2024 13:19:52 JST permalink
    • Embed this notice
      anonymous (anonymous@freespeechextremist.com)'s status on Monday, 01-Jan-2024 13:19:52 JST anonymous anonymous
      in reply to
      • Machismo
      • Ruru! 🦉

      @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.

      In conversation Monday, 01-Jan-2024 13:19:52 JST permalink
    • Embed this notice
      anonymous (anonymous@freespeechextremist.com)'s status on Monday, 01-Jan-2024 13:19:53 JST anonymous anonymous
      in reply to
      • Machismo
      • Ruru! 🦉

      @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.

      In conversation Monday, 01-Jan-2024 13:19:53 JST permalink
    • Embed this notice
      anonymous (anonymous@freespeechextremist.com)'s status on Monday, 01-Jan-2024 13:19:53 JST anonymous anonymous
      in reply to
      • Machismo
      • Ruru! 🦉

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

      In conversation Monday, 01-Jan-2024 13:19:53 JST permalink
    • Embed this notice
      anonymous (anonymous@freespeechextremist.com)'s status on Monday, 01-Jan-2024 13:19:54 JST anonymous anonymous
      in reply to
      • Machismo
      • Ruru! 🦉

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

      In conversation Monday, 01-Jan-2024 13:19:54 JST permalink
    • Embed this notice
      Ruru! 🦉 (lonelyowl@freespeechextremist.com)'s status on Monday, 01-Jan-2024 13:19:54 JST Ruru! 🦉 Ruru! 🦉
      in reply to
      • Machismo
      @anonymous @Zerglingman

      It's usually made via reinforcement learning. No cloud stuff is required, you could write the whole thing with just numpy.

      https://towardsdatascience.com/how-to-teach-an-ai-to-play-games-deep-reinforcement-learning-28f9b920440a
      https://pythonprogramming.net/q-learning-reinforcement-learning-python-tutorial/
      In conversation Monday, 01-Jan-2024 13:19:54 JST permalink

      Attachments

      1. Domain not in remote thumbnail source whitelist: miro.medium.com
        How to teach an AI to play Games: Deep Reinforcement Learning
        from https://medium.com/@mauro_ai
        If you are excited about Machine Learning, and you’re interested in how it can be applied to Gaming or Optimization, this article is for…
      2. Domain not in remote thumbnail source whitelist: pythonprogramming.net
        Python Programming Tutorials
        Python Programming tutorials from beginner to advanced on a massive variety of topics. All video and text tutorials are free.
    • Embed this notice
      anonymous (anonymous@freespeechextremist.com)'s status on Monday, 01-Jan-2024 13:19:55 JST anonymous anonymous
      in reply to
      • Machismo

      @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.

      In conversation Monday, 01-Jan-2024 13:19:55 JST permalink
    • Embed this notice
      Ruru! 🦉 (lonelyowl@freespeechextremist.com)'s status on Monday, 01-Jan-2024 13:19:55 JST Ruru! 🦉 Ruru! 🦉
      in reply to
      • Machismo
      @anonymous @Zerglingman

      By "bots," do you mean like talking characters?
      https://www.youtube.com/watch?v=0svu8WBzeQM
      In conversation Monday, 01-Jan-2024 13:19:55 JST permalink

      Attachments

      1. The AI Takes Control of the adventure in Skyrim!
        from ESO
        Skyrim AI follower mods gameplay!👉 Part 1: https://www.youtube.com/watch?v=AQq8M88s3BU&t=10s&ab_channel=ESOIn this video, we're revisiting the Skyrim mod th...
    • Embed this notice
      Machismo (zerglingman@freespeechextremist.com)'s status on Monday, 01-Jan-2024 13:19:56 JST Machismo Machismo
      in reply to
      @anonymous This seems like a good way to make decent bots.
      In conversation Monday, 01-Jan-2024 13:19:56 JST permalink

Feeds

  • Activity Streams
  • RSS 2.0
  • Atom
  • Help
  • About
  • FAQ
  • TOS
  • Privacy
  • Source
  • Version
  • Contact

GNU social JP is a social network, courtesy of GNU social JP管理人. It runs on GNU social, version 2.0.2-dev, available under the GNU Affero General Public License.

Creative Commons Attribution 3.0 All GNU social JP content and data are available under the Creative Commons Attribution 3.0 license.