[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[bos-dev] Intro - Another One of Those Student Devs
- To: bos-dev@xxxxxxxx
- Subject: [bos-dev] Intro - Another One of Those Student Devs
- From: zerted <zerted@xxxxxxxxx>
- Date: Mon, 17 Feb 2014 14:30:57 -0500
- Delivered-to: archiver@xxxxxxxx
- Delivered-to: bos-dev-outgoing@xxxxxxxx
- Delivered-to: bos-dev@xxxxxxxx
- Delivery-date: Mon, 17 Feb 2014 14:31:03 -0500
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:subject :content-type:content-transfer-encoding; bh=tVXsCcrA/tKiFdqA1Q0PoICgCnSaenyAC5ZsLU7Euac=; b=LrshzHsU1flIy43AyCFOsNnoTSbVK90xUGw53gsrawfFN/0O/b0TxJeQK1tZYiXiYM RNfR/Yz7sHdr2/vCSSYmV10k9BopKLam0kufJelF9n0dN1fyxIwUDyYHSiWItBiBjgnw xP0jEcddnOOgWYGu3WaBk8K103UOzTWfKIyjBWABqRQV7vbkPBA11YH5NgqGIc0t9FFO 5B4U9sVbpn1BtAq4Go2u0duLCr3ygJORJCLFn9pZCP+LDxa5lWgkr9I6e0jTQ85q/Orj glGZ7at/ORD89d6qPGx9UXVnA7qDPhvRvlIPAAN7LvMzMgwGQb4uO7RzGpeOF2wvHUyT zOiQ==
- Reply-to: bos-dev@xxxxxxxx
- Sender: owner-bos-dev@xxxxxxxx
- User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.3.0
Greetings,
I thought I should introduce myself as I'll be around for at least the
next few months. I'm a Masters student in Computer Science and I'm
writing an RTS AI for my thesis. As you can guess I'm doing it on Bos
Wars. There's a few tweaks to the game that I'm making to support
better automated AI testing: improving the command line options and
adding Machine vs Machine games.
Bos Wars is a good game for RTS research. It's a full game that isn't
too complicated (Zero-K) nor too simple (ORTS). It's maintained so it
still works on modern systems, but isn't so actively developed that it's
APIs are unstable (0 A.D.). The code is free and not closed source
(Starcraft) and mostly easy to understand. There's a surprising amount
of papers using Stratagus and I think that would increase if every
researcher didn't have to make these same tweaks.
The largest change I'll be making is the addition of a new AI API. My AI
needs to have the same abilities of a human player and the nice AI
framework you guys have is too simple. I don't have all the details
yet, but I'm thinking of:
* OnUnitVisible() - List of all newly seen units this cycle/turn.
* OnUnitHidden() - List of all units that moved out of sight (and maybe
died. I'm not sure how to handle entering/leaving transports.)
* OnDiscoveredTitle() - Titles the AI has uncovered. This is only used
for unexplored areas, not fog-of-war.
* OnActionCompleted() - Completion of something the AI asked the game do
to.
* PerformAction() - How the AI yells at it's units.
* GetUnitStats() - For getting details about units (health, location,
etc...).
I was thinking of only passing around unit ids to avoid tolua++ object
reference issues. I want to keep the cross talk as minimal as
possible. I know some of those functions already exists in various
states. I need review the current AI API a lot more. I'm not sure how
this fits in with BigBrain, if at all.
While it doesn't have any bearing on my thesis, I'd like to work with
you guys and try to get my AI updates into the game. If I can improve
the game, I'd consider that a job well done. Research is pointless if
it isn't applied anywhere.
Regards,
~zerted