BBWar - Ver. 15-7-01
The files in this directory implement the java BBWar demo, a demo of blackboard coordination of multiple agents.
ABOUT JAVA
----------
Java is a SUN-developed object-oriented programming language similar in syntax to C++. Java source code is compiled to a cross-platform bytecode which is then interpreted at run-time. While few commercial applications are implemented in Java, its syntax is close enough to that of C++ that there is practically no learning curve when transferring from one to the other.
For more on Java, including specifications, documentation and tutorials, see the SUN java site
http://java.sun.com/products/
INSTALLING JAVA
---------------
BBWar requires the Java 2 VM and associated libraries. These packages are available off of the SUN site,
http://www.javasoft.com/
To simply run the code given the provided class files, you will need the Java Runtime Environment, Standard Edition, v. 1.3. If you want to play around with the code as well you will need the Java 2 SDK, Standard Edition, v. 1.3.
After you download and install the appropriate package, make sure that the appropriate executables directory is added to your PATH variable. For example, if you downloaded the JDK 1.3.1 SDK on a Windows system, you would by default have the directory c:\jdk1.3.1\bin\ added to your path.
Java is of course cross-platform, and so will run on any machine with a Java 2-compliant virtual machine.
TO RUN
------
BBWar can be run directly from the CD. From a command line
java -classpath [PATH of the bb directory]\.. bb.BBWar
TO COMPILE
----------
The process of compilation will generate the byte-code .class files from the .java files. Obviously you can't write the class files to the CD, so the best option would probably be to copy the 'bb' directory to a local writeable directory. Then, in that writeable directory, execute the following
javac *.java
This will let you play around with the code a little bit and maybe <gasp!> extend it.
ABOUT BBWar
-----------
BBWar is a simple little toy-RTS game, in which two computer-controlled armies battle it out on a simple landscape. The object for each army is to completely eradicate the other army! They do this by constructing and deploying military units -- the AI that controls all the behavior is built around a blackboard. See the "Blackboard Architectures" article in the Game AI Wisdom Book.
Of course, technically, BBWar is not a game at all, since there is no interactivity involved! And the game is still strategically fairly stupid. However, it is an example of an architecture that supports modular addition of smarter units and that handles much agent-coordination concerns automatically.
RECENT CHANGES
--------------
The BBwar has changed a little bit since the submission of the Blackboard article. The major differences are:
* A resource-system has been introduced, such that in order to construct a unit, a city must spend a determined number of resources. A specified number of resource-pools of random size are placed randomly about the game-world at the beginning of each execution of the game.
* A "Worker" unit has been introduced, whose sole function is to gather resources and deliver them to the city most in need of them.
* The Colonel Unit has been removed from the game.
* A "Defense Tactician" unit has been introduced. This unit, while not participating directly in the battle, does a simple clustering analysis of death locations and "suggests" locations that it is important to defend (a tragically reactive form of military strategy!). Thus if a great number of soldiers have been lost in one area of the game-world, then that area will be defended more vigorously, regardless of whethere there is a city or a resource pool in that location. This mechanism results in the emergent formation of battle "fronts" in strategically important locations.
CONTACT
-------
Questions? Comments? Suggestions?
Damian Isla (naimad@media.mit.edu)
The Synthetic Characters Group, MIT Media Lab
没有合适的资源?快使用搜索试试~ 我知道了~
c++人工智能
共699个文件
cpp:231个
h:216个
class:30个
5星 · 超过95%的资源 需积分: 47 193 下载量 158 浏览量
2015-01-17
13:04:52
上传
评论 7
收藏 4.52MB RAR 举报
温馨提示
c++人工智能方向开发,涵盖很多算法,很适合初学者学习
资源推荐
资源详情
资源评论
收起资源包目录
c++人工智能 (699个子文件)
LOSGridDemo.aps 39KB
Tanks.aps 27KB
tennis.aps 17KB
relative_cost.ase 75KB
very_simple.ase 75KB
complex.ase 75KB
random.ase 75KB
weight_ex.ase 75KB
aiwisdom.ase 75KB
Tanks.bak 11KB
layout.bin 334B
sample.bin 252B
sample.bin 252B
GFX.BMP 192KB
Intro.bmp 81KB
tennisfield.bmp 11KB
bitmap1.bmp 9KB
bmp00001.bmp 9KB
Head.bmp 9KB
Tail.bmp 9KB
Toolbar.bmp 2KB
Cross.bmp 1KB
bitmap1.bmp 1KB
SENSOR.C 4KB
data1.cab 963KB
_sys1.cab 182KB
_user1.cab 46KB
TrainedAimingErrorModel.cdm 7KB
Ase.chm 42KB
Agent.class 5KB
World.class 5KB
Blackboard.class 3KB
City.class 3KB
Commander$AttackCitySkill.class 3KB
BBWar.class 3KB
Soldier$ShootSkill.class 3KB
Worker$GatherSkill.class 2KB
Vec2.class 2KB
DefenseTactician.class 2KB
Worker.class 2KB
Commander$DefendLocationSkill.class 2KB
City$CreateCommanderSkill.class 2KB
City$CreateWorkerSkill.class 2KB
City$CreateShieldSkill.class 2KB
Mission.class 2KB
Shield.class 2KB
City$CreateSoldierSkill.class 2KB
DefenseTactician$Cluster.class 2KB
Commander.class 1KB
BBWar$MouseManager.class 1KB
LocatableMission.class 1KB
Soldier.class 1KB
Shield$ShieldSkill.class 946B
DrawableObject.class 888B
Soldier$AttackLocationSkill.class 885B
Resource.class 867B
Skill.class 849B
Blackboard$Application.class 543B
EventNotifier.class 163B
Tanks.clw 3KB
PennyMatching.clw 3KB
GAPBILExample.clw 2KB
GPExample.clw 2KB
aiNavigation.cpp 83KB
FuzzyModelBase.cpp 59KB
FuzzyVariableBase.cpp 32KB
TanksDoc.cpp 26KB
TanksView.cpp 18KB
SoundBuffer.cpp 17KB
MemberFuncSCurve.cpp 17KB
LoadBalance.cpp 16KB
CConditionalDistribution.cpp 16KB
CMLP.cpp 16KB
ie.cpp 15KB
GAPBILExampleDoc.cpp 14KB
FuzzySetBase.cpp 13KB
CodeGen.cpp 12KB
Aibot.cpp 12KB
MemberFuncBase.cpp 12KB
DirectDraw.cpp 12KB
GPExampleDoc.cpp 12KB
CWorld.cpp 12KB
PennyMatchingDlg.cpp 11KB
aseDoc.cpp 11KB
FFLLBase.cpp 11KB
FFLLAPI.cpp 10KB
TransformMat.cpp 10KB
Copy of CGP.cpp 10KB
CGP.cpp 10KB
CGA.cpp 10KB
MemberFuncTrap.cpp 10KB
Troll.cpp 10KB
tennis.cpp 10KB
FuzzyOutVariable.cpp 9KB
MemberFuncTri.cpp 8KB
aseView.cpp 8KB
CPS.cpp 8KB
TennisField.cpp 8KB
CPBIL.cpp 8KB
COGDefuzzSetObj.cpp 7KB
共 699 条
- 1
- 2
- 3
- 4
- 5
- 6
- 7
资源评论
- upder2016-05-29是一本好书,有提高才重要
- 令狐兄2015-01-17确实不错的一本书
- yj324882017-07-13还可以,有些参考价值
- laibarr2017-09-18还可以,有些参考价值
- CppCoder2017-08-02是C++源码,估计是人工智能相关的算法实现
时代曙光
- 粉丝: 41
- 资源: 43
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功