League of Legends: Dynamic Team Builder

Size: px
Start display at page:

Download "League of Legends: Dynamic Team Builder"

Transcription

1 League of Legends: Dynamic Team Builder Blake Reed Overview The project that I will be working on is a League of Legends companion application which provides a user data about different aspects of the game. I hope to create a tool which will allow a user easy access to information regarding team building within a ranked League of Legends match. I will be programming in 2 week sprint cycles to fit our reports nicely and have tangible changes that are made between each report. My main goals for a finished product would be defined by how many features I can implement while keeping a simple and easy to use interface, how well the user interface can parallel RIOT s client design, and how relevant the extra data analysis tools that I will provide stands up to other useful functionalities that other applications came up with. I. INTRODUCTION League of Legends is a game that is constantly evolving and in most matches, players are matched on a team with other random players that they have never played with before. This can pose a problem as League of Legends is an extremely team-based game in which one player underperforming in a 5 versus 5 match can lead to a loss. So when looking at the rapidly changing meta of the game, the randomness of the teams you are placed on, and the limited time given during Champion Select, team building to improve player synergy can be difficult. There are many companion applications which provide analytics for League of Legends games such as Op.gg and Mobalytics. These provide data analysis on champions and players in order to ensure that players stay on top of their game; however, they provide data on players after they have entered a game. When looking at creating a dynamic team building application, there were several functionalities that I considered the keys to success. 1. A system to quickly retrieve summoner names from the client and associate them with their roles. 2. Show a player in-depth statistics collected from previous games for each champion 3. Machine learning algorithm trained with collected match data and results in order to more accurately predict how a champion fits a certain matchup My application allows for quick team building while players are in champion select in order to help teams build more efficient team compositions and improve their chances of winning. This is accomplished by allowing players to scan their client and immediately retrieve data corresponding to their teammates and the strongest champions picks in the game s current state. This project is connected to my project in my Big Data Management and Analytics course. By using RIOT s API to collect game data, I have created an application similar to OP.gg and other useful companion applications used by the player base. I hope my solution can become an easy to use system for analyzing different patterns in champions and recommending players builds and other tips. I had a big focus on creating an application with a nice, clean design that allows a player minimal clicks to view data relevant to a champion that they pick. A unique feature that I have added which can put my application a step above other apps that do something similar is a quick team analysis system that lets you see various stats on your teammates before entering a game. The idea for this type of application came about after many professional League of Legends coaches began facing scrutiny for champion selection during the recent 2017 World Championships. Games can potentially be won or lost during champion select so ensuring you can draft a team composition with the best chance of winning is crucial. I also chose to pursue this because I enjoy playing League of Legends and the class projects seemed to mesh well allowing me to go more in depth in the data mining while providing relevant data to a user. Some terminology which will be used throughout this report with regards to League of Legends should be specified as well. A Summoner is a player of the game. Each user is a summoner and their Summoner Name is their unique username. A Champion is a character that you can select within a game of League of Legends. There are currently 138 champions which means that Champion Select for a standard five versus five match has over one sextillion possible champion combinations. The first few iterations of my project were based around creating the infrastructure used to support my application and researching methods of analyzing game data. At the beginning of the iterations, I planned on deciding on which type of database would fit my dataset well, setting up a Raspberry Pi with a 5TB external hard drive to work as my server, and become familiar with how I will be gathering game data. My third iteration concluded my big data collection and management and solidified my final project idea. My fourth iteration was to finish my activity which scans the League of Legends client in order to retrieve all summoner names from a team. It also included the initial development of a deep learning algorithm which allows a score to be assigned to available

2 2 champion picks. II. RELATED WORK There are other applications that seek to provide data correlations to users that allow the user more information when playing a champion in game. Some focus on player statistics allowing you to check a player s win rate, games played, etc. Some focus on champions and their statistics to recommend builds and if they re in the Meta. I hope to provide unique information in an easier fashion and allow a user to view it all in an easy to use mobile application. III. APPLICATION DESIGN I developed this application using the Agile Software Development methodology with two week sprint cycles. I have experience programming with MVC as my design methodology and will most likely develop using it for this project as well. I manage a NoSQL database using MongoDB hosted on a cloud server which contains all of the relevant data that my app will need to process and correctly display all relevant data. The processing of this data was the biggest part of the application as the most important part of the applications is to be able to provide clear analysis on champion pick rankings during a certain stage of champion select. The view also needed to have a certain aesthetic feel that was clean and enticing to the League of Legends player base. According to their policies, Riot does not allow applications to parallel the client s design; however, developers are allowed access to different resources such as champion art and other valuable images. From this, I was able to import different game art such as the icons for the different champions. My application contains three key activities. The first being an activity which uses Google s Mobile Vision API in order to scan the League of Legends client during champion select and retrieve all of a user s teammates and their roles. This can then query the database for each user and return relevant data to the next activity. The next activity is an interface similar to the champion selection screen allowing the user to select which champions have been picked so far. Each user has a layout containing a circular picture which represents characters that have been locked in and the rest of the area providing an onclick functionality that will go to data about that specific player. This transitions to the final activity which is the presentation of the information returned by the big data analysis. This provides the user with a ranking system which represents which champions provide the highest chance for a win during the current pick and the reasoning behind these ranks. IV. CHAMPION SCORING SYSTEM The big data analytics portion of my project consists of a machine learning algorithm which tries to accurately predict the champion for a player to pick with the maximum chance of winning. For my data analytics, I use a Python script to train a linear regression machine learning algorithm. I extract data from matches into a useable form into a CSV file. This is then transferred into a dataframe by Pandas which is a Python library. This is then used by Scikit-learn in order to create a linear regression prediction for champion performance. In order to measure champion performance, I took into account many aspects of a game. First, I looked at Champion overall win rate and performance. By collecting the overall KDA, overall win rate, and total games played, I am able to accurately predict how strong a pick is in the current state of the game. I then look at the individual performance on the champion for a potential pick. By collecting the individual KDA, win rate, and games played compared to the average, I am able to get a better metric for the player s average performance on that champion. Next, I looked at the champion s strength with the champions that are on the player s team. By collecting the same statistics from games paired with each of the other four members of the team, I am able to accurately predict how those champions will perform when paired together on the same team. Lastly I looked at the strength of the champion versus the picks that the enemy has made. Similar to the strength with the current teammates, this looks at the champion s performance in games against the enemy picks. Some sample data used to train my machine learning algorithm can be seen in Figure 1 at the end of my report. This machine learning algorithm is trained by my current dataset which consists of a few hundred thousand matches and then is able to accurately predict a champion s percentage of winning in a certain matchup. This should determine which factors are most important when looking at a potential champion selection and weigh each parameter it receives in order to give an accurate scoring of a champion My approach to Champion Select will also follow similarly to chess artificial intelligence which takes into account the opponent s next move. By utilizing a minimax algorithm with alpha-beta pruning, I can predict possible counter picks and build a team which has less counter possibilities. V. RESULTS During my first iteration, I was able to complete all three tasks that I created, primarily focusing on set-up and research. I ve decided on a NoSQL database, most likely MongoDB, as it will be much more scalable and will be able to flexibly handle whatever big data sets I will be storing. Now onto the data that I was looking into. I had some ideas that were not possible with Riot s API. They ve strictly enforced that scraping game data outside of their API is forbidden which prevents me from getting any data on the attitude of players. Riot s API does not provide any information about players that could cause you to view them in a negative way other than their game scores; however, the API will allow me to achieve several other functionalities that I had hoped to create which are outlined in my future work section. I also finished my setup of my Raspberry Pi. I am able to remote into it when at school or elsewhere and I went ahead and installed MongoDb on the machine. During my second iteration, I finished the setup for my data collection. I now have a system which stores game logs but I currently have no methods for analysis of this data. I have narrowed in on a specific type of companion application that I wish to make and I should now have a proper big data management system to handle the data that I will be using.

3 3 During my third iteration, I was able to finish collecting a sizeable data set and began planning what I want to provide the user as an end-application. I have decided to approach the application as a team building tool which dynamically provides the user with the best potential champions based on the matchup of teammates and enemy champions selected. During my fourth iteration, I was able to finish the development of my home activity which allows a user to scan their client to collect the summoner names from the team and transition to the champion selection screen. The names of the summoners will then need to be passed to the machine learning algorithm that I am currently working on. This will allow for the scoring of champions based on player performance in order to suggest the best possible champion selection. This feature uses Google Mobile Vision s API to interpret images and search for certain bits of text. I initially began implementation by following Google s text recognizer tutorials. Their implementation of frame by frame analysis of text wasn t a good fit for my application as text is constantly being read and portions of words were cut off. When looking for text blocks containing the roles from a champion select screen such as SUPPORT either the role or the player s summoner name weren t decoded in full. Instead I opted to allow the user to take a picture of their client in order to decode the summoner names and roles. This was much more effective at receiving full summoner names and roles. The only drawback is that the picture s layout can affect whether the text can be recognized or not. Testing the application on my own android device, I have to take landscape pictures rather than portrait but other devices behave differently. This was demonstrated during my presentation as the direction that the picture was processed was different for the presentation android s default camera application. When taking a photo in portrait mode, it was able to effectively retrieve the summoners in their correct roles. Pictures of this feature can be seen in Figures 2 and 3. During my fifth iteration, I was able to finish the champion select activity and begin to work on displaying all of the potential champion selections. The champion select feature mirrors League of Legends Champion Selection screen and allows for an easy to use simulation of picks prior to actually having to lock in your champion that you will play in game. Each of the 5 players on a user s team as well as the 5 enemy players are given a slot in which a character can be selected. Any errors in player names made by the text recognizer can be quickly and easily fixed before creating a team composition. This can be seen in Figure 3. During my sixth iteration, I was able to finish the pick champion activity. This was intended to show a list of all of the possible champion picks and allow a user to select one based on which imagebutton was pressed. I created a layout for an individual item to be inserted into the list of potential champion picks. I used a listviewadapter in order to populate my list view. I then added a way to filter the champions based on a search bar. This activity can be seen in Figure 4. During my seventh iteration, I was able to connect data to my machine learning algorithm. I also provided more in-depth statistics on a champion if you click on anything besides the champion s portrait. This ViewStats activity can be seen in Figure 5 and still needs some adjustments to make the UI look better. Once both teams have selected their 5 champions, the data is then passed to the machine learning algorithm and the effective win percentage is calculated. This is then displayed as shown in Figure 6. During this iteration I also performed blackbox testing by having other people that I know play League of Legends try out my application. After receiving feedback from five of the seven testers, I have a better understanding of how a consumer might view my product and how I should shape the UI moving forward. The biggest concern was that there isn t a score system implemented to show the best pick at the time, rather statistics are shown when looking at a champion. Another concern was that the application has too much whitespace on larger android devices. Taking these into consideration as I move forward will allow me to transform my application into a more userfriendly system. VI. FUTURE WORK Moving forward, I still have a lot of UI work to perform. The champion statistics aren t displayed in an orderly form and my champion select menu contains too much white space. I might also want to implement some kind of template or just change the color scheme to make my application look more appealing. I also need to determine how to create my score system. I don t believe that it is feasible to run my linear regression algorithm on each potential champion pick in order to produce a score as a user is going to select their pick. This application is very time-sensitive so keeping the data analysis under one second in order to allow the user to maintain their flow of thought is essential. Most operations run from a localhost setting perform in under 0.1 seconds which seems instant to a user. I need to work to achieve this same speed when having latency to worry about. My data was currently being extracted from my MongoDB database directly which is a big issue if the application were to be released today. I would need a better hosting system and a web API that the mobile application could hit to retrieve data properly. VII. DISCUSSION My main ideas for tools that would be useful to players are pretty complex in terms of implementation. My favorite idea that I will focus heavily on is a way to view relevant data about your team while in a pregame lobby. This will help players make decisions on roles and champions before a game starts in order to help team synergy. Many applications will display game data about your team when in a live game. The key here being that it doesn t help as much after champion select and your team is already set. I hope to accomplish this by using an image text reading API in order to allow a user to take a picture of their pregame lobby and display team stats based on their assigned roles. My second idea is a skin tracker. The idea is it will show players in depth pictures/videos on each skin that can be purchased for a champion and track/predict when it will be on sale. Riot generally has a set rotation of which skins will be on sale for a week and I think that a system where you can favorite skins and be notified when they go on sale would benefit players.

4 4 I have set an initial scope of my project to be the completion of a Teammate Tracker which can display relevant data about a player s teammates while in a pregame lobby. This is my favorite idea for a companion app as I feel it is the most needed of my ideas. This tool seems even more prevalent now that a new season of League of Legends has started. With new seasons, many new features such as items, runes, changes to Champions, etc. are made which means there is a lot of experimentation as to which champions are currently the strongest. Given a tool which provides such deep analysis on match history such as this, players are much better off going into games when they can determine which Champions are powerful at the moment. Figure 1: Champion ID Figure 2: Overall KDA Overall Win Rate Total Individual Games KDA Played Individual Win Rate Individual Strength Strength With Versus Team Team Games Played FALSE FALSE FALSE FALSE FALSE TRUE TRUE TRUE TRUE Win

5 5 Figure 4: Figure 3:

6 6 Figure 6: Figure 5:

Gridiron-Gurus Final Report

Gridiron-Gurus Final Report Gridiron-Gurus Final Report Kyle Tanemura, Ryan McKinney, Erica Dorn, Michael Li Senior Project Dr. Alex Dekhtyar June, 2017 Contents 1 Introduction 1 2 Player Performance Prediction 1 2.1 Components of

More information

Matthew Fox CS229 Final Project Report Beating Daily Fantasy Football. Introduction

Matthew Fox CS229 Final Project Report Beating Daily Fantasy Football. Introduction Matthew Fox CS229 Final Project Report Beating Daily Fantasy Football Introduction In this project, I ve applied machine learning concepts that we ve covered in lecture to create a profitable strategy

More information

Timekeeper/Statistical tool for Basketball Sponsor: Prof. Wayne Dyksen & MSU Basketball Team Spring User Guide

Timekeeper/Statistical tool for Basketball Sponsor: Prof. Wayne Dyksen & MSU Basketball Team Spring User Guide Timekeeper/Statistical tool for Basketball Sponsor: Prof. Wayne Dyksen & MSU Basketball Team Spring 2004 User Guide Team 2 Edward Bangs Bryan Berry Chris Damour Kim Monteith Jonathan Szostak 1 Table of

More information

Journey through Game Design

Journey through Game Design Simulation Games in Education Spring 2010 Introduction At the very beginning of semester we were required to choose a final project to work on. I found this a bit odd and had the slightest idea what to

More information

Seaman Risk List. Seaman Risk Mitigation. Miles Von Schriltz. Risk # 2: We may not be able to get the game to recognize voice commands accurately.

Seaman Risk List. Seaman Risk Mitigation. Miles Von Schriltz. Risk # 2: We may not be able to get the game to recognize voice commands accurately. Seaman Risk List Risk # 1: Taking care of Seaman may not be as fun as we think. Risk # 2: We may not be able to get the game to recognize voice commands accurately. Risk # 3: We might not have enough time

More information

USER GUIDE JOINING PLAYSIGHT SMARTCOURT

USER GUIDE JOINING PLAYSIGHT SMARTCOURT USER GUIDE JOINING PLAYSIGHT ON THE KIOSK On the SmartCourt kiosk, simply click the JOIN button located in the top left corner and input your personal information (and a six character password of your

More information

Chess Style Ranking Proposal for Run5 Ladder Participants Version 3.2

Chess Style Ranking Proposal for Run5 Ladder Participants Version 3.2 Chess Style Ranking Proposal for Run5 Ladder Participants Version 3.2 This proposal is based upon a modification of US Chess Federation methods for calculating ratings of chess players. It is a probability

More information

COMP3211 Project. Artificial Intelligence for Tron game. Group 7. Chiu Ka Wa ( ) Chun Wai Wong ( ) Ku Chun Kit ( )

COMP3211 Project. Artificial Intelligence for Tron game. Group 7. Chiu Ka Wa ( ) Chun Wai Wong ( ) Ku Chun Kit ( ) COMP3211 Project Artificial Intelligence for Tron game Group 7 Chiu Ka Wa (20369737) Chun Wai Wong (20265022) Ku Chun Kit (20123470) Abstract Tron is an old and popular game based on a movie of the same

More information

CS 229 Final Project: Using Reinforcement Learning to Play Othello

CS 229 Final Project: Using Reinforcement Learning to Play Othello CS 229 Final Project: Using Reinforcement Learning to Play Othello Kevin Fry Frank Zheng Xianming Li ID: kfry ID: fzheng ID: xmli 16 December 2016 Abstract We built an AI that learned to play Othello.

More information

Assignment II: Set. Objective. Materials

Assignment II: Set. Objective. Materials Assignment II: Set Objective The goal of this assignment is to give you an opportunity to create your first app completely from scratch by yourself. It is similar enough to assignment 1 that you should

More information

Q: WHAT ARE THE RESIDENCY REQUIREMENTS FOR THOSE WHO PLAY TO COMPETE? A: This is event is restricted to UK and Ireland, therefore:

Q: WHAT ARE THE RESIDENCY REQUIREMENTS FOR THOSE WHO PLAY TO COMPETE? A: This is event is restricted to UK and Ireland, therefore: FAQ Q: HOW MANY GAMES WILL BE PLAYED TO DETERMINE THE WINNER OF EACH MATCH-UP? A: The tournament is a 5v5 Summoner s Rift sudden death (Best-of-one), and the finals will be Best-of-Three. Q: CAN I PARTICIPATE

More information

2048: An Autonomous Solver

2048: An Autonomous Solver 2048: An Autonomous Solver Final Project in Introduction to Artificial Intelligence ABSTRACT. Our goal in this project was to create an automatic solver for the wellknown game 2048 and to analyze how different

More information

Game Playing AI. Dr. Baldassano Yu s Elite Education

Game Playing AI. Dr. Baldassano Yu s Elite Education Game Playing AI Dr. Baldassano chrisb@princeton.edu Yu s Elite Education Last 2 weeks recap: Graphs Graphs represent pairwise relationships Directed/undirected, weighted/unweights Common algorithms: Shortest

More information

Mittwoch, 14. September The Pelita contest (a brief introduction)

Mittwoch, 14. September The Pelita contest (a brief introduction) The Pelita contest (a brief introduction) Overview Overview Each Team owns two Bots Bots for team 0 Bots for team 1 Overview Each Team owns two Bots Each Bot is controlled by a Player Bots for team 0 Player

More information

1 Document history Version Date Comments

1 Document history Version Date Comments V1.4 Contents 1 Document history... 2 2 What is TourneyKeeper?... 3 3 Creating your username and password... 4 4 Creating a tournament... 5 5 Editing a tournament... 8 6 Adding players to a tournament...

More information

Official Documentation

Official Documentation Official Documentation Doc Version: 1.0.0 Toolkit Version: 1.0.0 Contents Technical Breakdown... 3 Assets... 4 Setup... 5 Tutorial... 6 Creating a Card Sets... 7 Adding Cards to your Set... 10 Adding your

More information

Overall approach, including resources required. Session Goals

Overall approach, including resources required. Session Goals Participants Method Date Session Numbers Who (characteristics of your play-tester) Overall approach, including resources required Session Goals What to measure How to test How to Analyse 24/04/17 1 3 Lachlan

More information

Create Or Conquer Game Development Guide

Create Or Conquer Game Development Guide Create Or Conquer Game Development Guide Version 1.2.5 Thursday, January 18, 2007 Author: Rob rob@createorconquer.com Game Development Guide...1 Getting Started, Understand the World Building System...3

More information

3 things you should be doing with your survey results. Get the most out of your survey data.

3 things you should be doing with your survey results. Get the most out of your survey data. 3 things you should be doing with your survey results Get the most out of your survey data. Your survey is done. Now what? Congratulations you finished running your survey! You ve analyzed all your data,

More information

Set Up Your Domain Here

Set Up Your Domain Here Roofing Business BLUEPRINT WordPress Plugin Installation & Video Walkthrough Version 1.0 Set Up Your Domain Here VIDEO 1 Introduction & Hosting Signup / Setup https://s3.amazonaws.com/rbbtraining/vid1/index.html

More information

Game Playing for a Variant of Mancala Board Game (Pallanguzhi)

Game Playing for a Variant of Mancala Board Game (Pallanguzhi) Game Playing for a Variant of Mancala Board Game (Pallanguzhi) Varsha Sankar (SUNet ID: svarsha) 1. INTRODUCTION Game playing is a very interesting area in the field of Artificial Intelligence presently.

More information

For slightly more detailed instructions on how to play, visit:

For slightly more detailed instructions on how to play, visit: Introduction to Artificial Intelligence CS 151 Programming Assignment 2 Mancala!! The purpose of this assignment is to program some of the search algorithms and game playing strategies that we have learned

More information

Federico Forti, Erdi Izgi, Varalika Rathore, Francesco Forti

Federico Forti, Erdi Izgi, Varalika Rathore, Francesco Forti Basic Information Project Name Supervisor Kung-fu Plants Jakub Gemrot Annotation Kung-fu plants is a game where you can create your characters, train them and fight against the other chemical plants which

More information

Table of Contents. Creating Your First Project 4. Enhancing Your Slides 8. Adding Interactivity 12. Recording a Software Simulation 19

Table of Contents. Creating Your First Project 4. Enhancing Your Slides 8. Adding Interactivity 12. Recording a Software Simulation 19 Table of Contents Creating Your First Project 4 Enhancing Your Slides 8 Adding Interactivity 12 Recording a Software Simulation 19 Inserting a Quiz 24 Publishing Your Course 32 More Great Features to Learn

More information

The purpose of this document is to outline the structure and tools that come with FPS Control.

The purpose of this document is to outline the structure and tools that come with FPS Control. FPS Control beta 4.1 Reference Manual Purpose The purpose of this document is to outline the structure and tools that come with FPS Control. Required Software FPS Control Beta4 uses Unity 4. You can download

More information

Creating Projects for Practical Skills

Creating Projects for Practical Skills Welcome to the lesson. Practical Learning If you re self educating, meaning you're not in a formal program to learn whatever you're trying to learn, often what you want to learn is a practical skill. Maybe

More information

Obviously, this is after you start to get some traffic, but that is one of the steps, so I want to get that in there.

Obviously, this is after you start to get some traffic, but that is one of the steps, so I want to get that in there. Traffic Generation We ve built our authority site our squeeze page, and we may or may not have created a niche site, if you wanted to go that way. All of these traffic sources that I m going to get into

More information

CMSC 671 Project Report- Google AI Challenge: Planet Wars

CMSC 671 Project Report- Google AI Challenge: Planet Wars 1. Introduction Purpose The purpose of the project is to apply relevant AI techniques learned during the course with a view to develop an intelligent game playing bot for the game of Planet Wars. Planet

More information

DOWNLOAD OR READ : KATARINA GUIDE BUILD PDF EBOOK EPUB MOBI

DOWNLOAD OR READ : KATARINA GUIDE BUILD PDF EBOOK EPUB MOBI DOWNLOAD OR READ : KATARINA GUIDE BUILD PDF EBOOK EPUB MOBI Page 1 Page 2 katarina guide build katarina guide build pdf katarina guide build Katarina Guide for League of Legends. Champion guides for the

More information

An IoT Based Real-Time Environmental Monitoring System Using Arduino and Cloud Service

An IoT Based Real-Time Environmental Monitoring System Using Arduino and Cloud Service Engineering, Technology & Applied Science Research Vol. 8, No. 4, 2018, 3238-3242 3238 An IoT Based Real-Time Environmental Monitoring System Using Arduino and Cloud Service Saima Zafar Emerging Sciences,

More information

Artificial Intelligence

Artificial Intelligence Artificial Intelligence Jeff Clune Assistant Professor Evolving Artificial Intelligence Laboratory AI Challenge One 140 Challenge 1 grades 120 100 80 60 AI Challenge One Transform to graph Explore the

More information

For more information on how you can download and purchase Clickteam Fusion 2.5, check out the website

For more information on how you can download and purchase Clickteam Fusion 2.5, check out the website INTRODUCTION Clickteam Fusion 2.5 enables you to create multiple objects at any given time and allow Fusion to auto-link them as parent and child objects. This means once created, you can give a parent

More information

Learning to Play like an Othello Master CS 229 Project Report. Shir Aharon, Amanda Chang, Kent Koyanagi

Learning to Play like an Othello Master CS 229 Project Report. Shir Aharon, Amanda Chang, Kent Koyanagi Learning to Play like an Othello Master CS 229 Project Report December 13, 213 1 Abstract This project aims to train a machine to strategically play the game of Othello using machine learning. Prior to

More information

Mine Seeker. Software Requirements Document CMPT 276 Assignment 3 May Team I-M-Assignment by Dr. B. Fraser, Bill Nobody, Patty Noone.

Mine Seeker. Software Requirements Document CMPT 276 Assignment 3 May Team I-M-Assignment by Dr. B. Fraser, Bill Nobody, Patty Noone. Mine Seeker Software Requirements Document CMPT 276 Assignment 3 May 2018 Team I-M-Assignment by Dr. B. Fraser, Bill Nobody, Patty Noone bfraser@cs.sfu.ca, mnobody@sfu.ca, pnoone@sfu.ca, std# xxxx-xxxx

More information

Real Time Word to Picture Translation for Chinese Restaurant Menus

Real Time Word to Picture Translation for Chinese Restaurant Menus Real Time Word to Picture Translation for Chinese Restaurant Menus Michelle Jin, Ling Xiao Wang, Boyang Zhang Email: mzjin12, lx2wang, boyangz @stanford.edu EE268 Project Report, Spring 2014 Abstract--We

More information

COMP 3801 Final Project. Deducing Tier Lists for Fighting Games Mathieu Comeau

COMP 3801 Final Project. Deducing Tier Lists for Fighting Games Mathieu Comeau COMP 3801 Final Project Deducing Tier Lists for Fighting Games Mathieu Comeau Problem Statement Fighting game players usually group characters into different tiers to assess how good each character is

More information

Learning Dota 2 Team Compositions

Learning Dota 2 Team Compositions Learning Dota 2 Team Compositions Atish Agarwala atisha@stanford.edu Michael Pearce pearcemt@stanford.edu Abstract Dota 2 is a multiplayer online game in which two teams of five players control heroes

More information

Artificial Intelligence. Minimax and alpha-beta pruning

Artificial Intelligence. Minimax and alpha-beta pruning Artificial Intelligence Minimax and alpha-beta pruning In which we examine the problems that arise when we try to plan ahead to get the best result in a world that includes a hostile agent (other agent

More information

Clickteam Fusion 2.5 [Fastloops ForEach Loops] - Guide

Clickteam Fusion 2.5 [Fastloops ForEach Loops] - Guide INTRODUCTION Built into Fusion are two powerful routines. They are called Fastloops and ForEach loops. The two are different yet so similar. This will be an exhaustive guide on how you can learn how to

More information

Picks. Pick your inspiration. Addison Leong Joanne Jang Katherine Liu SunMi Lee Development Team manager Design User testing

Picks. Pick your inspiration. Addison Leong Joanne Jang Katherine Liu SunMi Lee Development Team manager Design User testing Picks Pick your inspiration Addison Leong Joanne Jang Katherine Liu SunMi Lee Development Team manager Design User testing Introduction Mission Statement / Problem and Solution Overview Picks is a mobile-based

More information

STARCRAFT 2 is a highly dynamic and non-linear game.

STARCRAFT 2 is a highly dynamic and non-linear game. JOURNAL OF COMPUTER SCIENCE AND AWESOMENESS 1 Early Prediction of Outcome of a Starcraft 2 Game Replay David Leblanc, Sushil Louis, Outline Paper Some interesting things to say here. Abstract The goal

More information

Moving Game X to YOUR Location In this tutorial, you will remix Game X, making changes so it can be played in a location near you.

Moving Game X to YOUR Location In this tutorial, you will remix Game X, making changes so it can be played in a location near you. Moving Game X to YOUR Location In this tutorial, you will remix Game X, making changes so it can be played in a location near you. About Game X Game X is about agency and civic engagement in the context

More information

Radhika.B 1, S.Nikila 2, Manjula.R 3 1 Final Year Student, SCOPE, VIT University, Vellore. IJRASET: All Rights are Reserved

Radhika.B 1, S.Nikila 2, Manjula.R 3 1 Final Year Student, SCOPE, VIT University, Vellore. IJRASET: All Rights are Reserved Requirement Engineering and Creative Process in Video Game Industry Radhika.B 1, S.Nikila 2, Manjula.R 3 1 Final Year Student, SCOPE, VIT University, Vellore. 2 Final Year Student, SCOPE, VIT University,

More information

How to create a survey with SurveyMonkey

How to create a survey with SurveyMonkey How to create a survey with SurveyMonkey Click the green +Create Survey button from the My Surveys page or from the top-right corner from wherever you are on the Survey Monkey website. You will see 3 options:

More information

Kodu Lesson 7 Game Design The game world Number of players The ultimate goal Game Rules and Objectives Point of View

Kodu Lesson 7 Game Design The game world Number of players The ultimate goal Game Rules and Objectives Point of View Kodu Lesson 7 Game Design If you want the games you create with Kodu Game Lab to really stand out from the crowd, the key is to give the players a great experience. One of the best compliments you as a

More information

Super HUD- User Guide

Super HUD- User Guide - User Guide From Poker Pro Labs Version - 2 1. Introduction to Super HUD... 1 2. Installing Super HUD... 2 3. Getting Started... 7 3.1 Don t have an Account?... 8 3.2 Super HUD Membership(s)... 9 4. Super

More information

PLAY & WIN!* SUPER RUGBY 2018 DOWNLOAD THE APP TODAY! See inside for more information. *Terms and conditions apply. Metalcraft Insulated Panel Systems

PLAY & WIN!* SUPER RUGBY 2018 DOWNLOAD THE APP TODAY! See inside for more information. *Terms and conditions apply. Metalcraft Insulated Panel Systems SUPER RUGBY 2018 PLAY & WIN!* DOWNLOAD THE APP TODAY! See inside for more information. *Terms and conditions apply Insulated Panel Systems Roofing * ACKNOWLEDGEMENT Pick&Go has been built by BKA Interactive

More information

Chief Architect X3 Training Series. Layers and Layer Sets

Chief Architect X3 Training Series. Layers and Layer Sets Chief Architect X3 Training Series Layers and Layer Sets Save time while creating more detailed plans Why do you need Layers? Setting up Layer Lets Adding items to layers Layers and Layout Pages Layer

More information

Overview... 3 Starting the Software... 3 Adding Your Profile... 3 Updating your Profile... 4

Overview... 3 Starting the Software... 3 Adding Your Profile... 3 Updating your Profile... 4 Page 1 Contents Overview... 3 Starting the Software... 3 Adding Your Profile... 3 Updating your Profile... 4 Tournament Overview... 5 Adding a Tournament... 5 Editing a Tournament... 6 Deleting a Tournament...

More information

INVENTION LOG FOR CODE KIT

INVENTION LOG FOR CODE KIT INVENTION LOG FOR CODE KIT BUILD GAMES. LEARN TO CODE. Name: What challenge are you working on? In a sentence or two, describe the challenge you will be working on. Explore new ideas and bring them to

More information

DESIGN A SHOOTING STYLE GAME IN FLASH 8

DESIGN A SHOOTING STYLE GAME IN FLASH 8 DESIGN A SHOOTING STYLE GAME IN FLASH 8 In this tutorial, you will learn how to make a basic arcade style shooting game in Flash 8. An example of the type of game you will create is the game Mozzie Blitz

More information

CS 380: ARTIFICIAL INTELLIGENCE MONTE CARLO SEARCH. Santiago Ontañón

CS 380: ARTIFICIAL INTELLIGENCE MONTE CARLO SEARCH. Santiago Ontañón CS 380: ARTIFICIAL INTELLIGENCE MONTE CARLO SEARCH Santiago Ontañón so367@drexel.edu Recall: Adversarial Search Idea: When there is only one agent in the world, we can solve problems using DFS, BFS, ID,

More information

SUPER AFFILIATE SNIPER

SUPER AFFILIATE SNIPER Obliterate the Opposition and Watch your Profits Explode as You become a... SUPER AFFILIATE SNIPER Attention Affiliates! Are you ready to take your affiliate marketing to the next level? Are you sick of

More information

Monte Carlo Tree Search. Simon M. Lucas

Monte Carlo Tree Search. Simon M. Lucas Monte Carlo Tree Search Simon M. Lucas Outline MCTS: The Excitement! A tutorial: how it works Important heuristics: RAVE / AMAF Applications to video games and real-time control The Excitement Game playing

More information

Introduction to Artificial Intelligence CS 151 Programming Assignment 2 Mancala!! Due (in dropbox) Tuesday, September 23, 9:34am

Introduction to Artificial Intelligence CS 151 Programming Assignment 2 Mancala!! Due (in dropbox) Tuesday, September 23, 9:34am Introduction to Artificial Intelligence CS 151 Programming Assignment 2 Mancala!! Due (in dropbox) Tuesday, September 23, 9:34am The purpose of this assignment is to program some of the search algorithms

More information

Opponent Modelling In World Of Warcraft

Opponent Modelling In World Of Warcraft Opponent Modelling In World Of Warcraft A.J.J. Valkenberg 19th June 2007 Abstract In tactical commercial games, knowledge of an opponent s location is advantageous when designing a tactic. This paper proposes

More information

Era of Mages User Manual

Era of Mages User Manual Era of Mages User Manual Early draft ($Date: 2002/01/07 15:32:42 $,$Revision: 1.1 $) Frank CrashChaos Raiser Era of Mages User Manual: Early draft ($Date: 2002/01/07 15:32:42 $,$Revision: 1.1 $) by Frank

More information

ELE 408 Final Project

ELE 408 Final Project ELE 408 Final Project Chess AI game played over the Network Domenic Ferri Brandon Lian Project Goal: The project goal is to create a single player versus AI chess game using socket programming to establish

More information

Facilitator s Guide to Getting Started

Facilitator s Guide to Getting Started Facilitator s Guide to Getting Started INTRODUCTION This Facilitator Guide will help you facilitate a game design workshop for people who are new to TaleBlazer. The curriculum as written will take at least

More information

CS 188: Artificial Intelligence Spring Announcements

CS 188: Artificial Intelligence Spring Announcements CS 188: Artificial Intelligence Spring 2011 Lecture 7: Minimax and Alpha-Beta Search 2/9/2011 Pieter Abbeel UC Berkeley Many slides adapted from Dan Klein 1 Announcements W1 out and due Monday 4:59pm P2

More information

INTANGIBLES Big-League Stories and Strategies for Winning the Mental Game in Baseball and in Life

INTANGIBLES Big-League Stories and Strategies for Winning the Mental Game in Baseball and in Life INTANGIBLES Big-League Stories and Strategies for Winning the Mental Game in Baseball and in Life These Character Development Inventory forms are meant as a supplement to your book purchase. It was important

More information

Programming an Othello AI Michael An (man4), Evan Liang (liange)

Programming an Othello AI Michael An (man4), Evan Liang (liange) Programming an Othello AI Michael An (man4), Evan Liang (liange) 1 Introduction Othello is a two player board game played on an 8 8 grid. Players take turns placing stones with their assigned color (black

More information

Dota2 is a very popular video game currently.

Dota2 is a very popular video game currently. Dota2 Outcome Prediction Zhengyao Li 1, Dingyue Cui 2 and Chen Li 3 1 ID: A53210709, Email: zhl380@eng.ucsd.edu 2 ID: A53211051, Email: dicui@eng.ucsd.edu 3 ID: A53218665, Email: lic055@eng.ucsd.edu March

More information

Bridgemate App. Information for bridge clubs and tournament directors. Version 2. Bridge Systems BV

Bridgemate App. Information for bridge clubs and tournament directors. Version 2. Bridge Systems BV Bridgemate App Information for bridge clubs and tournament directors Version 2 Bridge Systems BV Bridgemate App Information for bridge clubs and tournament directors Page 2 Contents Introduction... 3 Basic

More information

SDS PODCAST EPISODE 110 ALPHAGO ZERO

SDS PODCAST EPISODE 110 ALPHAGO ZERO SDS PODCAST EPISODE 110 ALPHAGO ZERO Show Notes: http://www.superdatascience.com/110 1 Kirill: This is episode number 110, AlphaGo Zero. Welcome back ladies and gentlemen to the SuperDataSceince podcast.

More information

COMP219: COMP219: Artificial Intelligence Artificial Intelligence Dr. Annabel Latham Lecture 12: Game Playing Overview Games and Search

COMP219: COMP219: Artificial Intelligence Artificial Intelligence Dr. Annabel Latham Lecture 12: Game Playing Overview Games and Search COMP19: Artificial Intelligence COMP19: Artificial Intelligence Dr. Annabel Latham Room.05 Ashton Building Department of Computer Science University of Liverpool Lecture 1: Game Playing 1 Overview Last

More information

Appendix 3 - Using A Spreadsheet for Data Analysis

Appendix 3 - Using A Spreadsheet for Data Analysis 105 Linear Regression - an Overview Appendix 3 - Using A Spreadsheet for Data Analysis Scientists often choose to seek linear relationships, because they are easiest to understand and to analyze. But,

More information

Scratch for Beginners Workbook

Scratch for Beginners Workbook for Beginners Workbook In this workshop you will be using a software called, a drag-anddrop style software you can use to build your own games. You can learn fundamental programming principles without

More information

Understanding The Relationships Of User selected Music In Video Games. A Senior Project. presented to

Understanding The Relationships Of User selected Music In Video Games. A Senior Project. presented to Understanding The Relationships Of User selected Music In Video Games A Senior Project presented to the Faculty of the Liberal Arts And Engineering Studies California Polytechnic State University, San

More information

Scrivener Manual Windows Version Part I

Scrivener Manual Windows Version Part I Scrivener Manual Windows Version 2013 Part I Getting Started Creating Your Scrivener Project In Scrivener, click File and then click New Project. You will have the option to choose from one of Scrivener

More information

Concept Connect. ECE1778: Final Report. Apper: Hyunmin Cheong. Programmers: GuanLong Li Sina Rasouli. Due Date: April 12 th 2013

Concept Connect. ECE1778: Final Report. Apper: Hyunmin Cheong. Programmers: GuanLong Li Sina Rasouli. Due Date: April 12 th 2013 Concept Connect ECE1778: Final Report Apper: Hyunmin Cheong Programmers: GuanLong Li Sina Rasouli Due Date: April 12 th 2013 Word count: Main Report (not including Figures/captions): 1984 Apper Context:

More information

PAGE 1 THE PERFECT WORDPRESS DEVELOPMENT WORKFLOW

PAGE 1 THE PERFECT WORDPRESS DEVELOPMENT WORKFLOW PAGE 1 THE PERFECT WORDPRESS DEVELOPMENT WORKFLOW There are a lot of steps in the development process, so to help you jump exactly where you need to be, here are the different topics we ll cover in this

More information

AI Approaches to Ultimate Tic-Tac-Toe

AI Approaches to Ultimate Tic-Tac-Toe AI Approaches to Ultimate Tic-Tac-Toe Eytan Lifshitz CS Department Hebrew University of Jerusalem, Israel David Tsurel CS Department Hebrew University of Jerusalem, Israel I. INTRODUCTION This report is

More information

What is a Z-Code Almanac?

What is a Z-Code Almanac? ZcodeSystem.com Presents Guide v.2.1. The Almanac Beta is updated in real time. All future updates are included in your membership What is a Z-Code Almanac? Today we are really excited to share our progress

More information

World of Warcraft: Quest Types Generalized Over Level Groups

World of Warcraft: Quest Types Generalized Over Level Groups 1 World of Warcraft: Quest Types Generalized Over Level Groups Max Evans, Brittany Cariou, Abby Bashore Writ 1133: World of Rhetoric Abstract Examining the ratios of quest types in the game World of Warcraft

More information

1 Introduction. 1.1 Game play. CSC 261 Lab 4: Adversarial Search Fall Assigned: Tuesday 24 September 2013

1 Introduction. 1.1 Game play. CSC 261 Lab 4: Adversarial Search Fall Assigned: Tuesday 24 September 2013 CSC 261 Lab 4: Adversarial Search Fall 2013 Assigned: Tuesday 24 September 2013 Due: Monday 30 September 2011, 11:59 p.m. Objectives: Understand adversarial search implementations Explore performance implications

More information

Paly Robotics Team #8 Scouting Documentation. Authors: Robbie Selwyn, Ailyn Tong, Alex Tarng

Paly Robotics Team #8 Scouting Documentation. Authors: Robbie Selwyn, Ailyn Tong, Alex Tarng Paly Robotics Team #8 Scouting Documentation Authors: Robbie Selwyn, Ailyn Tong, Alex Tarng Table of Contents I. Introduction and Structure II. III. IV. A. Motivation and Issues with Previous Season B.

More information

Overview. The Game Idea

Overview. The Game Idea Page 1 of 19 Overview Even though GameMaker:Studio is easy to use, getting the hang of it can be a bit difficult at first, especially if you have had no prior experience of programming. This tutorial is

More information

Kismet Interface Overview

Kismet Interface Overview The following tutorial will cover an in depth overview of the benefits, features, and functionality within Unreal s node based scripting editor, Kismet. This document will cover an interface overview;

More information

Apocalypse Defense. Project 3. Blair Gemmer. CSCI 576 Human-Computer Interaction, Spring 2012

Apocalypse Defense. Project 3. Blair Gemmer. CSCI 576 Human-Computer Interaction, Spring 2012 Apocalypse Defense Project 3 Blair Gemmer CSCI 576 Human-Computer Interaction, Spring 2012 Iterative Design Feedback 1. Some devices may not have hardware buttons. 2. If there are only three options for

More information

Automated Suicide: An Antichess Engine

Automated Suicide: An Antichess Engine Automated Suicide: An Antichess Engine Jim Andress and Prasanna Ramakrishnan 1 Introduction Antichess (also known as Suicide Chess or Loser s Chess) is a popular variant of chess where the objective of

More information

LOOKING AHEAD: UE4 VR Roadmap. Nick Whiting Technical Director VR / AR

LOOKING AHEAD: UE4 VR Roadmap. Nick Whiting Technical Director VR / AR LOOKING AHEAD: UE4 VR Roadmap Nick Whiting Technical Director VR / AR HEADLINE AND IMAGE LAYOUT RECENT DEVELOPMENTS RECENT DEVELOPMENTS At Epic, we drive our engine development by creating content. We

More information

Getting Started Guide

Getting Started Guide SOLIDWORKS Getting Started Guide SOLIDWORKS Electrical FIRST Robotics Edition Alexander Ouellet 1/2/2015 Table of Contents INTRODUCTION... 1 What is SOLIDWORKS Electrical?... Error! Bookmark not defined.

More information

Register and validate Step 1

Register and validate Step 1 User guide Soccer Content Getting the license key System Overview Getting started Connecting your Equipment Setting up your System Building up your variable set Ready for Capturing How to do a video analyze

More information

Assignment III: Graphical Set

Assignment III: Graphical Set Assignment III: Graphical Set Objective The goal of this assignment is to gain the experience of building your own custom view, including handling custom multitouch gestures. Start with your code in Assignment

More information

28 content upgrades that will boost your list

28 content upgrades that will boost your  list 28 content upgrades that will boost your email list Although your blog posts are generating traffic and the visitor numbers are growing, your email list isn t what you want it to be. Most people know the

More information

Adding in 3D Models and Animations

Adding in 3D Models and Animations Adding in 3D Models and Animations We ve got a fairly complete small game so far but it needs some models to make it look nice, this next set of tutorials will help improve this. They are all about importing

More information

The original image. Let s get started! The final light rays effect. Photoshop adds a new layer named Layer 1 above the Background layer.

The original image. Let s get started! The final light rays effect. Photoshop adds a new layer named Layer 1 above the Background layer. Add Rays Of Light To A Photo In this photo effects tutorial, we ll learn how to quickly and easily add rays of sunlight to an image with Photoshop! I ll be using Photoshop CS5 throughout this tutorial

More information

Sri Shakthi Institute of Engg and Technology, Coimbatore, TN, India.

Sri Shakthi Institute of Engg and Technology, Coimbatore, TN, India. Intelligent Forms Processing System Tharani B 1, Ramalakshmi. R 2, Pavithra. S 3, Reka. V. S 4, Sivaranjani. J 5 1 Assistant Professor, 2,3,4,5 UG Students, Dept. of ECE Sri Shakthi Institute of Engg and

More information

PRINTING & SHARING IMAGES IN LIGHTROOM

PRINTING & SHARING IMAGES IN LIGHTROOM Photzy PRINTING & SHARING IMAGES IN LIGHTROOM Quick Guide Written by Kent DuFault PRINTING & SHARING IMAGES IN LIGHTROOM // PHOTZY.COM 1 Photzy recently received this email from one of our followers: I

More information

Part II: Number Guessing Game Part 2. Lab Guessing Game version 2.0

Part II: Number Guessing Game Part 2. Lab Guessing Game version 2.0 Part II: Number Guessing Game Part 2 Lab Guessing Game version 2.0 The Number Guessing Game that just created had you utilize IF statements and random number generators. This week, you will expand upon

More information

TABLE OF CONTENTS. Logging into the Website Homepage and Tab Navigation Setting up Users on the Website Help and Support...

TABLE OF CONTENTS. Logging into the Website Homepage and Tab Navigation Setting up Users on the Website Help and Support... TABLE OF CONTENTS Logging into the Website...02 Homepage and Tab Navigation...03 Setting up Users on the Website...08 Help and Support...10 Uploding and Managing Photos...12 Using the Yearbook Ladder...16

More information

AECOsim Building Designer. Quick Start Guide. Chapter A08 Space Planning Bentley Systems, Incorporated

AECOsim Building Designer. Quick Start Guide. Chapter A08 Space Planning Bentley Systems, Incorporated AECOsim Building Designer Quick Start Guide Chapter A08 Space Planning 2012 Bentley Systems, Incorporated www.bentley.com/aecosim Table of Contents Space Planning...3 Sketches... 3 SpacePlanner... 4 Create

More information

CPS331 Lecture: Search in Games last revised 2/16/10

CPS331 Lecture: Search in Games last revised 2/16/10 CPS331 Lecture: Search in Games last revised 2/16/10 Objectives: 1. To introduce mini-max search 2. To introduce the use of static evaluation functions 3. To introduce alpha-beta pruning Materials: 1.

More information

Authority Site Build (Video 1)

Authority Site Build (Video 1) Authority Site Build (Video 1) Okay, let s get started. So what you re looking at here is WooDesigner.net and you can actually pull that up in your browser if you want to actually take a look at this website.

More information

Official Skirmish Tournament Rules

Official Skirmish Tournament Rules Official Skirmish Tournament Rules Version 2.0.1 / Updated 12.23.15 All changes and additions made to this document since the previous version are marked in blue. Tiebreakers, Page 2 Round Structure, Page

More information

Designing, developing and playing KEEP ME SAFE IN EUROPE 2

Designing, developing and playing KEEP ME SAFE IN EUROPE 2 Designing, developing and playing KEEP ME SAFE IN EUROPE 2 Concept What is this game about? In this game player is dropped inside her / his current situation, in a town where she can move about, go to

More information

The game of Reversi was invented around 1880 by two. Englishmen, Lewis Waterman and John W. Mollett. It later became

The game of Reversi was invented around 1880 by two. Englishmen, Lewis Waterman and John W. Mollett. It later became Reversi Meng Tran tranm@seas.upenn.edu Faculty Advisor: Dr. Barry Silverman Abstract: The game of Reversi was invented around 1880 by two Englishmen, Lewis Waterman and John W. Mollett. It later became

More information

QUICK-START FOR UNIVERSAL VLS 4.6 LASER! FRESH 21 SEPTEMBER 2017

QUICK-START FOR UNIVERSAL VLS 4.6 LASER! FRESH 21 SEPTEMBER 2017 QUICK-START FOR UNIVERSAL VLS 4.6 LASER! FRESH 21 SEPTEMBER 2017 The laser is quite safe to use, but it is powerful; using it requires your full caution, attention and respect. Some rules of the road:

More information

CS151 - Assignment 2 Mancala Due: Tuesday March 5 at the beginning of class

CS151 - Assignment 2 Mancala Due: Tuesday March 5 at the beginning of class CS151 - Assignment 2 Mancala Due: Tuesday March 5 at the beginning of class http://www.clubpenguinsaraapril.com/2009/07/mancala-game-in-club-penguin.html The purpose of this assignment is to program some

More information