== Alternative Games== This page will keep track of possible alternative games we should consider. == RTS == [http://wildfiregames.com/0ad/ 0AD] - Open source RTS game similar to Age of Empires. It is still in development. - C++/!JavaScript Tried compiling on Linux but had a problem with libxml2.[[BR]] Tried compiling again on cycle 1 where libxml is installed, got cmake: command not found.[[BR]] Installed [http://www.cmake.org/ cmake]. Follow instructions in README. make install step failed - permission denied. Changed cmake_install.cmake line 5 to "/home/vax3/u10/xwang" from "usr/local". Not sure if this is the right thing to do but cmake seems to work.[[BR]] ./update-workspaces.sh -j3 step now works. make CONFIG=Release -j3 gives some errors. Missing Boost. Downloaded all the tools for 0ad on Ubuntu VM as root. Game compiled and ran successfully[[BR]] [http://trac.wildfiregames.com/wiki/BuildInstructions#Unix Build Instructions] -- Instructions for getting tools, compiling, running are given here. Pretty straightforward. ---- [http://skatgame.net/mburo/orts/ ORTS] -- Open Real-Time Strategy - Open source RTS game engine. - Users load scripts to server to create a game. - Client software connects to server to control objects in the game. - C++ Downloaded using svn but could not compile. Tried make init and make but got some errors. [http://skatgame.net/mburo/ps/ORTS-JCIS03.pdf Research paper using ORTS] ---- [http://glest.org/en/index.php Glest] - Open source 3-D RTS game. - Download seems to be only Windows. - Downloaded the game on my laptop but it was just an installer. No source code. Stopped development but !MegaGlest and Glest Advanced Engine has continued work on the engine. [http://glestblog.blogspot.com/2011/04/megaglest.html MegaGlest] [http://sourceforge.net/projects/glestae/ Glest Advanced Engine] Downloaded latest version of !MegaGlest. Compiling instructions in README but I couldn't figure it out. [http://www.intelligence.tuc.gr/lib/downloadfile.php?id=347 Thesis on reinforcement learning in RTS using Glest] ---- [http://www.boswars.org/ Bos Wars] - Open source futuristic RTS. - C++/Lua Downloaded a working version for Linux but it does not contain source code. [[BR]] Downloaded the source code separately but had compiling issues again. :( [http://www.youtube.com/watch?v=mt3Mk5Ea484 Some cool AI done with boswars][[BR]] [http://apapl.sourceforge.net/ The agent is controlled by 2apl][[BR]] [http://ekok.nl/ The guy who worked on the project][[BR]] [http://ebookbrowse.com/adaptive-reinforcement-learning-agents-in-rts-games-pdf-d18026572 Master thesis] -- Best I could find, pdf version wasn't loading ---- [http://springrts.com/ Spring] - Open source RTS game engine. - Many different games have been created on the Spring game engine. - Supports AI plugins in many programming languages. - C++ Tried compiling after getting cmake. Missing Boost. [http://www.ansatt.hig.no/suley/Sindre-Plakat-17-09-06.pdf Integrating AI in Spring] ---- [http://us.blizzard.com/en-us/games/sc/ StarCraft] [http://skat.dnsalias.net/mburo/sc2011/ StarCraft AI Competition] [http://overmind.cs.berkeley.edu/ Winning team] '''Basic strategy'''[[BR]] '''Production:''' - first strategy was to hard code plan as finite state machines. e.g. Build tanks unless the enemy builds air units, then build anti-air units. If the enemy builds cloaked units, build detectors, and so on. this strategy did not work because if the opponent prevents the agent from gathering the necessary resources with gas steal, the agent will be stuck. - second strategy: instead of providing a fixed sequence of units and structures to produce, provide a combination of units and structures. The planner will choose the best unit or structure to build at any moment given its resources. If opponent tries gas steal, the agent will expand base or build units that don't require gas until the problem is resolved. - scouting: scout enemy base to see what units are being produced and plan accordingly. '''Controlling units''': - hard to build control nodes for units, therefore there is a high cost for building more than one type of unit. focused on mutalisks. large numbers are hard for humans to control without clumping. easy prey for area attacks. not a problem for computer. potential fields balancing attractive forces on targets and repulsive forces on threats move the mutalisk around use map editor to build stage for agent to run through different combat scenarios and learn optimal potential field strengths - predict results of actions based on damage calculations. assign values to targets and mutalisks based on resource costs. uses this information to choose which targets to attack. '''Path-finding:''' - keeps updated map of of last known location of enemy units. combines this map with know movement and attack speed of units to create threat map. threat map is combined with path-finding algorithm. areas of high threat for a unit will have a high cost to traverse. ---- == RPG == [http://nwn.bioware.com/ Neverwinter Nights] - RPG base on Dungeons & Dragons - Requires purchase of game - Can be modified for many purposes http://edugamesresearch.com/blog/category/neverwinter-nights/page/2/ [http://nwn.bioware.com/downloads/standaloneserver.html#download Standalone server][[BR]] Not sure how useful this is. Downloaded and ran. Got this Neverwinter Nights Server Build:8109 Copyright BioWare Corp 1998-2004 Server: Loading...[[BR]] Server: Running... Server: Unable to use port 5122 Work on NPC AI[[BR]] [http://www.bth.se/tek/jhg.nsf/bilagor/bachelor_thesis_revised_bertil_jeppsson_pdf/$file/bachelor_thesis_revised_bertil_jeppsson.pdf AI-controlled life in Role-playing games][[BR]] [http://members.home.nl/rcpcollaris/documenten/ScriptieV5.4.pdf An Adaptive Automatic Pilot for Role Playing Games 5.4][[BR]] ---- == FPS == [http://www.udk.com/ Unreal] - Windows only - See Walter [http://sauerbraten.org/ Cube 2 - Sauerbraten] ---- == Life Simulation == [http://www.thesims3.com/ The Sims] - Requires purchase. - NPC already have pretty sophisticated AI Not sure how this game would work. ---- == Dynamic Scripting == Dynamic scripting is a form of reinforcement learning used in adaptive game AI. [http://www.vectrlab.com/wp-content/uploads/DS_applied_to_FPS_Apr_6_19_09.pdf Dynamic Scripting FPS][[BR]] [http://www.personeel.unimaas.nl/m-ponsen/pubs/iaai05ponsen.pdf Dynamic Scripting RTS][[BR]] [http://www.google.com/url?sa=t&source=web&cd=1&ved=0CBkQFjAA&url=http%3A%2F%2Fciteseerx.ist.psu.edu%2Fviewdoc%2Fdownload%3Fdoi%3D10.1.1.137.591%26rep%3Drep1%26type%3Dpdf&rct=j&q=dynamic%20scripting%20computer%20game&ei=UgzpTa-gIpTUgQfN7KmmAQ&usg=AFQjCNGt98Mz3GLSzSHu1cJ3yrJMJLbkDg Dynamic Scripting RPG] There are four main components in the dynamic scripting algorithm: [[BR]] 1. Set of rules - Rules that the algorithm can choose from. Each rule has a weight. 2. Script selection - A subset of rules used in a learning episode. 3. Rule policy - Determines how rules in a script are applied within an episode. 3. Rule value updating - Reward function that provides feedback on the script. Success increases weights of rules, failure decreases weights of rules.