SlideShare una empresa de Scribd logo
1 de 19
How to make an artificial intelligence
based werewolf agent in C#
using Visual Studio
Takashi OTSUKI
Academic Assembly, Yamagata University JAPAN
Preparations
1. Install Visual Studio. We use VS Community 2015 here.
2. Download and unzip AIWolf platform.
http://www.aiwolf.org/aiwp/wp-content/uploads/2014/03/aiwolf-ver0.3.2.zip
3. Download and unzip AIWolf.NET.
https://github.com/AIWolfSharp/AIWolf_NET/releases/download/v0.1.0/AIWolf_NET-0.1.0.zip
4. Obtain Json.NET and put Newtonsoft.Json.dll into the same folder
of AIWolf.NET.
Creating new project #1
File>New>Project
Creating new project #2
1. Select “Class Library”.
2. Enter the name of this project. (We name “MyFirstAgent” here.)
Creating new project #3
Source code of Class1 is automatically created.
Adding references
Add references to AIWolfLibCommon.dll, AIWolfLibClient.dll of AIWolf.NET.
Making my own RoleAssignPlayer #1
Rename Class1.cs MyRoleAssignPlayer.cs.
Making my own RoleAssignPlayer #2
Designate AbstractRoleAssignPlayer as the base class of MyRoleAssignPlayer.
Click the light bulb and select the quick action of adding “using” directive.
Making my own RoleAssignPlayer #3
Click the light bulb and select “Implement Abstract Class”.
Making my own RoleAssignPlayer #4
1. Modify “Name” property so that it will return string of “MyRoleAssignPlayer”.
2. Remove unnecessary usings.
3. We get the AIWolf agent which uses different sample player classes for different
roles.
Play AIWolf game using my own player #1
Project>MyFirstAgent Properties>Debug
1. Check “Start external program” and select ClientStarter.exe of AIWolf.NET.
2. In order to connect port 10000 of localhost and request the game server to assign
role of seer to this player, enter the command line arguments as follows.
-h localhost –p 10000 –c MyFirstAgent.MyRoleAssignPlayer MyFirstAgent.dll SEER
Play AIWolf game using my own player #2
Click “Start”
Connection
Completed
Start Game
Implementation of seer player #1
Project>Add Class
Add MySeerPlayer.cs.
Implementation of seer player #2
1. Designate AbstractSeer as the base
class of MySeerPlayer.
2. Click the light bulb and select the
quick action of adding “using”
directive.
3. Click the light bulb and select
“Implement Abstract Class”.
Implementation of seer player #3
Implement the method Divine() so that the seer will divine the player
chosen at random from alive others.
Implementation of seer player #4
Implement the method Vote()
so that the seer will
1. Vote the werewolf player
chosen at random from the
known werewolves,
2. Vote the player chosen at
random from the players
of uncertain team if any
werewolves are known.
Implementation of seer player #5
Implement the method Talk()
so that the seer will
1. Confess his role if he has
found a werewolf by
divination,
2. Report the result of
divination after the
confession.
Implementation of seer player #6
1. Nothing is implemented for the
method Finish() for now.
2. Implement the constructor of
MyRoleAssignPlayer class so that
MySeerPlayer class is used in
acting as seer.
Entry for AIWolf competition
1. Build on release configuration.
2. The file to be submitted is MyFirstAgent.dll in binRelease folder.
3. Before the submission, copy MyFirstAgent.dll into the folder of
AIWolf.NET and check that it works on command prompt as
follows.
ClientStarter.exe -h localhost –p 10000 –c MyFirstAgent.MyRoleAssignPlayer
MyFirstAgent.dll SEER

Más contenido relacionado

La actualidad más candente

React native on windows
React native on windowsReact native on windows
React native on windowsAbdul Karim
 
Android application penetration testing
Android application penetration testingAndroid application penetration testing
Android application penetration testingRoshan Kumar Gami
 
Cypress report
Cypress reportCypress report
Cypress reportAdarsh
 
為 Node.js 專案打造專屬管家進行開發流程整合及健康檢測
為 Node.js 專案打造專屬管家進行開發流程整合及健康檢測為 Node.js 專案打造專屬管家進行開發流程整合及健康檢測
為 Node.js 專案打造專屬管家進行開發流程整合及健康檢測謝 宗穎
 
Test Driven Development with OSGi - Balázs Zsoldos
Test Driven Development with OSGi - Balázs ZsoldosTest Driven Development with OSGi - Balázs Zsoldos
Test Driven Development with OSGi - Balázs Zsoldosmfrancis
 
TDD on OSGi, in practice.
TDD on OSGi, in practice.TDD on OSGi, in practice.
TDD on OSGi, in practice.Elian, I.
 
How to Install and Configure Jenkins on Centos 7
How to Install and Configure Jenkins on Centos 7How to Install and Configure Jenkins on Centos 7
How to Install and Configure Jenkins on Centos 7AniketGoyal14
 
Testing the Enterprise layers, with Arquillian
Testing the Enterprise layers, with ArquillianTesting the Enterprise layers, with Arquillian
Testing the Enterprise layers, with ArquillianVirtual JBoss User Group
 
Howto Create & Run zf2skeleton Apps with PHP's Built-in Webserver
Howto Create & Run zf2skeleton Apps with PHP's Built-in WebserverHowto Create & Run zf2skeleton Apps with PHP's Built-in Webserver
Howto Create & Run zf2skeleton Apps with PHP's Built-in WebserverMaster Zend Framework
 
Fastlane - Automation and Continuous Delivery for iOS Apps
Fastlane - Automation and Continuous Delivery for iOS AppsFastlane - Automation and Continuous Delivery for iOS Apps
Fastlane - Automation and Continuous Delivery for iOS AppsSarath C
 
Whatthestack using Tempest for testing your OpenStack deployment
Whatthestack using Tempest for testing your OpenStack deploymentWhatthestack using Tempest for testing your OpenStack deployment
Whatthestack using Tempest for testing your OpenStack deploymentChristian Schwede
 
Супер быстрая автоматизация тестирования на iOS
Супер быстрая автоматизация тестирования на iOSСупер быстрая автоматизация тестирования на iOS
Супер быстрая автоматизация тестирования на iOSSQALab
 
Using Composer with WordPress
Using Composer with WordPressUsing Composer with WordPress
Using Composer with WordPressMicah Wood
 
Vagrant - the essence of DevOps in a tool
Vagrant - the essence of DevOps in a toolVagrant - the essence of DevOps in a tool
Vagrant - the essence of DevOps in a toolPaul Stack
 
Code in the cloud with Eclipse Che and Docker
Code in the cloud with Eclipse Che and DockerCode in the cloud with Eclipse Che and Docker
Code in the cloud with Eclipse Che and DockerFlorent BENOIT
 

La actualidad más candente (20)

Django Deployment
Django DeploymentDjango Deployment
Django Deployment
 
React native on windows
React native on windowsReact native on windows
React native on windows
 
Docker 101
Docker 101Docker 101
Docker 101
 
Android application penetration testing
Android application penetration testingAndroid application penetration testing
Android application penetration testing
 
Cypress report
Cypress reportCypress report
Cypress report
 
為 Node.js 專案打造專屬管家進行開發流程整合及健康檢測
為 Node.js 專案打造專屬管家進行開發流程整合及健康檢測為 Node.js 專案打造專屬管家進行開發流程整合及健康檢測
為 Node.js 專案打造專屬管家進行開發流程整合及健康檢測
 
Python Lecture 0
Python Lecture 0Python Lecture 0
Python Lecture 0
 
Test Driven Development with OSGi - Balázs Zsoldos
Test Driven Development with OSGi - Balázs ZsoldosTest Driven Development with OSGi - Balázs Zsoldos
Test Driven Development with OSGi - Balázs Zsoldos
 
TDD on OSGi, in practice.
TDD on OSGi, in practice.TDD on OSGi, in practice.
TDD on OSGi, in practice.
 
How to Install and Configure Jenkins on Centos 7
How to Install and Configure Jenkins on Centos 7How to Install and Configure Jenkins on Centos 7
How to Install and Configure Jenkins on Centos 7
 
Testing the Enterprise layers, with Arquillian
Testing the Enterprise layers, with ArquillianTesting the Enterprise layers, with Arquillian
Testing the Enterprise layers, with Arquillian
 
Howto Create & Run zf2skeleton Apps with PHP's Built-in Webserver
Howto Create & Run zf2skeleton Apps with PHP's Built-in WebserverHowto Create & Run zf2skeleton Apps with PHP's Built-in Webserver
Howto Create & Run zf2skeleton Apps with PHP's Built-in Webserver
 
Fastlane - Automation and Continuous Delivery for iOS Apps
Fastlane - Automation and Continuous Delivery for iOS AppsFastlane - Automation and Continuous Delivery for iOS Apps
Fastlane - Automation and Continuous Delivery for iOS Apps
 
Whatthestack using Tempest for testing your OpenStack deployment
Whatthestack using Tempest for testing your OpenStack deploymentWhatthestack using Tempest for testing your OpenStack deployment
Whatthestack using Tempest for testing your OpenStack deployment
 
Супер быстрая автоматизация тестирования на iOS
Супер быстрая автоматизация тестирования на iOSСупер быстрая автоматизация тестирования на iOS
Супер быстрая автоматизация тестирования на iOS
 
Using Composer with WordPress
Using Composer with WordPressUsing Composer with WordPress
Using Composer with WordPress
 
Vagrant - the essence of DevOps in a tool
Vagrant - the essence of DevOps in a toolVagrant - the essence of DevOps in a tool
Vagrant - the essence of DevOps in a tool
 
Flask
FlaskFlask
Flask
 
Fastlane
FastlaneFastlane
Fastlane
 
Code in the cloud with Eclipse Che and Docker
Code in the cloud with Eclipse Che and DockerCode in the cloud with Eclipse Che and Docker
Code in the cloud with Eclipse Che and Docker
 

Destacado

C#版人狼知能エージェントの作り方(MonoDevelop/Xamarin Studio編)
C#版人狼知能エージェントの作り方(MonoDevelop/Xamarin Studio編)C#版人狼知能エージェントの作り方(MonoDevelop/Xamarin Studio編)
C#版人狼知能エージェントの作り方(MonoDevelop/Xamarin Studio編)takots
 
.NET CoreとVS Codeで作る人狼知能
.NET CoreとVS Codeで作る人狼知能.NET CoreとVS Codeで作る人狼知能
.NET CoreとVS Codeで作る人狼知能takots
 
C#版人狼知能エージェントの作り方~Visual Studio編~(AIWolf.NET 1.0.6版)
C#版人狼知能エージェントの作り方~Visual Studio編~(AIWolf.NET 1.0.6版)C#版人狼知能エージェントの作り方~Visual Studio編~(AIWolf.NET 1.0.6版)
C#版人狼知能エージェントの作り方~Visual Studio編~(AIWolf.NET 1.0.6版)takots
 
Docker入門 - 基礎編 いまから始めるDocker管理
Docker入門 - 基礎編 いまから始めるDocker管理Docker入門 - 基礎編 いまから始めるDocker管理
Docker入門 - 基礎編 いまから始めるDocker管理Masahito Zembutsu
 
Slideshare fisiologia instintos sexo y sexualidad
Slideshare fisiologia instintos sexo y sexualidadSlideshare fisiologia instintos sexo y sexualidad
Slideshare fisiologia instintos sexo y sexualidadannapri66
 
A1. MEP 1 - Mod 1 - Tema1
A1. MEP 1 - Mod 1 - Tema1A1. MEP 1 - Mod 1 - Tema1
A1. MEP 1 - Mod 1 - Tema1Poliana Bellan
 
2017-1-Level-B-Bladerepair-English
2017-1-Level-B-Bladerepair-English2017-1-Level-B-Bladerepair-English
2017-1-Level-B-Bladerepair-EnglishLeif Thorup
 
Silabo evaluacion educativa pato tobar
Silabo evaluacion educativa pato tobarSilabo evaluacion educativa pato tobar
Silabo evaluacion educativa pato tobarverito velasquez
 
Curr brief secondary
Curr brief secondaryCurr brief secondary
Curr brief secondaryjeza daquiwag
 
MathematicallyModelingEpidemicsThroughtheUseoftheReed-FrostEquation
MathematicallyModelingEpidemicsThroughtheUseoftheReed-FrostEquationMathematicallyModelingEpidemicsThroughtheUseoftheReed-FrostEquation
MathematicallyModelingEpidemicsThroughtheUseoftheReed-FrostEquationAlexander Kaunzinger
 
FSB: TreeWalker - SECCON 2015 Online CTF
FSB: TreeWalker - SECCON 2015 Online CTFFSB: TreeWalker - SECCON 2015 Online CTF
FSB: TreeWalker - SECCON 2015 Online CTFYOKARO-MON
 

Destacado (17)

C#版人狼知能エージェントの作り方(MonoDevelop/Xamarin Studio編)
C#版人狼知能エージェントの作り方(MonoDevelop/Xamarin Studio編)C#版人狼知能エージェントの作り方(MonoDevelop/Xamarin Studio編)
C#版人狼知能エージェントの作り方(MonoDevelop/Xamarin Studio編)
 
.NET CoreとVS Codeで作る人狼知能
.NET CoreとVS Codeで作る人狼知能.NET CoreとVS Codeで作る人狼知能
.NET CoreとVS Codeで作る人狼知能
 
C#版人狼知能エージェントの作り方~Visual Studio編~(AIWolf.NET 1.0.6版)
C#版人狼知能エージェントの作り方~Visual Studio編~(AIWolf.NET 1.0.6版)C#版人狼知能エージェントの作り方~Visual Studio編~(AIWolf.NET 1.0.6版)
C#版人狼知能エージェントの作り方~Visual Studio編~(AIWolf.NET 1.0.6版)
 
Docker入門 - 基礎編 いまから始めるDocker管理
Docker入門 - 基礎編 いまから始めるDocker管理Docker入門 - 基礎編 いまから始めるDocker管理
Docker入門 - 基礎編 いまから始めるDocker管理
 
Slideshare fisiologia instintos sexo y sexualidad
Slideshare fisiologia instintos sexo y sexualidadSlideshare fisiologia instintos sexo y sexualidad
Slideshare fisiologia instintos sexo y sexualidad
 
Mahuya_Chowdhury
Mahuya_ChowdhuryMahuya_Chowdhury
Mahuya_Chowdhury
 
Pruebas objetivas
Pruebas objetivasPruebas objetivas
Pruebas objetivas
 
Informe final 2016 pdf
Informe  final  2016 pdfInforme  final  2016 pdf
Informe final 2016 pdf
 
A1. MEP 1 - Mod 1 - Tema1
A1. MEP 1 - Mod 1 - Tema1A1. MEP 1 - Mod 1 - Tema1
A1. MEP 1 - Mod 1 - Tema1
 
2017-1-Level-B-Bladerepair-English
2017-1-Level-B-Bladerepair-English2017-1-Level-B-Bladerepair-English
2017-1-Level-B-Bladerepair-English
 
Silabo evaluacion educativa pato tobar
Silabo evaluacion educativa pato tobarSilabo evaluacion educativa pato tobar
Silabo evaluacion educativa pato tobar
 
Mision vision
Mision  visionMision  vision
Mision vision
 
Curr brief secondary
Curr brief secondaryCurr brief secondary
Curr brief secondary
 
APC_TopJOB
APC_TopJOBAPC_TopJOB
APC_TopJOB
 
MathematicallyModelingEpidemicsThroughtheUseoftheReed-FrostEquation
MathematicallyModelingEpidemicsThroughtheUseoftheReed-FrostEquationMathematicallyModelingEpidemicsThroughtheUseoftheReed-FrostEquation
MathematicallyModelingEpidemicsThroughtheUseoftheReed-FrostEquation
 
FSB: TreeWalker - SECCON 2015 Online CTF
FSB: TreeWalker - SECCON 2015 Online CTFFSB: TreeWalker - SECCON 2015 Online CTF
FSB: TreeWalker - SECCON 2015 Online CTF
 
Brazil
BrazilBrazil
Brazil
 

Similar a How to make an artificial intelligence based werewolf agent in C# using Visual Studio

VyAPI - A Modern Cloud Based Vulnerable Android App (Presented at BSides Delh...
VyAPI - A Modern Cloud Based Vulnerable Android App (Presented at BSides Delh...VyAPI - A Modern Cloud Based Vulnerable Android App (Presented at BSides Delh...
VyAPI - A Modern Cloud Based Vulnerable Android App (Presented at BSides Delh...Riddhi Shree
 
AIWolf programming guide
AIWolf programming guideAIWolf programming guide
AIWolf programming guideHirotaka Osawa
 
Generating an Android App with Acceleo (Eclipse Summit Europe 2010)
Generating an Android App with Acceleo (Eclipse Summit Europe 2010)Generating an Android App with Acceleo (Eclipse Summit Europe 2010)
Generating an Android App with Acceleo (Eclipse Summit Europe 2010)mikaelbarbero
 
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsAmazon Web Services
 
Deploying a Shadow Threat Intel Capability at Thotcon on May 6, 2016
Deploying a Shadow Threat Intel Capability at Thotcon on May 6, 2016Deploying a Shadow Threat Intel Capability at Thotcon on May 6, 2016
Deploying a Shadow Threat Intel Capability at Thotcon on May 6, 2016grecsl
 
Androidreadme
AndroidreadmeAndroidreadme
Androidreadmeiderdik
 
How tomakea gameinunity3d
How tomakea gameinunity3dHow tomakea gameinunity3d
How tomakea gameinunity3dDao Tung
 
Getting started with Verold and Three.js
Getting started with Verold and Three.jsGetting started with Verold and Three.js
Getting started with Verold and Three.jsVerold
 
Flutter Festival - GDSC IIIT Sonepat
Flutter Festival - GDSC IIIT Sonepat Flutter Festival - GDSC IIIT Sonepat
Flutter Festival - GDSC IIIT Sonepat GoogleDSCIIITSonepat
 
JavaFX - Sketch Board to Production
JavaFX - Sketch Board to ProductionJavaFX - Sketch Board to Production
JavaFX - Sketch Board to ProductionYoav Aharoni
 
Reversing & Malware Analysis Training Part 9 - Advanced Malware Analysis
Reversing & Malware Analysis Training Part 9 -  Advanced Malware AnalysisReversing & Malware Analysis Training Part 9 -  Advanced Malware Analysis
Reversing & Malware Analysis Training Part 9 - Advanced Malware Analysissecurityxploded
 
Экспресс-анализ вредоносов / Crowdsourced Malware Triage
Экспресс-анализ вредоносов / Crowdsourced Malware TriageЭкспресс-анализ вредоносов / Crowdsourced Malware Triage
Экспресс-анализ вредоносов / Crowdsourced Malware TriagePositive Hack Days
 
Setting up your virtual infrastructure using fi lab cloud webminar
Setting up your virtual infrastructure using fi lab cloud webminarSetting up your virtual infrastructure using fi lab cloud webminar
Setting up your virtual infrastructure using fi lab cloud webminarHenar Muñoz Frutos
 
React Native Android. It's easy.
React Native Android. It's easy.React Native Android. It's easy.
React Native Android. It's easy.Cameron Moss
 
Android Automation Using Robotium
Android Automation Using RobotiumAndroid Automation Using Robotium
Android Automation Using RobotiumMindfire Solutions
 

Similar a How to make an artificial intelligence based werewolf agent in C# using Visual Studio (20)

VyAPI - A Modern Cloud Based Vulnerable Android App (Presented at BSides Delh...
VyAPI - A Modern Cloud Based Vulnerable Android App (Presented at BSides Delh...VyAPI - A Modern Cloud Based Vulnerable Android App (Presented at BSides Delh...
VyAPI - A Modern Cloud Based Vulnerable Android App (Presented at BSides Delh...
 
AIWolf programming guide
AIWolf programming guideAIWolf programming guide
AIWolf programming guide
 
tut0000021-hevery
tut0000021-heverytut0000021-hevery
tut0000021-hevery
 
tut0000021-hevery
tut0000021-heverytut0000021-hevery
tut0000021-hevery
 
Generating an Android App with Acceleo (Eclipse Summit Europe 2010)
Generating an Android App with Acceleo (Eclipse Summit Europe 2010)Generating an Android App with Acceleo (Eclipse Summit Europe 2010)
Generating an Android App with Acceleo (Eclipse Summit Europe 2010)
 
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
 
Pwnstaller
PwnstallerPwnstaller
Pwnstaller
 
Deploying a Shadow Threat Intel Capability at Thotcon on May 6, 2016
Deploying a Shadow Threat Intel Capability at Thotcon on May 6, 2016Deploying a Shadow Threat Intel Capability at Thotcon on May 6, 2016
Deploying a Shadow Threat Intel Capability at Thotcon on May 6, 2016
 
Androidreadme
AndroidreadmeAndroidreadme
Androidreadme
 
How tomakea gameinunity3d
How tomakea gameinunity3dHow tomakea gameinunity3d
How tomakea gameinunity3d
 
Getting started with Verold and Three.js
Getting started with Verold and Three.jsGetting started with Verold and Three.js
Getting started with Verold and Three.js
 
Flutter Festival - GDSC IIIT Sonepat
Flutter Festival - GDSC IIIT Sonepat Flutter Festival - GDSC IIIT Sonepat
Flutter Festival - GDSC IIIT Sonepat
 
JavaFX - Sketch Board to Production
JavaFX - Sketch Board to ProductionJavaFX - Sketch Board to Production
JavaFX - Sketch Board to Production
 
Reversing & Malware Analysis Training Part 9 - Advanced Malware Analysis
Reversing & Malware Analysis Training Part 9 -  Advanced Malware AnalysisReversing & Malware Analysis Training Part 9 -  Advanced Malware Analysis
Reversing & Malware Analysis Training Part 9 - Advanced Malware Analysis
 
Экспресс-анализ вредоносов / Crowdsourced Malware Triage
Экспресс-анализ вредоносов / Crowdsourced Malware TriageЭкспресс-анализ вредоносов / Crowdsourced Malware Triage
Экспресс-анализ вредоносов / Crowdsourced Malware Triage
 
Setting up your virtual infrastructure using fi lab cloud webminar
Setting up your virtual infrastructure using fi lab cloud webminarSetting up your virtual infrastructure using fi lab cloud webminar
Setting up your virtual infrastructure using fi lab cloud webminar
 
React Native Android. It's easy.
React Native Android. It's easy.React Native Android. It's easy.
React Native Android. It's easy.
 
Android Automation Using Robotium
Android Automation Using RobotiumAndroid Automation Using Robotium
Android Automation Using Robotium
 
Appium- part 1
Appium- part 1Appium- part 1
Appium- part 1
 
Appium_set_up
Appium_set_upAppium_set_up
Appium_set_up
 

Último

Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 

Último (20)

Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 

How to make an artificial intelligence based werewolf agent in C# using Visual Studio

  • 1. How to make an artificial intelligence based werewolf agent in C# using Visual Studio Takashi OTSUKI Academic Assembly, Yamagata University JAPAN
  • 2. Preparations 1. Install Visual Studio. We use VS Community 2015 here. 2. Download and unzip AIWolf platform. http://www.aiwolf.org/aiwp/wp-content/uploads/2014/03/aiwolf-ver0.3.2.zip 3. Download and unzip AIWolf.NET. https://github.com/AIWolfSharp/AIWolf_NET/releases/download/v0.1.0/AIWolf_NET-0.1.0.zip 4. Obtain Json.NET and put Newtonsoft.Json.dll into the same folder of AIWolf.NET.
  • 3. Creating new project #1 File>New>Project
  • 4. Creating new project #2 1. Select “Class Library”. 2. Enter the name of this project. (We name “MyFirstAgent” here.)
  • 5. Creating new project #3 Source code of Class1 is automatically created.
  • 6. Adding references Add references to AIWolfLibCommon.dll, AIWolfLibClient.dll of AIWolf.NET.
  • 7. Making my own RoleAssignPlayer #1 Rename Class1.cs MyRoleAssignPlayer.cs.
  • 8. Making my own RoleAssignPlayer #2 Designate AbstractRoleAssignPlayer as the base class of MyRoleAssignPlayer. Click the light bulb and select the quick action of adding “using” directive.
  • 9. Making my own RoleAssignPlayer #3 Click the light bulb and select “Implement Abstract Class”.
  • 10. Making my own RoleAssignPlayer #4 1. Modify “Name” property so that it will return string of “MyRoleAssignPlayer”. 2. Remove unnecessary usings. 3. We get the AIWolf agent which uses different sample player classes for different roles.
  • 11. Play AIWolf game using my own player #1 Project>MyFirstAgent Properties>Debug 1. Check “Start external program” and select ClientStarter.exe of AIWolf.NET. 2. In order to connect port 10000 of localhost and request the game server to assign role of seer to this player, enter the command line arguments as follows. -h localhost –p 10000 –c MyFirstAgent.MyRoleAssignPlayer MyFirstAgent.dll SEER
  • 12. Play AIWolf game using my own player #2 Click “Start” Connection Completed Start Game
  • 13. Implementation of seer player #1 Project>Add Class Add MySeerPlayer.cs.
  • 14. Implementation of seer player #2 1. Designate AbstractSeer as the base class of MySeerPlayer. 2. Click the light bulb and select the quick action of adding “using” directive. 3. Click the light bulb and select “Implement Abstract Class”.
  • 15. Implementation of seer player #3 Implement the method Divine() so that the seer will divine the player chosen at random from alive others.
  • 16. Implementation of seer player #4 Implement the method Vote() so that the seer will 1. Vote the werewolf player chosen at random from the known werewolves, 2. Vote the player chosen at random from the players of uncertain team if any werewolves are known.
  • 17. Implementation of seer player #5 Implement the method Talk() so that the seer will 1. Confess his role if he has found a werewolf by divination, 2. Report the result of divination after the confession.
  • 18. Implementation of seer player #6 1. Nothing is implemented for the method Finish() for now. 2. Implement the constructor of MyRoleAssignPlayer class so that MySeerPlayer class is used in acting as seer.
  • 19. Entry for AIWolf competition 1. Build on release configuration. 2. The file to be submitted is MyFirstAgent.dll in binRelease folder. 3. Before the submission, copy MyFirstAgent.dll into the folder of AIWolf.NET and check that it works on command prompt as follows. ClientStarter.exe -h localhost –p 10000 –c MyFirstAgent.MyRoleAssignPlayer MyFirstAgent.dll SEER