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.
I always find it interesting to see how optimization algorithms play games and to see how their habits can change how we would approach the game.
me too! there aren’t many attempts at machine learning in this type of game so I wasn’t really sure what to expect.
Humans would usually try to find the safest area on the screen and leave generous amounts of space in their dodges, whereas the AI here seems happy to make minimal motions and cut dodges as closely as possible.
yeah, the NN did this as well in the training environment. most likely it just doesn’t understand these tactics as well as it could so it’s less aware of (and therefore more comfortable) to make smaller, more riskier dodges.
I also wonder if the AI has any concept of time or ability to predict the future.
this was one of its main weaknesses. the timespan of the input and output data are both 0.1 seconds - meaning it sees 0.1 seconds into the past to perform moves for 0.1 seconds into the future - and that amount of time is only really suitable for quick, last-minute dodges, not complex sequences of moves to dodge several bullets at a time.
If not, I imagine it could get cornered easily if it dodges into an area where all of its escape routes are about to get closed off.
the method used to input data meant it couldn’t see the bounds of the game window so it does frequently corner itself. I am working on a different method that prevents this issue, luckily.
I did create a music NN and started coding an UNO NN, but apart from that, no
yeah, the training environment was a basic bullet hell “game” (really just bullets being fired at the player and at random directions) to teach the neural network basic bullet dodging skills
this is the ad-free version, which is available with the exact same (if I’m correct) features on F-Droid for free, along with the source code on GitHub.
the versions on the Play Store (paid version and free version with ads) likely just help pay the developer for their work
and as others have said already, free software is free as in freedom, not free beer.
oh, I forgot about the API not being freely available; so an alternate frontend wouldn’t be a proper solution?
going by the other comments, though, there are client-side options that can avoid API issues entirely by just re-styling the webpage. thanks for the info, though!
yeah, that was the main reason I wanted to apply it to old Reddit specifically, because it would have been easier with simpler theming and old Reddit is close to Lemmy’s style too
I installed RES beforehand, but haven’t used any of its features. I’ll try this out first and maybe Stylish if that doesn’t work. thanks!
currently, yes, but this is more an investigation into how well a neural network could play a bullet hell game
very few bullet hell AI programs rely on machine learning and virtually all of the popular ones use algorithms.
but it is interesting to see how it mimics human behaviour, skills and strategies and how different methods of machine learning perform and why
(plus I understand machine learning more than the theory behind those bullet hell bots.)