• neural network is trained with deep Q-learning in its own training environment
  • controls the game with twinject

demonstration video of the neural network playing Touhou (Imperishable Night):

it actually makes progress up to the stage boss which is fairly impressive. it performs okay in its training environment but performs poorly in an existing bullet hell game and makes a lot of mistakes.

let me know your thoughts and any questions you have!

  • Cirk2@programming.dev
    link
    fedilink
    arrow-up
    3
    ·
    6 months ago

    That’s an interesting approach. The Traditional way would be to go by game score like the AI Mario Projects. But I can see the value in prioritizing Bullet Avoidance over pure score.

    Does your training Environment Model that shooting at enemies (eventually) makes them stop spitting out bullets? I also would assume that total survival time is a part of the score, otherwise the Boss would just be a loosing game score wise.

    • zolax@programming.devOP
      link
      fedilink
      arrow-up
      1
      ·
      6 months ago

      the training environment is pretty basic right now so all bullets shoot from the top of the screen with no enemy to destroy.

      additionally, the program I’m using to get player and bullet data (twinject) doesn’t support enemy detection so the neural network wouldn’t be able to see enemies in an existing bullet hell game. the character used has a wide bullet spread and honing bullets so the neural network inadvertently destroys the enemies on screen.

      the time spent in each training session is constant rather than dependent on survival time because the scoring system is based on the total bullet distance only.