There’s no such thing as a FreeCiv Marc Friedman Ed Hong Jon Nowitz Steve Wolfman.

Slides:



Advertisements
Similar presentations
Soar and StarCraft By Alex Turner. What is StarCraft: Brood War? A Real-Time Strategy (RTS) computer game released in A sci-fi war simulation Continually.
Advertisements

The Challenges of CORBA Security It is important to understand that [CORBAsecurity] is only a (powerful) security toolbox and not the solution to all security.
Chapter 13 Review Questions
IoP HEPP 2004 Birmingham, 7/4/04 David Cameron, University of Glasgow 1 Simulation of Replica Optimisation Strategies for Data.
Michael Zyda Finite State Machines Michael Zyda
What is game theory… Game theory studies settings where multiple parties (agents) each have –different preferences (utility functions), –different actions.
1 SEDA: An Architecture for Well- Conditioned, Scalable Internet Services Matt Welsh, David Culler, and Eric Brewer Computer Science Division University.
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
Rheeve: A Plug-n-Play Peer- to-Peer Computing Platform Wang-kee Poon and Jiannong Cao Department of Computing, The Hong Kong Polytechnic University ICDCSW.
Introduction to Web Application Architectures Web Application Architectures 18 th March 2005 Bogdan L. Vrusias
A Payment-based Incentive and Service Differentiation Mechanism for P2P Streaming Broadcast Guang Tan and Stephen A. Jarvis Department of Computer Science,
Scripting Languages For Virtual Worlds. Outline Necessary Features Classes, Prototypes, and Mixins Static vs. Dynamic Typing Concurrency Versioning Distribution.
Optimizing Online Auction Bidding Strategies with Genetic Programming Ekaterina “Kate” Smorodkina.
Introduction What is this ? What is this ? This project is a part of a scientific research in machine learning, whose objective is to develop a system,
Software Issues Derived from Dr. Fawcett’s Slides Phil Pratt-Szeliga Fall 2009.
Feb 4, Ron McFadyen1 founded on principles of good OO design idea was first put forth by Christopher Alexander (1977) in their work concerning.
A Principled Study of Design Tradeoffs for Autonomous Trading Agents Ioannis A. Vetsikas Bart Selman Cornell University.
 1. Introduction  2. Development Life-Cycle  3. Current Component Technologies  4. Component Quality Assurance  5. Advantages and Disadvantages.
Client/Server Architectures
JavaServer Faces: The Fundamentals Compiled from Sun TechDays workshops (JSF Basics, Web-Tier Codecamp: JavaServer Faces, Java Studio Creator; IBM RAD)
Introduction to the Enterprise Library. Sounds familiar? Writing a component to encapsulate data access Building a component that allows you to log errors.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
What is Architecture  Architecture is a subjective thing, a shared understanding of a system’s design by the expert developers on a project  In the.
Jaeki Song ISQS6337 JAVA Lecture 16 Other Issues in Java.
Multithreading Allows application to split itself into multiple “threads” of execution (“threads of execution”). OS support for creating threads, terminating.
An Integration Framework for Sensor Networks and Data Stream Management Systems.
Living markets ® living agents ® Adaptive Execution in Business Networks January 21 st, 2002.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 07. Review Architectural Representation – Using UML – Using ADL.
1 Another group of Patterns Architectural Patterns.
DLS on Star (Single-level tree) Networks Background: A simple network model for DLS is the star network with a master-worker platform. It consists of a.
1 The FreeCiv AI Zack Ives Steve Wolfman CSE 590AG April 20, 1999.
Design of a real time strategy game with a genetic AI By Bharat Ponnaluri.
1 MAIN TABLE OF CONTENTS Definition: SOFTWARE AGENT HOW MANY TYPES OF AGENT? DEFINITION OF MOBILE AGENT: SOFTWARE AGENTS PROPERTIES, WORKING OF MOBILE.
Rapid Development of High Performance Servers Khaled ElMeleegy Alan Cox Willy Zwaenepoel.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
Introduction to CORBA University of Mazandran Science & Tecnology By : Esmaill Khanlarpour January
Processes Introduction to Operating Systems: Module 3.
Frameworks CompSci 230 S Software Construction.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 system architecture 1 after designing to meet functional requirements, design the system.
Web Pages with Features. Features on Web Pages Interactive Pages –Shows current date, get server’s IP, interactive quizzes Processing Forms –Serach a.
Chapter 4 Decision Support System & Artificial Intelligence.
Chapter 9 Putting together a complete system. This chapter discusses n Designing a complete system. n Overview of the design and implementation process.
Conference name Company name INFSOM-RI Speaker name The ETICS Job management architecture EGEE ‘08 Istanbul, September 25 th 2008 Valerio Venturi.
Scientific Visualization Java3D Object Controlling over PDA- Server Connection Sangyoon Oh
SEA Side – Extreme Programming 1 SEA Side Software Engineering Annotations Architectural Patterns Professor Sara Stoecklin Director of Software Engineering-
E81 CSE 532S: Advanced Multi-Paradigm Software Development Venkita Subramonian, Christopher Gill, Ying Huang, Marc Sentany Department of Computer Science.
Auctions serve the dual purpose of eliciting preferences and allocating resources between competing uses. A less fundamental but more practical reason.
CS223: Software Engineering Lecture 13: Software Architecture.
Introduction to ASP.NET development. Background ASP released in 1996 ASP supported for a minimum 10 years from Windows 8 release ASP.Net 1.0 released.
Java Based Trading Agent Avinash Shenoi Sohel Merchant Zhikun Meng.
Department of Computer Science, Johns Hopkins University Lecture 7 Finding Concurrency EN /420 Instructor: Randal Burns 26 February 2014.
Dr D. Greer, Queens University Belfast ) Software Engineering Chapter 7 Software Architectural Design Learning Outcomes Understand.
Distributed Systems Architectures. Topics covered l Client-server architectures l Distributed object architectures l Inter-organisational computing.
Introduction to Visual Basic. NET,. NET Framework and Visual Studio
Information Systems in Organizations 2
Information Systems in Organizations 2
Corin Anderson Eric Anderson Geoff Hulten Tessa Lau
Online Property Auction
Information Systems in Organizations 2
Information Systems in Organizations 2
Information Systems in Organizations 2
Information Systems in Organizations 2
CIS 488/588 Bruce R. Maxim UM-Dearborn
Software models - Software Architecture Design Patterns
Information Systems in Organizations 2
Information Systems in Organizations 2
Chapter 4: Threads.
Information Systems in Organizations 2
CPS Bayesian games and their use in auctions
Presentation transcript:

There’s no such thing as a FreeCiv Marc Friedman Ed Hong Jon Nowitz Steve Wolfman

BIDDY: the Auction DAI Goals –agents compete for resources –agents control their resources independently –mediation is simple, extensible, lightweight –simple way of distributing competitive power –agents don’t reason about other agents Vision –income controls power of agents –resource conflicts settled through auction –maintenance costs promote sales

Philosophy: Steal, steal, steal! Steal the map from the client (done!) –Their client and server have almost identical models of the world –Use their client’s data structures directly –Use their mutators to keep up-to-date Steal the UI from the client (done!) –Run CIVY as a separate executable –Do NO UI work in BIDDY Steal the logic from the AI –How much we can use remains to be seen

BIDDY Nitty-gritty Language - C/C++ with LEDA libraries –Agents in C++ –Stolen stuff (like map) in C Platform - platform independent –eXcised X from client -- just uses sockets –CivY runs separately Visualization - no direct visualization for client, view actions with CivY

Architecture of BIDDY Agents control some behavior independently Factories (city production) and units are resources Bidders (a subset of agents) can own resources Each new year, –Resources are bought and sold at auction –Agents GO in random order, controlling their resources, spawning child agents, and disappearing –Agents can register handlers for asynchronous events they are interested in Use OLD BIDDY for behaviors that don’t fit

Agents and Bidders PLAYER -- divvies up currency, manages new and unwanted resources GROWTH -- settlement & improvement OFFENCE -- conquest DEFENCE -- garrisons, forts, roads EXPLORE -- map territory by land and sea GOVERNMENT, SCIENCE, POPULACE ONE FOR EACH CITY - to buy their own production

Division of Labor Jon -- PLAYER module, AUCTIONEER Marc -- agent/client interface, interagent com protocols, shared data structures, GROWTH module Steve -- CivY, OLD BIDDY, EXPLORER, POPULACE Ed -- CITIES, DEFENCE Nobody yet -- OFFENCE

Old Biddy: the FreeCiv AI Port of server-side FreeCiv AI into client Main fixes –handle unknown territory (explore and reason about danger/value) –understand penalties for build changes –support server-side data-structures (e.g., settler minimap) –stop cheating in various other ways

Old Biddy: performance Reasonably fast –large civ handled in a few seconds (10-15) Reasonably effective –explores, settles, researches, builds wonders (oops), defends cities, … Worse than built-in AI –consistently near the bottom of games –primarily too chicken of unexplored territory compared to all-knowing enemies

Broker & Banker Distributes income based on events & heuristics TBA –exploration agent receives income based on # of unexplored tiles –defense agent receives income based on phase of game? Controls player bank accounts –no cheating (overbidding) allowed

Auctioneer Collects resources for auction –all unallocated units –city production which has just completed –new resources and leftovers from last year –agent-owned resources put up for sale Collects bids –bidders view the auction block –bidders submit one or more bids –each bid is just an amount of ogrocs Auctions resources –highest bidder chooses first, and so forth –agent may refuse choice for refund –may choose any available resource

Cheese Handles portions not (yet) allocated as resources –tax rates –science –city workers –government Based on Old Biddy components (cheesy heuristics)

Auctions -- discussion Advantages –solves competition problem –simple communication –can do it without reasoning about other agents Disadvantages –optimizes the wrong thing (can an auction maximize global utility?) –no notion of per-agent utility to learn by –‘good’ income and maintenance costs unknown