DUE: WEDNESDAY, FEBRUARY 29 PRESENTED BY: JAMES AHLUM CSE 348 AI Game Programming Project 2: Pathfinding in Games.

Slides:



Advertisements
Similar presentations
February 2006Colby College ITS Introduction to Outlook 2007.
Advertisements

Professional Toolkit V2.0 C:\Presentations - SmartCafe_Prof_V2.0 - bsc page 1 Professional Toolkit 2.0.
Installing geant4 v9.5 using Windows Daniel Brandt, 06 April 2012 Installing Geant4 v9.5 for Windows A step-by-step guide for Windows XP/Vista/7 using.
Problem Solving and Search Andrea Danyluk September 9, 2013.
Python Magic Select a Lesson: Why Learn to Code? Basic Python Syntax
1 Installing Cantera 1.6 for Windows S. Browne and J.E. Shepherd Caltech January 2007.
Git/Unix Lab March Version Control ●Keep track of changes to a project ●Serves as a backup ●Revert to previous version ●Work on the same files concurrently.
COSC 120 Computer Programming
1 Installing Cantera 1.7 for Windows S. Browne and J. E. Shepherd Caltech Revised March 24, 2007.
Using Search in Problem Solving
Lecture 2 – Searching. Lecture outline Last week Introduced AI and the module Brief recap of data structures This week Introduction to searching methods.
Update the PATH variable Trying to run the command: “javac Ex1.java” you’ve may encountered the error: “javac is not recognized as internal or external.
Microsoft Excel 2003 Illustrated Complete Excel and Advanced Worksheet Management Customizing.
Installing geant4 v9.5 using Windows Daniel Brandt, 06 April 2012 Installing Geant4 v9.5 for Windows A step-by-step guide for Windows XP/Vista/7 using.
HOW TO USE BY ALEX ROSS ALEX ROSS. HOW TO CREATE ACCOUNT FOR DUMMIES is a great way to communicate with others. We can interact with.
Introduction to CCSv5. Outline  Intro to CCSv5 Intro to CCSv5  Functional Overview Functional Overview  Perspectives Perspectives  Projects Projects.
 1 String and Data Processing. Sequential Processing Processing each element in a sequence for e in [1,2,3,4]: print e for c in “hello”: print c for.
Programming 101 with Python: an open-source, cross-platform, and fun language By J. Burton Browning, Ed.D. Copyright © J. Burton Browning All rights reserved.
Lecture 3 – Data Storage with XML+AJAX and MySQL+socket.io
Upcrc.illinois.edu OpenMP Lab Introduction. Compiling for OpenMP Open project Properties dialog box Select OpenMP Support from C/C++ -> Language.
1 iSee Player Tutorial Using the Forest Biomass Accumulation Model as an Example ( Tutorial Developed by: (
Problem Solving and Search Andrea Danyluk September 11, 2013.
Installing the SAFARIODBC.EXE For use with Excel May 3, 2002.
Lecture 4 MATLAB Windows Arithmetic Operators Maintenance Functions
MA/CSSE 473 Day 12 Insertion Sort quick review DFS, BFS Topological Sort.
Instructor: Chris Trenkov Hands-on Course Python for Absolute Beginners (Spring 2015) Class #001 (January 9, 2015)
Introduction to Programming Workshop 1 PHYS1101 Discovery Skills in Physics Dr. Nigel Dipper Room 125d
Guidelines for Homework 6. Getting Started Homework 6 requires that you complete Homework 5. –All of HW5 must run on the GridFarm. –HW6 may run elsewhere.
Mail merge I: Use mail merge for mass mailings Perform a complete mail merge Now you’ll walk through the process of performing a mail merge by using the.
FTP Server and FTP Commands By Nanda Ganesan, Ph.D. © Nanda Ganesan, All Rights Reserved.
How to Tag a Corpus Using Stanford Tagger. Accuracy All tokens: 97.32% Unknown words: 90.79%
Installing and Using MySQL and phpMyAdmin. Last Time... Installing Apache server Installing PHP Running basic PHP scripts on the server Not necessary.
Booting Ubuntu Linux Live CSCI 130 – Fall 2008 Action Lab Dr. W. Jones.
Java Programming, Second Edition Chapter One Creating Your First Java Program.
Today’s Topics FREE Code that will Write Your PhD Thesis, a Best-Selling Novel, or Your Next Methods for Intelligently/Efficiently Searching a Space.
Lecture 131 CS110 Lecture 13 Thursday, March 11, 2004 Announcements –hw5 due tonight –Spring break next week –hw6 due two weeks from tonight Agenda –questions.
9/2/ CS171 -Math & Computer Science Department at Emory University.
WINKS 7 Tutorial 7 – Advanced Topic: Labels and Formats Permission granted for use for instruction and for personal use. © Alan C. Elliott,
How to Take Full Control of the ArrayTools and R Folder You need to have Full Control of the ArrayTools and R installation folders to run BRB-ArrayTools.
Built-in Data Structures in Python An Introduction.
Chapter 3 MATLAB Fundamentals Introduction to MATLAB Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Subject Outline Grade 12 Computer Studies HG. Final Mark 4 Components External Theory (140 marks 3hrs) External Practical (100 marks 3hrs) Project (60.
The Software Development Process
The Log4E logging plug-in David Gallardo. What is logging good for? Tracing program execution during development Debugging Providing an audit trail for.
MySQL Getting Started BCIS 3680 Enterprise Programming.
Mantid Manipulation and Analysis Toolkit for ISIS data.
Windows Installation Tutorial NASA ARSET For Python help, contact: Justin Roberts-Pierel
1 Installing Java on Your PC. Installing Java To develop Java programs on your PC: Install JDK (Java Development Kit) Add the directory where JDK was.
Chap 2 – Getting Started COMP YL Professor Mattos.
FTP COMMANDS OBJECTIVES. General overview. Introduction to FTP server. Types of FTP users. FTP commands examples. FTP commands in action (example of use).
Windows Installation Tutorial NASA ARSET For Python help, contact: Justin Roberts-Pierel
Python’s Standard Library Part II Dennis Tran. Output Formatting The repr module provides a version of repr() customized for abbreviated displays of large.
Tutorial for Modelsim 1 Installation Download the Modelsim Student Edition: Follow the.
Embedded Real-Time Systems Processing interrupts Lecturer Department University.
 CSC 215 : Procedural Programming with C C Compilers.
Perform a complete mail merge Lesson 14 By the end of this lesson you will be able to complete the following: Use the Mail Merge Wizard to perform a basic.
9/21/04 James Gallagher Server Installation and Testing: Hands-on ● Install the CGI server with the HDF and FreeForm handlers ● Link data so the server.
Guide to Operating Systems, 5th Edition
A step-by-Step Guide For labels or merges
Including Your Modules into NS 2
PHP Introduction.
Macrosystems EDDIE: Getting Started + Troubleshooting Tips
Introduction to Python
Fill the screen challenge!
Learning to Program in Python
COMPUTER PROGRAMMING PYTHON
Configuration Of A Pull Network.
Advanced Programming in Java
Artificial Intelligence (A.I.)
Windows Installation Tutorial
Presentation transcript:

DUE: WEDNESDAY, FEBRUARY 29 PRESENTED BY: JAMES AHLUM CSE 348 AI Game Programming Project 2: Pathfinding in Games

The Framework Pac-Man  Developed at UC Berkeley  Very well tested and documented  The instructions are excellent  We will focus on the search application of the framework

The Project Search in Pac-Man 5 Tasks  Depth-first Search  Breadth-first Search  A* Search  Transition Tables  A* Food Search  Find a path to eat all dots in the map as fast as possible  In-class competition to determine the winner

Setup Download the Pac-Man Framework  You can get the zip file here or from the websiteherewebsite  Unpack the zip file and store it in your desired location Download Python  You want Python version  Download it for various OS herehere  Select the desired installation location  Default for Windows is C:\Python27

Setup Add Python to your Path  Windows: Computer > Properties > Advanced System Settings > Environment Variables (under Advanced Tab)  Find “Path” under System Variables > Edit it and *APPEND* C:\Python27 (or the directory where you installed Python)  Note: Do not replace the Path variable with C:\Python27, just append it using a semicolon You should now be able to invoke the Python interpreter from the command line  Open a Command Prompt, switch to the “search” directory where you unpacked the zip file  Type “python pacman.py” to test your setup  It should open a GUI where you can use arrow keys to control Pac-Man

Development Pseudocode for the algorithms will be presented in the next lecture The only files you should need to edit are search.py and searchAgents.py  They are well commented and make it very clear where your code needs to go An important note from the project website:  “Each algorithm is very similar. Algorithms for DFS, BFS, and A* differ only in the details of how the fringe is managed. So, concentrate on getting DFS right and the rest should be relatively straightforward.”

Development I recommend using the data structures in util.pyutil.py  Stack will be useful for depth-first search  Queue will be useful for breadth-first search  Priority Queue will be useful for A* If you don’t know Python, learning it might take some time  The Pac-Man projects has a tutorial that goes over the basics and key things you’ll need to know for this projecttutorial  There’s also an official Python tutorial and full documentationofficial Python tutorialdocumentation

Python Data Structures  Lists: list = [2, ‘a’, “string”], list[0] == 2  Tuples: pair = (1,2), pair[0] == 1  Sets: mySet = set(), mySet.add(1), 1 in mySet == True  Dictionaries (associative arrays): f = {}, f[state] = 1.0, where state = (x,y) Finding the length of a structure  len(“abc”) == 3, len(list) == 3 Comments:  #single line comment, “””multi line comment”””

Debugging Print to the command prompt  print “message”  for state in answer: print str(state)  Notice the str() method to print string representation Log to a file  file = open(‘log.txt’, ‘w’)  file.write(‘log message \n’)  file.close()

Deliverables Code  search.py and searchAgents.py to by midnight, Wednesday, February  If you create any additional files (i.e. for your own data structures) or modify any existing files, also send those along with a detailed description of the additions/modifications Presentation & Report  As explained in the project description, due Thursday, March 1

That’s All Questions?  with CSE348 in the subject, CC