Announcement

Collapse
No announcement yet.

ICQ Meeting on macro/scenario stuff vs. code structure; JimC, Blade Runner, you in?

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

  • #31
    Bl7
    Re: Me6

    1. Agree.
    2. Agree.
    3. I vote for the first and the third.

    Blade
    Blade

    Comment


    • #32
      Re: Blade

      True, regarding performance, but a lot of people (myself included) go for budget computers. I won't be seeing an Athlon for quite some time....

      However, having said that, the hotspot compiler seems to yield huge performance increases to Java code - well designed Java programs can now easily match C++ code with a little thought, since Java is much easier to perform good high-level optimization on (obviously 3D graphics etc. are exceptions).

      Jim

      Comment


      • #33
        me7

        OK, now is there any serious speed penalty in using full java bean access functionality over plain vanilla java? It seems it shouldn't be large, but I gotta ask...
        Project Lead for The Clash of Civilizations
        A Unique civ-like game that will feature low micromanagement, great AI, and a Detailed Government model including internal power struggles. Demo 8 available Now! (go to D8 thread at top of forum).
        Check it out at the Clash Web Site and Forum right here at Apolyton!

        Comment


        • #34
          [mca5]
          re me7

          The overhead will be a method invokation and any sanity checks the method does.

          [appendix: this is for member variable access only. Normal method invokation should be the same. ]

          Martin
          [This message has been edited by mca (edited September 04, 1999).]

          Comment


          • #35
            Bl8
            Re: Me7

            Yes and No.

            Yes: The system will call a method to read or write a variable all the time.
            No: The code is better organized and you neednt check every time the value of the variable is valid or not.
            (Rem: I use frequently Delphi. I try benchmarks, but there was only a few % speed different between the OOP and the component oriented application. I hope this is the same with Java.)

            Blade
            Blade

            Comment


            • #36
              me8

              OK! So we have the levels described in ME6 more or less locked in. What specifics do we need for each of the levels? 3 Takes care of itself.

              1. For the Standard Scenario tool, its mostly GUI work since the same stuff in the code to support the macro language will support 1.

              So it looks like the largest issue for right now is to firm up 2. the macro language capabilities and data access. We've already talked a lot about it... any big contentious areas? F_Smith wanted XML... I think mca's example convinced me I don't much like it for programming. What do others think?
              Project Lead for The Clash of Civilizations
              A Unique civ-like game that will feature low micromanagement, great AI, and a Detailed Government model including internal power struggles. Demo 8 available Now! (go to D8 thread at top of forum).
              Check it out at the Clash Web Site and Forum right here at Apolyton!

              Comment


              • #37
                JimC,

                The HotSpot compiler is available (or will be) on Linux and Mac, or just run under Windows and Solaris?

                Blade
                Blade

                Comment


                • #38
                  Hotspot availability for Linux / Mac?

                  I haven't got a Scooby.

                  (Scooby Doo; clue)

                  Jim

                  Comment


                  • #39
                    [mca6]

                    re JimC/me8 - language features.

                    If we agree that all serious hacking should take place in Java, I suggest the following features for the scripting language:

                    - Implicit variable declaration.

                    - Typeless variables.

                    - Control structures: for, while, if/then/else

                    - Event triggers and functions.

                    - Data access: the accessible data structures should be the same for the macro language and the off-line editor.

                    - Provided methods/functions: Any methods that the accessible components provide. This may be overkill (not from an implementation perspective, but to prevent "information overload" in the scenario builders :-) so alternatively: Anything reasonable that shows up during development.

                    - Operators: basic arithmetic and logical operators (and, or, not, +, -, *, /, <, >, >=, <=, =, != (<>)) Nothing fancy, like --, +=, <<, etc. is needed, I think.

                    - Probably something I forgot

                    [added:] Basically, I would be happy with Blade Runner's model, except for the explicit variable declarations he suggests.

                    Martin
                    [This message has been edited by mca (edited September 04, 1999).]

                    Comment


                    • #40
                      me9

                      Blade Runner has already done Serious work oulining the general macro capabilities in the links at the top of this page. Unless anyone has BIG problems with his general approach I propose we adjourn and look at his Ideas more carefully.

                      Agree with mca6 above...

                      The main message from the point of the ongoing java coding is that all the code should use java bean structure.

                      Is everyone happy? I know JimC is... he just escaped from coding in a dank cell all day

                      If its ok with everyone, thanks for your participation, and see you around. If its not ok, I need to pick up my wife and will be back in about 20 min.

                      [This message has been edited by Mark_Everson (edited September 04, 1999).]
                      Project Lead for The Clash of Civilizations
                      A Unique civ-like game that will feature low micromanagement, great AI, and a Detailed Government model including internal power struggles. Demo 8 available Now! (go to D8 thread at top of forum).
                      Check it out at the Clash Web Site and Forum right here at Apolyton!

                      Comment


                      • #41
                        Bl 10
                        Re: Me8

                        There is two possibilities: to find a Java macro language which is fit for our goal, or develop something ourselves.

                        1. Which is available:
                        a) Javascript interpreter (quite easy to use but somehow difficult to read)
                        b) NetRexx Java extension (difficult to use, the language powerfull and easy to read)
                        c) Basic interpreter (as is)
                        d) Java itself

                        2. What can we produce:
                        a) C-- or CPascal (the mix of the two language read my language description)
                        b) Pascal subset (This is my vote: structured, easy to understand, easy to read, etc.) [And I use professionaly 15 years ago...]
                        c) C subset (Also structured but somehow everybody like to write unchiperabl;e code with this language)
                        d) ?

                        Blade
                        Blade

                        Comment


                        • #42
                          Bl (I think 11)
                          Re: Mca6

                          I'm quite happy without type declaration. But I think the variable and constant declaration is VERY important. I use BASIC for serious programming for a few times ages ago. My (and my colleges) common mistake was mistype the variable names or outwrite an important variable. I spend more time to debug these kind of problems than the rest of the bugs altogether. My new suggestion:

                          Variable
                          One;
                          Two;
                          Three;
                          EndVariable

                          Constant
                          XXX = 10;
                          CCC = 1000;
                          VVV = "BLABLA";
                          EndConstant

                          If the user Mistype the variable the interpreter send a "Not declared variable" or "Not declared constans" error message.

                          (I need to call my wife. I'll be back about the same time like Mark.)

                          Blade
                          Blade

                          Comment


                          • #43
                            [mca7]
                            re: bl11

                            How about making it an error to use any undefined variable, then (as opposed to an undeclared one), and of course an error to redefine a constant. Consider:

                            someFunction()
                            {
                            const theAnswer = 42;
                            x = theAnser + 111; // theAnser undefined. This error can be caught at compile time.
                            theAnswer = 111 + x; // theAnswer is constant and cannot be redefined/assigned to. This error can be caught at compile time.
                            const theAnswer = 111; // same thing.
                            }


                            (No, I don't like to declare constants/variables in specialized blocks either, but that's just a personal preference )

                            Martin
                            [This message has been edited by mca (edited September 04, 1999).]

                            Comment


                            • #44
                              Bl12
                              re: Mca8

                              Aha. This is one of the basic of the structured languages: One needs to Define the variables.

                              Anyway. I have a solution for this problem:

                              There will be two possibilities:
                              Opc.1/The user can declare the variables and arrays.
                              Opc.2/ The user just define the variables and arrays.

                              In one module they cannot mix the two style.

                              Blade
                              Blade

                              Comment


                              • #45
                                [mca9]
                                re bl12

                                Damn, I thought I had that defined/declared thing right. Would you please elaborate?

                                Martin

                                Comment

                                Working...
                                X