SlideShare a Scribd company logo
1 of 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

More Related Content

What's hot

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
 

What's hot (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
 

Viewers also liked

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
 

Viewers also liked (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 to 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 to 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
 

Recently uploaded

SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfYashikaSharma391629
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 

Recently uploaded (20)

SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 

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