Announcement

Collapse
No announcement yet.

Info: scripting language

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #16
    what about the old way of triggering???
    "The meaning of war is not to die for your country, but making your enemies die for their..."

    Staff member at RoN Empire

    Comment


    • #17
      What do you mean "the old way"? What game are you talking about? (Civ2?) If not, could you give an example of a trigger?

      Comment


      • #18
        I thinkk maybe AoK or SWGB, that sort of thing, just with more options. All we would like to know BHG- Will it be simplified or will have to wait for a patch or for fellow players to make one?

        Comment


        • #19
          The AoK system was quite good, but it could have been improved significantly by adding loops and global variables to act as yes/no things, rather than being forced to use unit existance or something.
          Concrete, Abstract, or Squoingy?
          "I don't believe in giving scripting languages because the only additional power they give users is the power to create bugs." - Mike Breitkreutz, Firaxis

          Comment


          • #20
            Obsidian has just posted a very lengthy account of the recent Fanstock event at BHG's headquarters:



            Herer's the part that's relevent to this thread:


            Scenario Editor

            Now for the part all you scenario designers have been waiting for, the Scenario Editor. One of the first things you do when you start the editor is select your map size. This gives you a large square area to work with as the starting template for the map. On this square you can draw a rough outline of your map. This keeps you from having to draw the entire map out tile by tile when you are starting your work. Scott began by drawing out a rough version of the boot shape for the Italian peninsula. With a simple click, the entire map was generated to reflect what he had drawn. After the map was created, the process of adding things like mountains, forests, cities and units to the scenario involved simply selecting what you wanted and clicking on where it should go.

            [Scott Lewis, the Scenarios and tools programmer] created the city of Rome and gave it some citizens as well as a few Praetorian Guards for defense. We then went to the north and created a small city for the barbarians that we would be using to attack the city of Rome. It was here that Scott showed us the scripting engine that the game uses for its Scenarios. I’ll start by saying that when I saw what this thing was capable of, my jaw dropped.[My emph] The scripting language in and of itself was structured very similar to C++ or javascript. There are of course some proprietary commands that are specific to the game, but the syntax is very similar so anyone familiar with those languages should feel right at home. Scott wrote a small script that would cause the enemy city to the north to select an idle set of troops every few seconds and send them down to attack the city of Rome.

            This is the part where the game really impressed me. You could set actual breakpoints in your scripts to verify that the script was executing as designed. “Why did that guy go over there? That’s not what I wanted him to do” Just set the break point in the script and you can start seeing where things went wrong. They have also included the ability to reference other scripts in your current script. So if I wrote an AI script that improved on the way the computer organized forces for attacks, all you would need to do is provide the path to the location of my script and you would have all the functionality available to you. About the only thing that is missing from the editor at this point is an immediate window where you can check the values of variables on the fly and intellesense. For those unfamiliar with intellisense, it is a nifty little feature where the editing screen gives you information about the command you are typing. It really helps in keeping all those function calls straight and free of errors. When I mentioned this to Scott he said that it was actually something they were considering adding.
            It just keeps getting better, eh.

            Comment


            • #21
              didnt nVidia come out w/ a new language for games?
              i dont know how this all works but i read news about that
              i understand the senario editor is very important in any game, but EE and starcraft definately had some of the best

              Comment


              • #22
                Sounds VERY, VERY impressive... MrOgre but especially Mike Breitkreutz could learn something from this...
                Administrator of WePlayCiv -- Civ5 Info Centre | Forum | Gallery

                Comment


                • #23
                  This is awesome. It looks like they opened up total control. Thanks Brian, Jason, Jason, and co.

                  To give Mike B some credit, he didn't design the original Civ3 engine or editor. Adding something like this after the fact will be much tougher than designing it in from the beginning.
                  Seemingly Benign
                  Download Watercolor Terrain - New Conquests Watercolor Terrain

                  Comment


                  • #24
                    didnt nVidia come out w/ a new language for games?

                    That has to do with game graphics and not the real meat. Most games are still bein programmed in C++ and no replacement is likely to appear.
                    Blog | Civ2 Scenario League | leo.petr at gmail.com

                    Comment


                    • #25
                      The only other language I've seen a mainstream game done in lately is Python. Even then the time intensive portions were written in C++.
                      Seemingly Benign
                      Download Watercolor Terrain - New Conquests Watercolor Terrain

                      Comment


                      • #26
                        I CANNOT WAIT! I haven't really been been following RON all that much, and am surprised by this. As a VFP/VB/C#/HTML/SQL developer, this kind of open-source coding in a game of this magnitude REALLY appeals to me. Just imagine the scenarios everyone will be making....
                        Get 84 Resources, 96 Resources, or the NEW 153 Resources! Get Rockier Bonus Grassland versions1.0 or 2.0! Get My Mix of Snoopy and Womocks early terrain! Get Varied Goody Huts!
                        Upcoming Mods - Optimator (with over 1000 new units!!!) & Godzilla, Revenge of the Kaiju!
                        I am in dire need of new dino and Kaiju units!

                        Comment


                        • #27
                          This isn't really about scripting, but is more info on RoN's modifiability. Rohag posted on the WebQuad forums:

                          Start your new business venture with a great domain name. A trusted source for domains since 2005.


                          One of the reasons I became interested in RoN is that the game’s developer, Big Huge Games of Baltimore, Maryland USA, seems to be relatively open to discussing the ideas behind the game and the design process.

                          I gather that in the process of design and coding developers have a number of in-game “tools” they use to modify, tweak and debug progressive builds of a game. Sometime last summer (?) the BHG design team decided to leave some of these tools in RoN for fans to use after release. Yes, there will be an editor, but these “sandbox” features (I’m using the term Brian Reynolds used) can be accessed directly from game setup.

                          You can set up a single-player “game” with all the players “human” – you can control everyone with or without a supporting national-level AI (unit-level AI remains). All you need do is click on a unit or building and you take control of that nation; you can repeatedly switch among allies and enemies. I took advantage of this in the Preview Beta to set up the Nuke Effects screens: I chose two human-controlled nations in the Modern Age without national-level AI support, developed one to attack and one to be attacked, advanced the target nation to the Information Age, took the "before" shot and saved the game, switched control to the attacker, sent over the Modern Age nuke, took the screenshot, reloaded the saved game, advanced the attacker to Information and developed ICBMs, attacked again and took the third screenshot.

                          After RoN is released I’m interested in using the editor and these sandbox features to set up some historical battles, with me controlling both sides. While paused I’ll give orders to both sides and then watch the action, trying out all sorts of maneuvers and what-ifs.

                          I would imagine if you’re really in for a single-player challenge, you could set up a game with several nations with national-level AI support for all. You could jump from nation to nation either helping the victors or the underdogs, perhaps your self-imposed goal being to keep every nation in the game until the Information age.

                          Well, these are pre-publication musings. I hope BHG retains all the sandbox features they now have. It was always fun in my days of cardboard counters and map gaming to play solitaire and set plan against plan.
                          The more tools, the better.

                          BTW: What, no arrays !

                          Comment


                          • #28
                            Woo yeah! Tools are great.

                            No arrays PATCH!!
                            Concrete, Abstract, or Squoingy?
                            "I don't believe in giving scripting languages because the only additional power they give users is the power to create bugs." - Mike Breitkreutz, Firaxis

                            Comment


                            • #29
                              If you do maths, just imagine a matrix...

                              Bascially, arrays are variables that can store more than one value. Pretty much like a table. For example, in SLIC, the CtP/2 scripting language, you can have (one-dimensional) arrays that act like a row of a table, storing numbers for example.
                              In other languages they can store other variable types, strings, integers, etc.

                              One-D array with size 3:
                              defined as Array[3]


                              012


                              It was hoped that RoN scripting would allow multi-dimensional scripting, so that each array index (position in the array) would act as a row in itself, or in other words form a proper "table"

                              2D array with size 3,3
                              defined as: Array[3][3]




                              000102
                              101112
                              202122



                              So a string array defined:
                              array NewArray[];
                              NewArray[0] = "Hello "
                              NewArray[1] = "Tassandar"
                              NewArray[2] = "5000"

                              print(NewArray[0] + NewArray[1] + NewArray[2])

                              would give "Hello Tassandar5000"

                              But of course their use is far more flexible, because it allows you to access the indices within 'for' loops and such, so it has a distinct advantage over just using many variables, not to mention the lines/time spent defining and remembering what each variable would otherwise be.

                              eg.
                              for(i=0; i < 3; i ++){
                              print(NewArray[i])
                              }

                              would again bring out "Hello Tassandar5000"
                              Last edited by Immortal Wombat; March 31, 2003, 18:11.
                              Concrete, Abstract, or Squoingy?
                              "I don't believe in giving scripting languages because the only additional power they give users is the power to create bugs." - Mike Breitkreutz, Firaxis

                              Comment


                              • #30
                                Code:
                                static boudicea_id        = 19;  // HACK!!  find_unit(HUMAN, "BOUDICEAN");
                                Incidentally...

                                good thing: units are integers
                                bad thing: no sign of direct DB access to them

                                good thing: units are also strings
                                bad thing: find_unit(player, unit) only works on strings??
                                Concrete, Abstract, or Squoingy?
                                "I don't believe in giving scripting languages because the only additional power they give users is the power to create bugs." - Mike Breitkreutz, Firaxis

                                Comment

                                Working...
                                X