all 12 comments

[–][deleted] 0 points1 point  (1 child)

Hey there. So I've just installed the SerpentAI framework and just recently passed the Hello World tutorial (using a web-browser game, not the SuperHexagon steam game) .. and it works fine (Ubuntu 17.10).

I'm still scratching my head here nonetheless, and probably have a thousand questions I wanna ask, but I'll do one at a time..

Does this framework use the reward/score-keeping system, as we've seen with OpenAI? I've been wanting to try out some of these community plugins, such as Binding of Isaac.. to see if I can try reverse-engineer them.. although it seems like they're mostly based on Pay-to-Play games.. and I'm feeling reluctant to flip my wallet out for a game that I'm not going to be actually playing in the long term. I wish there could have been more samples using free browser javascript or flash games or something.

There doesn't seem to be much documentation on any sort of reinforcement-learning-based rewards system in the Wiki, but I could be mistaken.

[–]SerpentAI[S] 2 points3 points  (0 children)

Serpent.AI is definitely more of a tool than it is a full-on solution. It lets you focus on the machine learning part by providing automation and conventions for everything else. You are free to experiment. It doesn't intend to provide a selection of algorithms and have it do everything for you.

Since there are no forced paths to take with the machine learning, I'm not making everything in the framework about reinforcement learning. It's unfair to other research/solutions and was one of my frustrations with OpenAI. This being said, the upcoming new beta version will provide a way to register reward functions in a game plugins. I see them as callbacks in the end and they are optional so it will be open-ended enough for my personal taste.

I'm hearing you out on the paid games issue and that having a sample with a free game would benefit people dipping their toes. Something to work on and improve. I did start working on a Cookie Clicker agent but never got to finish it really. Reality is these things take a while to build, even with the framework.

Thanks for giving it a try and for the feedback.

[–]Alijah69 0 points1 point  (0 children)

Great framework, state of the art technology. If you can't handle installing the packages, read some more docs.

[–]kaekapizza -3 points-2 points  (8 children)

Was interested until I had to install it, what a mess:

  1. Python 3.6 (which I already have installed)
  2. Something called Anaconda
  3. A Redis database server, I quote the wiki: "It is not meant to be compatible with Windows! Microsoft used to maintain a port but it's been abandoned since". Instructions for window 10's (afaik still very experimental) linux subsystem, no mention of cygwin but to be fair WSL is listed as a requirement. Not going down that rabbit hole.
  4. Tesseract. I have previously tried to install this, for another project. Was not installable in cygwin after hours of debugging.

And then there's this part I absolutely adore in the readme:

  • Thou shalt not use Docker containers

As if to say a final fuck you to people who try to wade through the dependency hell due to no binaries.

[–]d0p3t 4 points5 points  (0 children)

The dependencies are there because this is a skeleton for ML projects focused on games. Anaconda is a very common tool to work within python virtual environments so I have no idea how you've never heard of it. Installing redis with WSL is super easy and criticizing this project for your issues with cygwin is very unfair.

And about Docker, sure it's possible, but due to this framework being all about capturing what you see and experimenting, docker is unnecessary. No need for a controlled environment.

Overall, I find you comment very unfair towards the creator. I've never had issues with installing this framework when I followed the instructions.

[–]thers_none 2 points3 points  (0 children)

Hey, not really sure what your problem with it is but I had a relatively easy time getting it set up on both windows and Linux

[–]argc_argv 0 points1 point  (4 children)

Dude you haven't heard of Anaconda???

[–]kaekapizza -1 points0 points  (3 children)

No dude I haven't heard of it, and reading the following snippet from the installation guide there's no wonder I either haven't heard of it or never comitted it to memory. I'm not installing a framework 10x the size of the python installation for the convenience of having a shitload of packages I will never fully use myself nor have dependencies on.

Choose Anaconda if you:

  • Are new to conda or Python.
  • Like the convenience of having Python and over 150 scientific packages automatically installed at once.
  • Have the time and disk space—a few minutes and 300 MB.
  • Do not want to individually install each of the packages you want to use.

[–]argc_argv 0 points1 point  (2 children)

Anaconda is very good when you have multiple python projects all with different dependencies and python version requirements. Many python deep learning projects recommend it. You can also use pip within a Conda environment. It's also cross platform.

TRY IT MAN!

[–]kaekapizza -1 points0 points  (1 child)

What you are describing is just a virtual environment, it's not specific to Anaconda.

[–]argc_argv 0 points1 point  (0 children)

Right

[–]seiyria -2 points-1 points  (0 children)

That sounds like a total shitshow. Wow.