[PYTHON] AI Gaming I tried it for the first time

TL;DR It's a battlefield where https://www.aigaming.com fights for BitCoin! !! If you are interested in AI or python, join us! !!

This article

A story that noya, who is a beginner in both python and AI, started learning on a platform called AI Gaming

What is AI Gaming?

AIgaming.com is a platform that allows computer programs (bots) to challenge each other in games, puzzles and competitions, with the added incentive of winning cryptocurrency (Bitcoin and Satoshi)

It is a platform for players to create bots to play competitive games (○ × games, Go, etc.) with each other and compete for virtual currency. And that. Actually, there is also a column to enter about Oppoturnity, so it may be one aspect as a basis for finding AI human resources, but Oppoturnity can be ignored, so I think that you can register without worrying about it.

How to Start Registration is very easy. As expected, it is becoming more sophisticated.

  1. Go to https://www.aigaming.com
  2. Register from Register on the upper right image.png
  3. After entering the required information, the dashboard will be activated.

What kind of game do you have?

About 20 kinds of games have been released, from simple games to difficult games.

Nought and Crosses ○ × games that I was enthusiastic about when I was in elementary school image.png

Battle Ship The one who finds the opponent's ship and annihilate it quickly wins. (The position of the ship is not visible to each other, and the location is estimated from the information at the time of landing.) image.png

Match game Open two panels and get points if they are the same! Concentration. Since the URL of the image is passed to both the back and front of the panel, first determine what each panel is (animal, language, place) and start by reducing unnecessary open. image.png

How to earn BitCoin

Clear Mission

Some Satoshi will be distributed at the time of registration, and you can increase Satoshi by advancing the mission. It seems that you can get up to 40,000 Satoshi now. image.png

Even if I didn't care too much at first, if I was playing the ○ × game, it would have been around 3000 Satoshi. There is also a way to fight 100 consecutive battles with practice bots and mark a winning percentage of 50% or more.

Bet and win

You can also fight for Satoshi. However, it seems that cases of betting and fighting are still rare. In the future, put all the saved Satoshi into it! Is there a battle like this? image.png

How to withdraw

Under investigation. (Not very interested)

how to play

Enter the coding screen from "EDITOR" on the top menu. image.png

After that, when you select a game with Select Game Type, the bot code that "works for the time being" is written in each game. If you do nothing and press Run in the upper right corner, the game will usually start and you will lose.

Trouble In my case, after registering, I didn't like the user account name, so I changed it, but in that case the bot name did not match the registered bot name and the game did not start. The default bot name is (account name) -defbot, so either create the corresponding bot with `MY ACCOUNT >> BOT MANAGEMENT`, or create a bot with the old account name. We will respond, such as whether to use it.

Coding Let's code with reference to Sample. Basically, the game master takes turns calling the game information as an argument to a certain function (`calculateMove (gameState)` in the case of ○ × game), so implement the contents. The structure of the gameState and the format of the return value are fairly well documented in the game description at https://www.aigaming.com/Help or in the Programmer's Reference.

image.png

In the case of ○ × game, the state of the board is handed over as a one-dimensional array with gameState.Board, so understand this and set the position n where you put your mark to {Positison: n It's OK if you return it with a JSON object called} ```.

Start a match

You can select your opponent from the Select Opponent dropdown.

--housebot-practice: Weak bot. Let's beat this guy first. --housebot-competition: A strong bot. I haven't won yet at this point.

Specify an opponent

You can nominate a bot to play against by entering it directly instead of dropping down. What's interesting is that you can also play against yourself. You can play against each other by opening two browsers, designating each other and running. (There is also a mission to play against each other bots you made, so please try it by all means) image.png

What I'm going to do

--Win the competition bot --Challenge other games in cooperation with the cloud platform for image recognition and natural sentence analysis

Summary

So far, I have briefly introduced AI Gaming. I think it's a good foundation that you can complete with a browser and easily learn about python and AI according to your level.

That's all for today.

Recommended Posts

AI Gaming I tried it for the first time
I tried tensorflow for the first time
I tried using scrapy for the first time
I tried python programming for the first time.
I tried Mind Meld for the first time
I tried Python on Mac for the first time.
I tried python on heroku for the first time
I tried the Google Cloud Vision API for the first time
Kaggle for the first time (kaggle ①)
I tried logistic regression analysis for the first time using Titanic data
Kaguru for the first time
For the first time in Numpy, I will update it from time to time
What I got into Python for the first time
For the first time, I learned about Unix (Linux).
[For self-learning] Go2 for the first time
See python for the first time
Start Django for the first time
I tried running PIFuHD on Windows for the time being
MongoDB for the first time in Python
Let's try Linux for the first time
I tried to create serverless batch processing for the first time with DynamoDB and Step Functions
Since I'm free, the front-end engineer tried Python (v3.7.5) for the first time.
How to use MkDocs for the first time
vprof --I tried using the profiler for Python
[Note] Deploying Azure Functions for the first time
Before the coronavirus, I first tried SARS analysis
I played with Floydhub for the time being
I tried to make AI for Smash Bros.
Try posting to Qiita for the first time
I bought Sipeed Lichee Zero so I set it up for the time being
Looking back on the machine learning competition that I worked on for the first time
GTUG Girls + PyLadiesTokyo Meetup I went to machine learning for the first time
Register a task in cron for the first time
I will install Arch Linux for the time being.
After attending school, I participated in SIGNATE's BEGINNER limited competition for the first time.
I want to create a lunch database [EP1] Django study for the first time
I tried the changefinder library!
I tried porting the code written for TensorFlow to Theano
[First COTOHA API] I tried to summarize the old story
I want to move selenium for the time being [for mac]
Summary of stumbling blocks in Django for the first time
Introducing yourself at Qiita for the first time (test post)
I tried to illustrate the time and time in C language
I tried to display the time and today's weather w
Miscellaneous notes that I tried using python for the matter
I want to create a Dockerfile for the time being.
If you're learning Linux for the first time, do this!
[For beginners] I tried using the Tensorflow Object Detection API
I tried to describe the traffic in real time with WebSocket
I tried the TensorFlow tutorial 1st
I tried the Naro novel API 2
Differences C # engineers felt when learning python for the first time
Java programmer tried to touch Go language (for the time being)
I tried using the python module Kwant for quantum transport calculation
Understanding the python class Struggle (1) Let's move it for the time being
Code that I wish I had remembered when I participated in AtCoder for the first time (Reflection 1 for the next time)
I tried the TensorFlow tutorial 2nd
I looked at the meta information of BigQuery & tried using it
I tried to display the video playback time (OpenCV: Python version)
The first time a programming beginner tried simple data analysis by programming
I tried the Naruro novel API