You must be logged in to post messages.
Please login or register

General and Strategy Discussions
Moderated by Maffia, LordKivlov, JimXIX

Hop to:    
loginhomeregisterhelprules
Bottom
Topic Subject: AI & RMS Developers (existing and potential look here)
posted 08-23-05 04:37 AM EDT (US)   
I recently began chatting with Mike Kidd over at ES regarding improvements for AI and RMS developers when developing scripts for Age of Empires III.

He had this to say:

Quote:

One thing you could do that would help me is to list what developer-type features were available in AoM and Titans to aid AI scripting. I honestly can't remember what debug type stuff we turned on. Everything's a security risk for hackers, but we want to make scripting practical for 3rd parties.

I have already sent a response with the following requests:

  • Compile scripts from outside game (using command line), this may not be possible because certain aspects dynamically change but syntax compiling would be nice.
  • Breakpoint and stepthrough, step into, step over etc.
  • Much better documentation (not one line stuff, because it puts new people off)
  • A cleanup of the documentation to remove redundant and obselete functions and constants
  • Maybe some tutorials (for beginners) so that more people will script.
  • Sample scripts for key areas of the a scenario e.g. military, economy etc.

    But I thought I should start a thread so that other developers can have a say. I have also told Mike about this thread so he can observe and give feedback.


    Project Leader of Siamsa Studios
    XScript AI Editor
  • Replies:
    posted 08-23-05 05:03 AM EDT (US)     1 / 13  
    Man you might as well work for ES with all this stuff your doing, and the contacting etc.

    Leader of Liquid Fire. Animator Seb C.

    One does not simply leave HG
    posted 08-23-05 05:30 AM EDT (US)     2 / 13  
    -> Goes to check job openings...

    Project Leader of Siamsa Studios
    XScript AI Editor
    posted 08-23-05 06:25 AM EDT (US)     3 / 13  

    Quote:

    Everything's a security risk for hackers


    Random idea: Perhaps they could release two versions of the game's .exe (and data files, if those are relevant) - the normal one for actually playing the game, plus one with all the script debugging features but with multiplayer removed (so you can't use it to cheat in online games).

    (But I'm not quite sure what reasons there are for disabling scripting features to help security - obscurity is generally futile, and I would have thought things could be make secure just by adding a 'cheat' flag to script commands and GUI pages / console / etc so they can be disabled in multiplayer... I'm sure there's some reason I can't think of, though )

    posted 08-23-05 09:28 AM EDT (US)     4 / 13  
    I don't get it (this coding is way over my head...) how could one hack the game with AI and RMS...

    || argalius.elpea.net
    || Cherub at AoE3H
    || In honor of FlipBizcut
    || Mod: The Age of Crusades
    posted 08-23-05 09:30 AM EDT (US)     5 / 13  
    As I understand it, changing the hardcode is illegal, if it's even possible, I'm no modder.

    Vivir sin queso es morir - To live without cheese dip is to die
    Spain will once again rule
    Ryan's Blog

    Age of Empires: The Musical Partake of my Ness Obsession Penny Arcade Does 'Age of Kings'

    posted 08-23-05 05:48 PM EDT (US)     6 / 13  

    Quote:

    I don't get it (this coding is way over my head...) how could one hack the game with AI and RMS...

    I don't know about hacking with it but AI in aom uses cheating sometimes to do some stuff so it might be able to do the same thing in this game with AI. In RMS you can make is so the AI can do cheating, and make it so the random map has triggers that can spawn units and stuff.


    Former level designer at Reverie World Studios.
    I still do some levels for fun, though!
    posted 08-24-05 04:03 AM EDT (US)     7 / 13  
    Guys, can we keep this on topic please, requests for improvements only. ES are not going to bother with this thread if they have to sift through irrelevant stuff.

    Project Leader of Siamsa Studios
    XScript AI Editor
    posted 08-25-05 11:19 AM EDT (US)     8 / 13  
    First: What was there in AoM?
    The AI debug interface in AoM was pretty sweet in my eyes. If you followed the AI tutorial by Mike Kidd, it came up with Alt+q if I remember correctly. It had the menu where you could watch all the plans and rules and so on. It also had the console window where you could watch the AI outputs. Mike, simply read your tutorial again and you'll know what was turned on

    Here is my wishlist:
    An external compiler is not necessary. It could do syntax-checks only, no big deal to do that ingame... BUT WE DEFINETLY GOTTA SEE THE COMPILER OUTPUT. What I hated in Titans was to realize that the compiler output was turned off for RMS. Whithout compiler output, scripting is almost impossible.
    Kingers, breakpoints were there in AoM AI. Single-stepping would be nice but is no high priority for me. Relatively comfortable debugging was possible in AoM through aiEcho(). Most of the stuff happens concurrent anyway. Single-stepping would help only in very specific cases.
    I agree on documentation. It couldn't be too much
    The premier factor that made AI scripting difficult in AoM was that there were so many no-ops (like the whole aiComms() bunch of methods or even worse: the paths... took me weeks and tons of tests until I finally accepted that they didn't work. They were even used in scn-scripts). This made scripting a really awful trial-and-error process because you always expected certain methods to do certain things just to find out that they weren't doing anything at all. Another request would be less hardcoded stuff. Some of the godpowers in AoM were hardcoded and there was no way from script-level to change their behaviour.
    The last wish is a functionality wish: I would really like to have a communications interface, so that I could "talk" to other players (like it was possible in AoK). It would be a whole new scripting world if we could make several AI players actually coordinate their actions.
    Of course there were tons of small issues with the AoM AI interface, for example: I always wished I could access the security level of areas from script to plan where to build towers, where to send units and so on. Frustrating if you see the information all there in the debugger but you can't use it in the script...
    Well, thats all for now. Maybe I'll remember some more things that I loved or hated...

    [This message has been edited by kalus (edited 08-28-2005 @ 12:47 PM).]

    posted 08-30-05 04:43 AM EDT (US)     9 / 13  
    The debugger in AOM was not bad. But, when you had an error in a (for-)loop - especially in long ones - you had to skip tons of the same errors again and again. So, an advanced skip function in the debugger - also a "cancel" function during debugging - would be very useful.

    I also would appreciate a bit more detailed RMS Tutorial. For AOM, I made a RMS tutorial for beginners, after I had made a lot of RMS. But, it took a longer time to find out which C++ functions and commands work and which not.

    I will add some more suggestions here, when I find time.

    Regards,
    M0nTy.


    M0nTy_PyTh0n
    RM Scripter - Utility Programmer - Music/Sound Composer/Creator
    HYENA STUDIOS
    Also on YouTube and MySpace
    Partner of Tsunami Studios - Sound and Music Composer
    All rights reserved.
    posted 09-08-05 12:54 PM EDT (US)     10 / 13  
    Hello again,
    have you seen the random map script files of the AOE3 demo?

    The first view shows:^
    - VERY SIMILAR to the AOM scripting code, a lot of commands are EVEN the SAME
    - About 8 times more code than in AOM, obviously due to new/more commands and objects.

    So, good news for existing RM scripters of AOM. On the other hand, an even deeper learning curve for newcomers of RM scripting.

    Regards,
    M0nTy.


    M0nTy_PyTh0n
    RM Scripter - Utility Programmer - Music/Sound Composer/Creator
    HYENA STUDIOS
    Also on YouTube and MySpace
    Partner of Tsunami Studios - Sound and Music Composer
    All rights reserved.
    posted 09-08-05 10:35 PM EDT (US)     11 / 13  
    Regarding Random Map scripts...

    I've never written a random map script, all of my work has been on the AI side. I'm trying to test these things with a retail build to give you enough hooks to be able to do interesting things with it.

    Can someone tell me EXACTLY what steps you would take to do an RM script for AoM? Start at the beginning...command line options, config or registry changes, where you would see the errors, how you would find what went wrong, how you would get the new map to show up and be used, etc.

    In the mean time, I'm going to look for the guide that I apparently wrote for AoM or Titans on AI scripting. Those were some long nights, I hardly remember writing that...in fact I wouldn't have remembered if I didn't see it mentioned here. Probably means that 3 years from now I won't really remember these weeks, either. ;-)

    Thanks in advance,

    Mike 'Captn' Kidd

    posted 09-09-05 03:37 AM EDT (US)     12 / 13  
    Thanks for pointing out some extra things M0nTy PyTh0n hopefully they will be in the final build!

    Project Leader of Siamsa Studios
    XScript AI Editor
    posted 09-09-05 07:01 AM EDT (US)     13 / 13  

    Quote:

    Can someone tell me EXACTLY what steps you would take to do an RM script for AoM?

    Trying :

    First thing was to change command line parameters to be able to see the build in debugger output (sorry forgot about the exact parameter name meanwhile).

    Then i copied existing mapfiles to have something to start with. Making my first maps i just took some of the ES maps as start. After i made some maps i found it more useful to have a basic map file with very limited content to start with (would have been nice if such a file already existed because then one can see from the start what is really essential). I used notepad to edit the scripts which was ok for me.

    Then i thought about the general look of the map, e.g. distribution of land and water and players starting positions. With that in mind i tried to change my basis map to something which looks generally like what i had in mind.
    If there were some tricky things i thought about in which ES maps something similar was already used. After i found some commands that might be useful i looked for them in the documentation. I think the AOM documentation is really tough for scripting/programming beginners because the descriptions are a little short and often examples are missing.

    If there where things like spelling mistakes or missing semikolons the build in debugger saved me a lot of time - great thing to have that!

    Next thing was to look at the players starting locations a little closer. I tried to make sure at this point that there will be enough space for all of them and experimented a little with commands influencing the starting positions.

    Going on in the building process i placed important obejects first (e.g. settlements) and other stuff at the end (e.g. goats). I found it very tough to place settlements fair and not too symmetric (the command which should help you with this didnt work that great as one can see in the ES maps which often had settlement glitches).

    At this point i started testing the maps, first in singleplayer mode. To be sure everything works out i tested with different settings like 1v1 or 3v3. This was actually a pain because in AOM there is no way to choose 3v3 with one click, instead you have to go into another screen and change all player teams by hand, totally odd !
    If there were obvious faults i changed them and iterated the process as long as the map seemed fairly playable.

    Now i tested the maps in multiplayer with some friends. Since i am more an aoc than an aom player experts helped me with this by playing each other to make sure there are no glitches which less skilled players might overlook.
    Most likely there would be still some glitches in the maps which i tried to eliminate.

    Now i posted the maps on community sites with screens of them (players seem to be very sceptical at those things but if they see how the maps look like at first glance its much easier to convince them). I tried to choose sites that are frequently visited like those :
    http://www.bskzone.com/forums/index.php?showtopic=2684&hl=free+beer
    http://aot.sanctuary-network.com/index.php?showtopic=37888

    beware - surreptitious advertising :P

    I dont know if i emphasized the right steps - hope this helps.


    [This message has been edited by Orca (edited 09-09-2005 @ 07:07 AM).]

    Age of Empires III Heaven » Forums » General and Strategy Discussions » AI & RMS Developers (existing and potential look here)
    Top
    You must be logged in to post messages.
    Please login or register
    Hop to:    
    Age of Empires III Heaven | HeavenGames