(Full Version)

All Forums >> [General] >> General Discussion



Message


Les_the_Sarge_9_1 -> (5/9/2003 6:25:46 AM)

This thread is real humbling :)

I consider myself plenty smart, but I am barely aware of what Lars Veldor and Mac are saying :) half the time. But I am glad I started the thread (one of the more interesting topics I have gotten going in a long time).




Veldor -> (5/9/2003 10:19:26 AM)

[QUOTE]Originally posted by Mac
[B][B]Veldor[/B]

Computer opponent is not a requirement for a succesful business (or fun game). Just think all the (massively) multiplayer games, or games like DBAOL. AI doesn't [B]have[/B] to be included in every game. Subscription based business models can offer better service.[/B][/QUOTE]
I'm well aware of what is required for a good MMPORG having been highly involved in the beta process of the first two ever made (EQ and UO especially), but thats hardly what I was referring to when I made that statement. A computer wargame has different requirement than a MMPORG. First off, as they are generally complex and lack any tutorial, without an AI there is no method whatsoever for even learning the game in the first place. Not likely someone is going to load up Uncommon Valor and start right off in a PBEM game waiting months to even see for the first time parts of the game. An AI is a must for a commercial computer wargame. Or at least for any two player one. (No doubt there are massively multiplayer type wargames that could or are being made that follow a different model but thats hardly ASL which is what we are most specifically talking about here)

[QUOTE][B]
Competent AI would be great but sadly it's not usually affordable (or possible). I would wager that it's actually easier to write an AI to ASL than say Combat Leader since ASL has stabilized and been played for years so there are talented people who would know how to play it well. Not so easy with new games.
[/B][/QUOTE]
I for the most part dont agree with that statement. Consider chess.. All the PROPER moves and countermoves are well documented.. even EXACT.. unlike a wargame that has many random variables, yet it is still an extremely challenging task to make a Chess AI (good one anyway). Writing down what a good move is is the easy part. How good the AI is has much more to do with the methodologies used and at a generic level simple programming talent. But I suppose you could argue what if you also had to come up with what those good chess moves are? But I dont think there is any UNIVERSALLY best ASL strategy anymore than there will be a best Combat Leader one so I dont see either one as really any easier than the other except for CL is probably starting with an AI model borrowed from Steel Panthers or something of the like and done by someone who has done AI programming a few times before. No doubt that would make the ASL AI much harder.

[QUOTE][B]
Aiming for the best in the first place [B]will[/B] make you fail.
[/B][/QUOTE]
Its always worked for me. I have repeated examples. I think its a simple matter of effort given (which so few are willing to put forth much of). Also, the smarter and/or more skilled you are, the less effort needed to achieve your success and goals. But anyone with increased effort can still achieve the same thing.

[QUOTE][B]
What use is a great game if it's not completed?
[/B][/QUOTE]
Well that's the true advantage of a non-commercial game as its forever in beta stage and you get to play it as a work-in-progress for all eternity!

[QUOTE][B]
When something stops being fun it wont get completed unless you get paid a lot. What's wrong in competition? In an ideal world there is one product that satisfies everybody but real world isn't ideal and even attempting to be perfect usually ends up worse.
[/B][/QUOTE]
I think you've got this a bit wrong. Competition IS if VASL and JASL both support the same type of play. One will probably be favored over the other maybe even crush the other. Or perhaps they both succeed. Competition IS NOT JASL not including anything VASL has. What a different world it would be if Microsoft never included anything that SOMEONE else already offered...

[QUOTE][B]
As why board games have a place it's because they are often more convenient, there is real social interaction going on (aka metagame), you're having fun with friends......
[/B][/QUOTE]
You are entirely correct. But mostly in reference to games that can be played by well more than 2 players. These are the types of boardgames that remain most successfull today (Such as the new RISK and so on). Also social interaction and COMPLEX gaming dont really go hand in hand so the popular boardgames of tommorrow will continue to lean increasingly to the easy side as well as multiplayer while the complex ones migrate and/or stay PC based...

[QUOTE][B]
  • Digital cameras are not perfect, plain old cameras just have better picture for comparable price.
    [/B][/QUOTE]
    Seperate debate. Currently many professional photographers have switched over to digital. At worst they are equally good but digitals do offer the extra editing capabilities, ability to print yourself, eternally stored "negatives" and so on.
    [QUOTE][B]
  • Young people have also other reasons for doing things. Certainly not all old people are like you imply but stay up with the latest tech. In fact they finally have the time to do it.
    [/B][/QUOTE]
    Its not a matter of staying up with technology. Its what you were used to when you were brought up as a kid. You might see no reason not to use a typewriter for something you need to do and have no problem with carbon paper but to a younger person its just not viewed the same. Both of you might have an equally good P4 computer but the older person will still use his typewrite, a younger person is never ever going too. Im sure there is an exception somewhere but the general fact remains.
    [QUOTE][B]
  • C++ has flaws too.
    [/B][/QUOTE]
    Never said it didn't.
    [QUOTE][B]
  • Commercial quality has sometimes to do with good, not always. Most commercial quality games we would probably find boring and uninteresting so what's the reason to follow the standards they set?
    [/B][/QUOTE]
    There is a bar somewhere that represents the minimum exceptable level for a commercial product in each of many areas. Overtime that bar raises. The bad games generally just barely meet or exceed those bars and the good games far excel over them at least in one or two areas. More often new games just copy successful old games without really offering much that is new. No commercial games are written in Fortran. That's not a reason to start writing them in it.




  • Veldor -> (5/9/2003 10:37:52 AM)

    [QUOTE]Originally posted by larth
    [B]No. Why is it imperative that I [U]start[/U] with recreating the functionality of VASL when JASL is doing something diffrently?
    [/B][/QUOTE]
    No I certainly agree with you on that. It is most important that you START with the AI which VASL doesnt have. But if you do aim for a hopeful semi-commercial or commercial release, you will have to also included some method of human to human play as well. I see that as FACT and odd that you would debate it. Or at least without a human to human play method the amount you could charge for the product would be HIGHLY diminished.

    [QUOTE][B]
    Perhaps you are to fixated on earning $'s, that might be the difference between us.
    [/B][/QUOTE]
    No, $$$ is the furthest from any motivation I've had in working on any of my own projects. Its unlikely even a highly successful wargame would ever amount to even a small fraction of what my regular career earns me. If I want $$$ I would pursue starting a fulltime game development company making a UNIQUE MMPORG which I have skills in but is too big a project to do just myself and makes little sense to give up a stable secure high salary for the absolute barren unknown in this economy anyways.
    [QUOTE][B]
    Why do you believe I would not want JASL to be the best?
    [/B][/QUOTE]
    Well, assuming you aren't sacrificing the quality of one feature to include another, isn't more features always better? It certainly makes a product more desireble to have and especially to buy. I wouldn't like having to do things one way in VASL and a different way in JASL. Especially if you put together a truly better interface with game mechanics and rules reference I am going to be sitting in VASL playing another person and saying "god this sucks I wish I had all the stuff that JASL has".
    [QUOTE][B]
    Measuring success can be done in different ways: How would your rate a less-than-perfect JASL compared to a planning table full of great but unrealised ideas?
    [/B][/QUOTE]
    Never meant to imply (If thats what your thinking) that you should just DROP all your AI work and immediately start on duplicating what VASL does. Remember initially I said i thought it should all have been part of a joint effort like VASL was always intended... But if thats not going to work then you SHOULD continue as you are, but once you have a reasonable workable AI, you should include a human to human option as well.

    I'd like to point out and clarify that I've never been AGAINST your JASL project (except as it relates to getting MMP's approval).. I simply stated a perhaps extreme dislike of Java (but hey I guess thats just me) and a preference for JASL or whatever the next ASL PC app is going to be to be a commercial quality one.

    I'm a bit disappointed if no one is realizing that my main motivation past sticking up for the copyright issues I believe in, is in achieving the best possible PC ASL product for the community. That is something many many ASL players would like and I would imagine we are all on the same page with that desire and goal.




    Mac_MatrixForum -> (5/9/2003 6:08:26 PM)

    [QUOTE]Originally posted by larth
    [B]If you happen to be anywhere close to the Parola Armor museum (near Helsinki) later in August I am sure you can get a free taste of ASL at the annual Finnish tournament held there![/B][/QUOTE]

    Had I not said that I would've never known there are such players in my school ... could've guessed though. Never been to Parola (that's a shame)...

    [QUOTE][B]and yes, the metagaming includes sauna! ;)[/B][/QUOTE]

    None of my Swedish friends like sauna ;).

    [QUOTE][B]
    Well, if you like RAII then you know it is good about a GC! It allows you to concentrate on the coding and not about when to return memory to the machine.
    [/B][/QUOTE]

    RAII != GC. With RAII I can do guards (Java has [I]synchronized[/I]), networked resources, file handles (Java supposedly does this), ... whatever nice things you can do with auto vars in block structures. C++ isn't perfect in RAII but templates do lend a hand already. Where are Java destructors and auto variables?

    Garbage collector may be good when you prototype but it's not a licence to write stupid code.

    [QUOTE][B]
    Was the bug in a Java GC or in RAII?
    [/B][/QUOTE]

    The feature was that the gc would not run and database connections lingered in garbage objects. That prevented database access (because of the max limit). Mind you this was not easy to detect because it occurred at seemingly random times. In C++ there would've been explicit release for sure.

    [QUOTE][B]so you actually have a chance to fix the bugs (perhaps by defining a new class when you can't fix it by inherit and overide).[/B][/QUOTE]

    That's not my job if I'm not the library author and I would not do it unless my career depended on it. Unfortunately I've had to do it to find the true cause to an obscure error in another library. I needed to know the exact path taken so I could avoid it in my code. Not fun. Besides some of the stuff (especially AWT) is native code ... you wouldn't replace because of performance anyway. Ok who wouldn't want to fix some stupid things like Stack inheriting Vector?

    [QUOTE][B]
    If there is a bug which prevents a library on a specific platform to perform as intended that is bug only and not a weakness in the concept itself. The same if a lib is unfinished. But you always have the possibility to use others if available.
    [/B][/QUOTE]

    But that defeats the purpose of of using standard libraries. Everybody uses them, they are well debugged, everybody knows what they do, ... Ok this is what I do in C++ but the libraries I use are rather well known. No need to be in standard.

    Anybody ever wonder why J2ME doesn't have the containers (at least it didn't used to) so I'm supposed to write my own when doing something for a phone?

    [QUOTE][B]For me "undefined behavior" is the defined result in the C language and as far as I know C++ for certain cases. There are no undefined behavior in Java [I]the language[/I] as far as I know, e.g. like what strlen(NULL) does.[/B][/QUOTE]

    I would argue your example is a library example not a language. Same goes for like mutating keys in Java maps etc. [B]stupid code[/B]. There are a lot of language level issues which mean C++ is not an easy language. I don't have a Java standard so I cannot say what foo(i++, i) does ;).

    [QUOTE][B]
    But there is a huge difference between using debuggers and getting a stacktrace, namely that to use the debugger you have to start it! Obviously! :) A backtrace can be returned to you from a user which don't have a debugger.

    Creating logs is a different matter; I have not used the logging classes though I know some say the log4j are better.
    [/B][/QUOTE]

    Umm... you don't always run in a debugger? If this is a release build then you have probably stripped the debug info anyway so you don't get the line info. And you need to have the logs like in other languages.

    java.util.logging works but you will need some good XML tools to read the huge dumps. Probably log4j has all of these already.

    [QUOTE][B]No you get me wrong here. WYSIWYR (tm) says that if you a problem in the doWork() method:
    [/B]´[/QUOTE]

    This is a trivial example and in my experience the operator overloads are used in trivial cases so there is rarely a problem. If you are using smart pointers whatnot you will know that you are using them. This example has ints so you will also know in C++ that the type is a simple type. If it were more complex you would also have to check the specifications in Java.

    a.set(a.mul(10));

    Does mul return a copy or not? Does it throw an exception? Does it throw an undocumented exception with my numbers? You do need to check it before you can write that. Once you read code like that you need to make some assumptions. You need to have the same info in your head in most cases. I for one prefer the readable version from operator overloads. I don't advocate weird dot or cross product operators for vectors because they are not easy to understand.

    [QUOTE][B]There are some implicit calls in Java, true, and the String '+' is one of them, then there is a super() in each constructor and a finalizer call as well. However, these are defined and a programmer cannot add arbritarily to these.[/B][/QUOTE]

    Defence exhibit A, word arbitary. Since when do programmers produce arbitary code? That kind of programmer wouldn't work for me ;). C++ in my view limits operator overloading. I would like more enhanced capabilities to write my own operators etc. That's within the spirit of metaprogramming. Also generic programming requires these things or you have to make basic types real objects. Java immutable replacements don't please me.

    [QUOTE][B]
    When is there undefined behavior in Java? Note that exceptions are defined behavior.
    [/B][/QUOTE]

    But you see all exceptions are not specified even in Java (try NullPointerException for one)... and specifying exceptions explicitly leads into bad maintainability and also makes many templates incorrect, ... so they are not an easy issue.

    [QUOTE][B]
    Se we agree this (file naming conventions) is good!
    [/B][/QUOTE]

    Yes but I see no must to force it from the compiler. Any agreed sane set of coding conventions will do (and perhaps a tool to check it).




    Mac_MatrixForum -> (5/9/2003 6:44:35 PM)

    [QUOTE]Originally posted by Veldor
    [B]...Not likely someone is going to load up Uncommon Valor and start right off in a PBEM game waiting months to even see for the first time parts of the game...[/B][/QUOTE]

    One can always play with himself :). I admit I was mostly picking some nit here but there are good future opportunities for innovative business over the web.

    [QUOTE][B]
    I for the most part dont agree with that statement. Consider chess.. All the PROPER moves and countermoves are well documented.. even EXACT.. unlike a wargame that has many random variables, yet it is still an extremely challenging task to make a Chess AI (good one anyway). [/B][/QUOTE]

    Is it? Computer has won the best humans. So seems like they could do it (latest machines run with only 4-16 processors and cannot match the human with computational power but use smart algorithms instead). The point however is that [B]it is possible[/B] because the game is well known. Unless you know how the game is played you cannot write an AI. Designers may know how the game goes but it does not include years of balancing because of devious players etc. If a project fails because there were crappy practices and bad programmers it's their shame.

    [QUOTE][B]
    Writing down what a good move is is the easy part. How good the AI is has much more to do with the methodologies used and at a generic level simple programming talent. But I suppose you could argue what if you also had to come up with what those good chess moves are? But I dont think there is any UNIVERSALLY best ASL strategy anymore than there will be a best Combat Leader one so I dont see either one as really any easier than the other except for CL is probably starting with an AI model borrowed from Steel Panthers or something of the like and done by someone who has done AI programming a few times before. No doubt that would make the ASL AI much harder.
    [/B][/QUOTE]

    It does not matter that there are several good strategies. The computer can be programmed to follow any one of them or preferably pick a strategy well suited for the situation. The fact still is that there are several good strategies known the computer should use instead of going straight to V-hexes etc. That way the computer actually imitates humans except we cannot metagame-scout his preferences ;).

    So an ASL AI programmer like Lars couldn't have programmed AI for a few times before or cannot do well? Whatever Matrix says they have some financial pressure so they cannot go into the same lengths a hobby programmer can. I hope CL eventually gets there because I don't always want to play online to have fun but I do not demand it to do it all in the first version. Optimally I could try my own AI at some point.

    [QUOTE][B]
    Its always worked for me. I have repeated examples. I think its a simple matter of effort given (which so few are willing to put forth much of). Also, the smarter and/or more skilled you are, the less effort needed to achieve your success and goals. But anyone with increased effort can still achieve the same thing.
    [/B][/QUOTE]

    I suspect you don't aim for the true best then if you still get the job done. Smart people in the industry have failed. Could you be smarter or better than the industry average? Perhaps. We will see when/if Up Front appears. Good luck because it is not going to be easy. Theoretically saying just doing more work does get the thing done but that's not the truth as you should know.

    [QUOTE][B]
    Well that's the true advantage of a non-commercial game as its forever in beta stage and you get to play it as a work-in-progress for all eternity!
    [/B][/QUOTE]

    That's not always a bad thing. Some day it will be in good enough shape so it doesn't matter if you call it beta. Then it will still be improving unlike many commercial products (also because they were coded so sloppily they cannot be improved). You will always get new exiting things. I hope CL will be succesful because then we have a chance of seeing a string of continuous improvements. Any game gets boring after enough playing.

    [QUOTE][B]
    I think you've got this a bit wrong. Competition IS if VASL and JASL both support the same type of play. One will probably be favored over the other maybe even crush the other. Or perhaps they both succeed. Competition IS NOT JASL not including anything VASL has. What a different world it would be if Microsoft never included anything that SOMEONE else already offered...
    [/B][/QUOTE]

    Well you made some comments how you want to make the best end-of-all-other-products type of things. That in my opinion is simply not a good motivation. If MS hadn't included everything we might have web pages supporting alternative browsers and [B]following international standards[/B]. Mind you MS practices were condemned. Do you think a media player or internet browser is an essential part of an operating system? What about its graphical user interface? Do graphics drivers belong into the kernel? There are many issues here.

    [QUOTE][B]
    You are entirely correct. But mostly in reference to games that can be played by well more than 2 players. These are the types of boardgames that remain most successfull today (Such as the new RISK and so on). Also social interaction and COMPLEX gaming dont really go hand in hand so the popular boardgames of tommorrow will continue to lean increasingly to the easy side as well as multiplayer while the complex ones migrate and/or stay PC based...[/B][/QUOTE]

    Easy games are always more popular so there will be more of people playing those but has that ever killed all the others? Easy, simple games don't satisfy everybody. Computer games certainly do have some potential of hiding the boring aspects of complex games but they don't have the same kind of feeling yet.

    [QUOTE][B]Seperate debate. Currently many professional photographers have switched over to digital. At worst they are equally good but digitals do offer the extra editing capabilities, ability to print yourself, eternally stored "negatives" and so on.
    [/QUOTE][/B]

    Yes but I just wanted to address this. Mind the price of the digital cameras professionals use... also they don't pay it themselves or know they get enough payback to justify it. Some day regular cameras will be gone but that day is not yet. That was my point, can't be hasty.


    [QUOTE][B]Its not a matter of staying up with technology. Its what you were used to when you were brought up as a kid. You might see no reason not to use a typewriter for something you need to do and have no problem with carbon paper but to a younger person its just not viewed the same. Both of you might have an equally good P4 computer but the older person will still use his typewrite, a younger person is never ever going too. Im sure there is an exception somewhere but the general fact remains.
    [/QUOTE][/B]

    Smart people can see what change is good. Unfortunately we cannot usually tell what is ultimately good (especially without thorough studies). Are people any happier now than a thousand years ago? Isn't that what we are really after rather than continuously refining our work methods? Remember I'm a technocrat so I do want the improvements since we can all see that there are a lot of things wrong with our world.

    [QUOTE][B]
    Never said it didn't.
    [/B][/QUOTE]

    Yes but when I [I]"argue"[/I] about languages I try to acknowledge the problems of my own preferences too instead of simply bashing others. Perhaps I'm a scientist type who does not know any truths or cannot say any certainties because he can always see so many unsolved problems. Perhaps you see my approach now.

    [QUOTE][B]
    There is a bar somewhere that represents the minimum exceptable level for a commercial product in each of many areas. Overtime that bar raises. The bad games generally just barely meet or exceed those bars and the good games far excel over them at least in one or two areas. More often new games just copy successful old games without really offering much that is new. No commercial games are written in Fortran. That's not a reason to start writing them in it. [/B][/QUOTE]

    No but improvement in commercial world is not a certainty. I agree there has been a lot of good because of Windows as a platform in games (but it could've been done with any windowing system). But using something because everybody else uses it is not the right reason. If you refer to usability in for example free programs then yes there are a lot of problems. But so are there in commercial games. It's a lack of usability experts and lack of their use. It's up to the developers in question to utilize them.




    Les_the_Sarge_9_1 -> (5/9/2003 9:55:56 PM)

    Hmm there is actually something I can comment on.

    Excellence, I support it myself. Always shoot for your best effort, never intentionally limit yourself.

    The moment you are satisfied, is the moment you need to raise your expectations.

    I apply this attitude to making models as well. I never spend "just enough" time on making a model, I always spend the maximum time on each part. If you slack off at any one stage, the end result will highlight all the places where you did.

    I have seen some models with superb paint jobs, indicating the modeller was superb at painting, but the assembly left some opportunities to ruin the accomplishment. A common example being removal of seam work or some other area where the job was to rushed.

    How this can be applied to a computer game, can for me be excellently demonstrated by the game Strategic Command.
    The reason I even cared to play it in the first place, was the interface eh.

    It wasn't the tutorial, or the rule book, or the graphics, or the historical accuracy, or it's ability to be played online. Those are all very valid reasons of course.

    But the game at its very core, is a very well made program where actually running it is concerned. It is in my opinion, quite frankly, one of the most easy to play wargames I have ever encountered in any scale genre or type ever.

    It is always important to spend a maximum effort all the time if something is going to be any good.

    I think the problem with the AI issue though, is it is possible having an AI is sometimes due to mis directed justification.
    An AI not present in a game, where the user is expecting to play the game solo, is of course a problem.
    An AI present in a game, where the user has no desire to play against the AI is obviously a mistake.
    An AI should always be an option, when it should be just that, an option.

    When a game is designed, each component should be given the relevant level of effort, so as to not drag down the whole. Spending to much time on one component, can be a detriment to the game as a whole, if the other portions end up lacking.

    I have seen games that over emphasized one aspect, to make it appealing to a focused group easily swayed by that aspect, only to watch if flounder, because the game as a whole was not a good total all round package.

    The greatest graphics on the market, will not reel me in, if they are part of a bad over all wargame design. I can say that I was very disappointed with Sudden Strike 2 after I was able to play it for a while.

    At first glance, the game looks like a superb game. The graphics are really quite nice looking graphics.
    Unfortunately, the game plays like a mob of grade 3 mentallity forces with weapons added in.

    I can't speak for others, but my wargames must run in a serious credible fashion, or the illusion is broken. If I want silly, I will play Worms Armageddon. It is also challenging, but I was always aware it would look silly, and with weapons.

    And yes the much maligned HoI. When I step back and decide to lay off my comical ranting, in the end, the only thing truely wrong in thinking, was the choice to make a grand strategy micromanaged wargame in real time in my opinion.
    And judging from reports, I think they are planning on using the same game engine for Civil War and WW1 (god help us).

    I think SS2 and HoI are examples of designing a game, and not spending the effort to ensure the whole design is excellent.

    I will likely buy Hubert Cater's next program (he made SC). I will almost certainly not play anything that looks like SS2 or HoI. I have no faith in the people making them.




    Veldor -> (5/10/2003 2:53:51 AM)

    [QUOTE]Originally posted by Mac
    [B]Is it? Computer has won the best humans.
    [/B][/QUOTE]
    I didn't mean TOUGH as in no one could write one. I meant tough as in NOT just anyone can go write a good chess AI. Or, if you can, its most likely because you studied heavily one of the techniques used in making a chess AI (such as minimax).
    [QUOTE][B]
    Designers may know how the game goes but it does not include years of balancing because of devious players etc. If a project fails because there were crappy practices and bad programmers it's their shame.
    [/B][/QUOTE]
    Yes your making a good point except that devious players and "gamey" bugs are equally a problem in human vs human games if not more-so. So a game has to protect against devious players on all fronts, its hardly an AI only issue.
    [QUOTE][B]
    So an ASL AI programmer like Lars couldn't have programmed AI for a few times before or cannot do well?
    [/B][/QUOTE]
    Sure could have but he has already stated or at least implied otherwise. Certainly hasn't done a commercial-grade one. Thats not meant to be insulting just to point out as hopefully everyone agrees AI's in wargames have not been too good on average so, while a good ASL AI can certainly be achieved by anyone, it IS going to take ALOT more time and effort. (Which as you also point out is perhaps why only a "hobbyist" could ever start such a project and/or more importantly complete it).
    [QUOTE][B]
    Whatever Matrix says they have some financial pressure so they cannot go into the same lengths a hobby programmer can. I hope CL eventually gets there because I don't always want to play online...
    [/B][/QUOTE]
    Matrix really doesn't currently fall under the same category as other publishers. For one, many if not all of them don't work for Matrix full-time. That is why they have been able to already delay every single release until it was much more ready, stable, and complete.
    [QUOTE][B]
    I suspect you don't aim for the true best then if you still get the job done.
    [/B][/QUOTE]
    I absolutely do. But the true best is what is actually "ACHIEVABLE". No doubt if you are aiming for something that simply cannot be done or cannot be done without absolute disgusting amounts of resources then you will fail.
    [QUOTE][B]
    Smart people in the industry have failed. Could you be smarter or better than the industry average? Perhaps.
    [/B][/QUOTE]
    Well in all honesty I was refering more to my "actual job" and career more so than side projects such as the two game development projects I've started.

    [QUOTE][B]
    That's not always a bad thing. Some day it will be in good enough shape so it doesn't matter if you call it beta. Then it will still be improving unlike many commercial products.
    [/B][/QUOTE]
    Agreed. But continued improvement is not guaranteed. Since no publisher would be responsible for it, the actual programmers interests, time, and priorities could easily change to where its no longer updated. Of course updates and improvements are anything but guaranteed the other way as well.

    [QUOTE][B]
    (also because they were coded so sloppily they cannot be improved).
    [/B][/QUOTE]
    Hmm. I suppose, though at times it may not seem so, this is one area I am much more humble in. I give a lot of credit to ALL the programmers that have worked on commercial games or other commercial software products. In general they have FAR more experience in that than any hobbyist could ever hope to have yet most hobbyist sit around talking about how they can do a better job than most or all of them. That's why even Microsoft programmers get my respect. I have seen and met many of them and most if not all are REALLY REALLY smart, capable, and dedicated people...

    [QUOTE][B]
    Well you made some comments how you want to make the best end-of-all-other-products type of things.
    [/B][/QUOTE]
    Well the whole idea of JAVA is that if you have a MAC and I have a PC we can still play ASL against each other right? But now if you have VASL and I have JASL we CANT play each other. One unified product would mean everyone can play everyone more easily without acquiring multiple products, learning multiple products, and potentially paying for multiple products.

    [QUOTE][B]
    Yes but I just wanted to address this. Mind the price of the digital cameras professionals use... also they don't pay it themselves or know they get enough payback to justify it. Some day regular cameras will be gone but that day is not yet. That was my point, can't be hasty.
    [/B][/QUOTE]
    Even if I agree with those statements, the general point I was making still rings true. That at some point, maybe not tommorrow, maybe not next week, but probably sooner rather than later... all cameras will be digital cameras. Price is the most easily fixed deterrent. Quality is hand in hand already (ignoring price) and features blow regular cameras out of the water for a long time now. The same will eventually be true of 2 player complex wargames. I suppose there may always be a small group of enthusiasts that mess with it like an antique collector may collect old typewriters but the likelyhood of new games at a certain point will be about as close to nil as possible..
    [QUOTE][B]
    Remember I'm a technocrat so I do want the improvements since we can all see that there are a lot of things wrong with our world.
    [/B][/QUOTE]
    Nowhere is it more apparant how lazy man is than in the workplace where it is usually measurable. Eventually after firing all the perceived lazy workers only to get another round of the same or worse you start to realize whats really needed is a way to make your employees be more productive while putting forth less or little effort. This is where technology has been an overwhelming success. The only flaw in the approach is that to many of the jobs can be eliminated altogether which at some point creates more IT related jobs which then also get lazy IT workers so you need technology solutions to make them more productive as well and so on. But the general end result is that technology has still been responsible for a TREMENDOUS increase in nearly every business's overall productivity as well as in many cases your own home productivity (to assist you with investing, taxes, and/or otherwise managing finances... giving you access to better methods of finding work... free online training or at the very least loads of free information to learn from... and so on)

    [QUOTE][B]
    But using something because everybody else uses it is not the right reason.
    [/B][/QUOTE]
    When that reason is your primary reason or only reason it is bad. But as you know generally which any decision there are multiple factors. That can be a HUGE strength in many areas. For instance in IT using COMPAQ servers because everyone else does or using a MICROSOFT OS because everyone else does can be a HUGE plus. This is because the resources available are SO much greater for installation, migration, troubleshooting, you name it. Both consultants, consulting companies, regular IT staff, formal training classes, books, online resources, etc. all greater for anything if MORE people use it. So thats really a lot to weigh against maybe one or two features or pluses some other product or solution may have. Sometimes its not about what has the most problems but how fast you can fix or how inexpensively when there are problems.




    Mac_MatrixForum -> (5/10/2003 4:58:03 AM)

    [QUOTE]Originally posted by Veldor
    [B]I didn't mean TOUGH as in no one could write one. I meant tough as in NOT just anyone can go write a good chess AI. Or, if you can, its most likely because you studied heavily one of the techniques used in making a chess AI (such as minimax).
    [/B][/QUOTE]

    Yes, I understood you but it's still easier than for a new game, that was my only point. If AI was as trivial as minimax with alpha-beta-pruning and heuristics then all of our problems would be solved. Anybody can code those. Anybody expecting to work in this business at least. In my experience it's not the algorithms themselves that are hard in AI but sound application of them. That is something there isn't a lot of research about. Best you get are [I]"war stories"[/I] from other developers. Tradeoffs they did that worked.

    [QUOTE][B]
    Yes your making a good point except that devious players and "gamey" bugs are equally a problem in human vs human games if not more-so. So a game has to protect against devious players on all fronts, its hardly an AI only issue.
    [/B][/QUOTE]

    Devious was perhaps badly said because I did not only mean dubious tactics. The designers and testers can only come up with limited ideas on how to beat the game. Thousands of players find a lot more tactics. It's a big balancing problem in H2H games like you say. This is a fact why I consider it important to have at least an editor for the game or a developer that still has dedication and will to improve after they [I]"go gold"[/I].

    [QUOTE][B]Sure could have but he has already stated or at least implied otherwise. Certainly hasn't done a commercial-grade one. Thats not meant to be insulting just to point out as hopefully everyone agrees AI's in wargames have not been too good on average so, while a good ASL AI can certainly be achieved by anyone, it IS going to take ALOT more time and effort. (Which as you also point out is perhaps why only a "hobbyist" could ever start such a project and/or more importantly complete it).
    [/B][/QUOTE]

    I can only add that commercial games have many times been disappointing in the AI department. Hobbyists could potentially go a lot further but they have trouble making the rest of the game. Some good results have come from Quake bots and people doing real research in such environments (instead of academic simulations ... Wumpus World anyone?).

    [QUOTE][B]
    Matrix really doesn't currently fall under the same category as other publishers. For one, many if not all of them don't work for Matrix full-time. That is why they have been able to already delay every single release until it was much more ready, stable, and complete.
    [/B][/QUOTE]

    My best wishes to Matrix. I'm certainly ready to wait but I'm also ready to buy reasonable works-in-progress as long as they keep improving them (don't mean patches but the sequels, I don't mind paying).

    [QUOTE][B]
    I absolutely do. But the true best is what is actually "ACHIEVABLE". No doubt if you are aiming for something that simply cannot be done or cannot be done without absolute disgusting amounts of resources then you will fail.
    [/B][/QUOTE]

    Well there is the difference. Yes I always aim to the best achievable (or something a bit over that) but sometimes that is far too much ... as it can go in software development. However that is often not sound business advice. Do your best, yes, but not aim so high. For hobby projects that is always bad advice if you want to finish ;).

    [QUOTE][B]Agreed. But continued improvement is not guaranteed. Since no publisher would be responsible for it, the actual programmers interests, time, and priorities could easily change to where its no longer updated. Of course updates and improvements are anything but guaranteed the other way as well.
    [/B][/QUOTE]

    If the development stops, have we lost anything? No because we did not pay anything in the first place? For commercial products that is different. I expect some patches if the game has bugs or balance problems. For closed source commercial products we can never be sure but open source products are a different breed.

    [QUOTE][B]
    Hmm. I suppose, though at times it may not seem so, this is one area I am much more humble in. I give a lot of credit to ALL the programmers that have worked on commercial games or other commercial software products. In general they have FAR more experience in that than any hobbyist could ever hope to have yet most hobbyist sit around talking about how they can do a better job than most or all of them. That's why even Microsoft programmers get my respect. I have seen and met many of them and most if not all are REALLY REALLY smart, capable, and dedicated people...
    [/B][/QUOTE]

    Oh, Microsoft has some very good programmers. Some of the best. I raise my hat to everybody who can finish something but that does not tell about the internal quality. It tells about persistence, resourcefulness, different kinds of abilities. I do not believe that making things [I]"the right way"[/I] the first time is impossible but it just takes a lot of experience and good coding skills for the entire team (or good management).

    Many people program because they have to, not because they want to. It's not like many people are programming for programming's sake but to accomplish something. Then the code is of little importance, getting something done is all that matters (often a bad tradeoff because done for wrong reasons). I take my programming for its own sake. I like to program to improve. Whatever comes out in my own hobbies is secondary. In my job I do whatever I must but I also try to raise the quality wherever I can because I believe that is the way to success. That is half the truth actually. I have recently coined a motto for myself in the other half. [I]"If it's easier said than done, we are not there yet."[/I] Lets face it, all programming languages in use today are crap. Less crap than 40 years ago but still crap. There's a lot to do. That will help also those who are not so passionate about programming.

    [QUOTE][B]
    Well the whole idea of JAVA is that if you have a MAC and I have a PC we can still play ASL against each other right? But now if you have VASL and I have JASL we CANT play each other. One unified product would mean everyone can play everyone more easily without acquiring multiple products, learning multiple products, and potentially paying for multiple products.
    [/B][/QUOTE]

    Yep but as long as these are free there is less problem. But for all we know we could have two other products next week. That's because some people like to make these things too. Let the best product win then if there is such a thing. There is always room for alternatives and new vision IMHO.

    [QUOTE][B]
    Even if I agree with those statements, the general point I was making still rings true. That at some point, maybe not tommorrow, maybe not next week, but probably sooner rather than later... all cameras will be digital cameras.[/B][/QUOTE]

    But there is something wrong in the statement in relation to this and other conversations on this board. Computer games are not a total replacement for board games like digital cameras are for regular cameras for a long time, perhaps never. Quoting myself from another thread. [I]"When a foldable light few meter wide flat print quality touchscreen with backlight and haptic feedback is common at every summerhouse I will agree that boardgames are dead."[/I] Simple as that then.

    [QUOTE][B]
    Nowhere is it more apparant how lazy man is than in the workplace where it is usually measurable...[/B][/QUOTE]

    But the technology is not a cure for the real problem. That people do not want to work. Ideally you do a job you want to do, that's where some fortunate people are and I hope to be (at least concerning the thesis I'm about to begin I'm there). It improves the outcome but it would further improve if the workers were motivated. Also some work will never be needed again or will never be profitable in the western democracies. This is a difficult real world problem and I'm afraid our current societies are totally unable to solve it.

    I admit I'm very lazy sometimes but that is also a very important quality for engineers. That has been the motivation to develop such inventions and that's why we are not eating bananas in trees ;). Whether that makes us any happier is a discussion for another day.

    [QUOTE][B]
    When that reason is your primary reason or only reason it is bad. But as you know generally which any decision there are multiple factors. That can be a HUGE strength in many areas....[/B][/QUOTE]

    I'm not contesting that a bit. However game industry is not yet like the regular software industry. With the advent of middleware and games becoming a huge business attracting and requiring software engineers etc., it will soon be perfectly true. But still in a 100 member team many will be artists, level editors, designers and only a handful will be engine programmers. Artists are working with standard tools more than anybody else. Level editors use internal tools. Programmers may or may not need outside support. Many times you are working on something that's never been done before or is a trade secret. It's not like you can now just call a consultant or some support person to help you. It's also not like the problems in games are that difficult, more like there is a lot of combining and tedious and less glamorous grunt work. With middleware becoming more usual this is changing. Then you pay for the support. If you are aiming for a console you are very much limited in your choices.

    Ok of course I cannot know for certain since I've never developed games but this the view I have gotten. In the end it may be that you need to do what others do to stay in the business but I just hate doing things in an inferior way should that be the norm :D.




    Challerain -> (5/10/2003 11:22:26 AM)

    Way back when this thread first started, Les was talking about the need for a downloadable demo of ASL. Well, this isn't downloadable, but it is an effort to market ASL for the newbie (look at page 7 - iASL)


    [URL]http://www.multimanpublishing.com/downloads/mmp-insider.pdf[/URL]




    Veldor -> (5/10/2003 11:56:58 AM)

    [QUOTE]Originally posted by Mac
    [B]In my experience it's not the algorithms themselves that are hard in AI but sound application of them. [/B][/QUOTE]
    Agreed
    [QUOTE][B]
    The designers and testers can only come up with limited ideas on how to beat the game. Thousands of players find a lot more tactics.
    [/B][/QUOTE]
    Agreed, but remember that the "TRUE" definition of modern AI includes the ability to learn and think up new things. Something most game AI's are not even close to capable of.
    [QUOTE][B]
    I can only add that commercial games have many times been disappointing in the AI department. Hobbyists could potentially go a lot further but they have trouble making the rest of the game.
    [/B][/QUOTE]
    I thought we already agreed that it is the application of AI algorithms, methodologies, etc that was the true challenge and as its doubtful the average "Hobbyist" has much experience in this area, I do not see how a Hobbyist is going to in general make a better AI. It is true they potentially have more TIME but they are also one person and generally less experienced with less resources. Im not sure that I'm even AWARE of any free games that have an AI much at all not to mention a great AI. Know any freebie wargames with great AI's?
    [QUOTE][B]
    Lets face it, all programming languages in use today are crap. Less crap than 40 years ago but still crap. There's a lot to do. That will help also those who are not so passionate about programming.
    [/B][/QUOTE]
    Agreed. An ideal programming language would let you feed it that word document that has all your ASL strategies spelled out and need little more for the AI to "follow it". But its doubtful that will happen in the next 10 or 20 years. The English language has too many ambiguities and that aside humans make too many mistakes when speaking it and especially when writing it.

    [QUOTE][B]
    Quoting myself from another thread. [I]"When a foldable light few meter wide flat print quality touchscreen with backlight and haptic feedback is common at every summerhouse I will agree that boardgames are dead."[/I] Simple as that then.[/B][/QUOTE]
    Well as I pointed out in another thread as well.. What you are asking for is really not so "far from reality". We have had MASSIVE improvements in all areas of computing... yet the way we fundamentaly send and receive information to and from a computer hasnt changed. That is we still use a keyboard and mouse for input and we still see the feedback on a itty bitty screen generally at a 90 degree angle from us. A more "Star Trek" approach is actually VERY desirable for the workplace and home adoption is never far behind that. A desk sized monitor which is both the input and output device. If you REALLY think about it a keyboard is the silly stagnant thing possible. Why on earth should games have to say use 'w' to go forward, 'x' to go back etc... The display would just display the right command on whatever sized buttons it wanted in whatever orientation. And so on.. We WILL see this sort of thing very soon.
    [QUOTE][B]
    But the technology is not a cure for the real problem. That people do not want to work.
    [/B][/QUOTE]
    Yup but there is no cure for the real problem. Until aliens come to the planet that aren't such lazy bums. Most likely we will all be dead in that event anyways since we are all lazy bums.
    [QUOTE][B]
    It improves the outcome but it would further improve if the workers were motivated.
    [/B][/QUOTE]
    Difficult to motivate most lower paid workers. It is a bit different in the upper scales. Best motivation is usually not being fired but many work just hard enough that they don't get fired.

    [QUOTE][B]
    Programmers may or may not need outside support. Many times you are working on something that's never been done before or is a trade secret. It's not like you can now just call a consultant or some support person to help you.
    [/B][/QUOTE]
    Nah we get called all the time for stuff like that. In the US you have to sign away your life even to consult for a hospital due to all the medical confidentiality laws and so forth. Heck most of the time companies need help in exactly that "SECURING" their trade secrets and making sure no unauthorized persons have access. That's almost always a consultant that performs that task. Even in the rare case where there is internal talent in that area, using it is generally a biased approach to REAL security.

    [QUOTE][B]
    It's also not like the problems in games are that difficult, more like there is a lot of combining and tedious and less glamorous grunt work.
    [/B][/QUOTE]
    Depends. The MMPORG's you mentioned have plenty of difficulties. Server side issues and networking aspects of any game can also be problematic. Occasionaly (and I believe it should be increasingly) outside AI development help. And as you mentioned already.. much licensing of engines and/or middleware type products.




    Les_the_Sarge_9_1 -> (5/10/2003 10:04:43 PM)

    Saw the MMP Insider for the first time not long ago actually Challerain.

    Not quite a demo as you said, but sort of a reasonable first step in keeping the wargaming community updated on their activities.

    Now all MMP needs to do, is find someone that knows how to make a web site that is better organized and more effectively clearer of purpose.

    Sure I have seen worse web sites, but they should be using The Insider as a prmary portal of information, and as it is currently just a link, clarity is not being employed to fullest effect. That and their Status fuction link couldbe a tad more apparent.

    All these details are obvious to a fan perhaps, but odds are they lose a lot of casual traffic to people not being "n the know"




    Challerain -> (5/10/2003 10:11:59 PM)

    Les, I agree with you on the purpose of the insider. What I was actually refering to in my post was the product they are working on called "iASL" for Introductory ASL. Sort of a beginners module to introduce new players without the large upfront cost (hopefully, haven't actually seen the price yet).




    Les_the_Sarge_9_1 -> (5/10/2003 10:32:58 PM)

    Yes might have missed your inference there.

    I have heard about the iASL module a while back. I hope it is done well of course. I will buy a copy just to have it as a teaching tool (it will beat me giving a .pdf file or a photopied loaner I have with the instructions "here read this").

    I am doubtful MMP will embrace the demo notion I have forwarded to them in an email. Ideally making iASL a free download would be a very cool notion. Can't see that happening either.

    But in support of them doing it, I CAN comment, that retail outlets that don't produce those darned expensive but all to necessary catalogues, don't enjoy the same strength of sales of the ones that do produce them.

    An online downloadable file would be a good way to promote the game for the cost in the occasional bandwidth to transfer the files. Definitely capable of being filed under "the cost to do business".




    larth -> (5/11/2003 6:04:10 PM)

    [QUOTE]Originally posted by Veldor
    [B]No I certainly agree with you on that. It is most important that you START with the AI which VASL doesnt have.
    [/B][/QUOTE]

    Ok, excellent, that is where JASL is today.

    [QUOTE][B]
    Or at least without a human to human play method the amount you could charge for the product would be HIGHLY diminished.
    [/B][/QUOTE]

    That may be and seems to confirm that it is a business rather than technical decision to be made.

    [QUOTE][B]
    No, $$$ is the furthest from any motivation I've had in working on any of my own projects. Its unlikely even a highly successful wargame would ever amount to even a small fraction of what my regular career earns me.
    [/B][/QUOTE]

    That makes two of us. I thought we agreed not to compare "equipment" size? :) But since you take us here again; I am a development manager for one company and the managing director of a second. My regular career spans 19 years in three (only) companies working with embedded systems. The first five years was assembly only (Z-80), the middle time period was mixed C and assembly (68000 / 34010) and these days it is C with little assembler (64 bit RISC). These systems are critical to the companies where they are used.

    [QUOTE][B]
    Well, assuming you aren't sacrificing the quality of one feature to include another, isn't more features always better?
    [/B][/QUOTE]

    Do I need to mention "clippy" from word here? :) Sure, more features are [B]generally[/B] better but there is a limit. I prefer finishing of one feature before adding another (especially if has already been made available elsewhere).

    [QUOTE][B]
    Never meant to imply (If thats what your thinking) that you should just DROP all your AI work and immediately start on duplicating what VASL does. Remember initially I said i thought it should all have been part of a joint effort like VASL was always intended... But if thats not going to work then you SHOULD continue as you are, but once you have a reasonable workable AI, you should include a human to human option as well.
    [/B][/QUOTE]

    That is what it sounded like, if not then we certainly agree.

    [QUOTE][B]
    I'd like to point out and clarify that I've never been AGAINST your JASL project (except as it relates to getting MMP's approval).. I simply stated a perhaps extreme dislike of Java (but hey I guess thats just me) and a preference for JASL or whatever the next ASL PC app is going to be to be a commercial quality one.
    [/B][/QUOTE]

    Thank you.

    Lars




    larth -> (5/11/2003 7:06:12 PM)

    [QUOTE]Originally posted by Mac
    [B]Never been to Parola (that's a shame)...
    [/B][/QUOTE]

    It is really a nice museum with between 20 - 30 AFV's and an amored train as the main attractions. Even the ISU-152 is there. The gun section is nice too. I wouldn't want to ski around with one of those Lahti ATR's on my back!

    [QUOTE][B]
    None of my Swedish friends like sauna ;).
    [/B][/QUOTE]

    Whimps! :)

    [QUOTE][B]
    RAII != GC. With RAII I can do guards (Java has [I]synchronized[/I]), networked resources, file handles (Java supposedly does this), ... whatever nice things you can do with auto vars in block structures. C++ isn't perfect in RAII but templates do lend a hand already. Where are Java destructors and auto variables?
    [/B][/QUOTE]

    I take you mean that auto variables share the namespace of class variables? I have gotten used to use shorter names in methods and better qualified for class wide ones. And using "this." even when it is not required - which surprised myself when I noticed it.

    Destructors: you can overide finalize [1] if you need, but I can't say I have ever used it.

    [1] http://www.jguru.com/faq/view.jsp?EID=13946


    [QUOTE][B]
    Garbage collector may be good when you prototype but it's not a licence to write stupid code.
    [/B][/QUOTE]

    Isn't that like saying RAII is good when you prototype? Using these makes much more readable and safe IMO and is not only for prototyping!


    [QUOTE][B]
    The feature was that the gc would not run and database connections lingered in garbage objects. That prevented database access (because of the max limit). Mind you this was not easy to detect because it occurred at seemingly random times. In C++ there would've been explicit release for sure.
    [/B][/QUOTE]

    Ouch. Perhaps adding a resource showing the number of free connections when asked would be a help here. Some would advocate forcing the GC to run, but it still is not a sure way and would probably only push the problem away till the code was running elsewhere.

    [QUOTE][B]
    That's not my job if I'm not the library author and I would not do it unless my career depended on it. Unfortunately I've had to do it to find the true cause to an obscure error in another library. I needed to know the exact path taken so I could avoid it in my code. Not fun. Besides some of the stuff (especially AWT) is native code ... you wouldn't replace because of performance anyway. Ok who wouldn't want to fix some stupid things like Stack inheriting Vector?
    [/B][/QUOTE]

    Not me! ;-) Still, since the source is there you [U]can[/U] fix it if motivated to. Of course it is better when there are no bugs anywhere, but what I meant with the advantage for Java the plattform in the number of standard libraries is that if you have two different programs exchanging information you can be reasonably sure that this has been tested before. Using one socket library from vendor "A" and communicating with one using a library from vendor "B" increases the likelyhood of finding differences in implementation that matters to you (as the programmer using one of these).


    [QUOTE][B]
    Anybody ever wonder why J2ME doesn't have the containers (at least it didn't used to) so I'm supposed to write my own when doing something for a phone?
    [/B][/QUOTE]

    Resources constraint most likely [2] and something that will change over the years. Considering that the first linux based mobile phones are released it is my strong conviction that the future will lead to this device being the central in your life, e.g. not one phone, one PDA, one Laptop and one PC.

    [2] Since there is even one C++ version especially created for embedded applications this is not really Java specific!

    See http://www.caravan.net/ec2plus/ for more on the rationale behind this.


    [QUOTE][B]
    I would argue your example is a library example not a language. Same goes for like mutating keys in Java maps etc. [B]stupid code[/B]. There are a lot of language level issues which mean C++ is not an easy language. I don't have a Java standard so I cannot say what foo(i++, i) does ;).
    [/B][/QUOTE]

    Fair enough! I have to look if foo(i, i++) is defined in the Java lang spec.


    [QUOTE][B]
    Umm... you don't always run in a debugger? If this is a release build then you have probably stripped the debug info anyway so you don't get the line info. And you need to have the logs like in other languages.
    [/B][/QUOTE]

    Not really. Usually I write code, compile and run in a cycle of perhaps 2 - 8 minutes. Since compiling is done in the background all the time (using Eclipse) there it is rather "coding & correcting" (compile in background) correct again, and run.

    Eclipse as tool is the most impressive single piece of development support I have ever seen. Impressive support for productivity, refactoring and catching errors. Unfortunate sideeffect is that I use Emacs less and less :( ...

    The release builds include line numbers. The code scrambled using an obsfuscator but you can define what should be left inside, like line numbers. An stacktrace from a user might look like:

    [QUOTE]
    java.lang.NullPointerException
    at com.thuring.jasl.w.(SourceFile:235)
    at com.thuring.jasl.action.a.d(SourceFile:96)
    at com.thuring.jasl.gui.K.a(SourceFile:140)
    at com.thuring.jasl.gui.v.c(SourceFile:241)
    at com.thuring.jasl.gui.f.actionPerformed(SourceFile:131)
    at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    ...
    [/QUOTE]



    Well, looking up the name "com.thuring.jasl.w" in decoding table file I can quickly see that the null error occured in a specific file on the line indicated. I even see how the program landed there.

    It is freaking cool for me as a developper and saves a lot of questions ("What did you do?", "What was the last the program did and so on?"). I wish I had this at work...


    [QUOTE][B]
    This is a trivial example and in my experience the operator overloads are used in trivial cases so there is rarely a problem. If you are using smart pointers whatnot you will know that you are using them. This example has ints so you will also know in C++ that the type is a simple type. If it were more complex you would also have to check the specifications in Java.

    a.set(a.mul(10));

    Does mul return a copy or not? Does it throw an exception? Does it throw an undocumented exception with my numbers? You do need to check it before you can write that. Once you read code like that you need to make some assumptions. You need to have the same info in your head in most cases. I for one prefer the readable version from operator overloads. I don't advocate weird dot or cross product operators for vectors because they are not easy to understand.
    [/B][/QUOTE]

    It was a trivial example, the problem gets much worse in longer methods. With "a.set(a.mul(10));
    " you [B]see[/B] that there is a call with all what that entails!

    Now, with overloading you can potentially have that problem in all lines of code. And if you do not know you have to check.


    [QUOTE][B]
    Defence exhibit A, word arbitary. Since when do programmers produce arbitary code?
    [/B][/QUOTE]

    Since not all programmers were "me"! :-) No, I mean what another person means with his overload will not always coincide with what I mean.

    [QUOTE][B]
    That kind of programmer wouldn't work for me ;). C++ in my view limits operator overloading. I would like more enhanced capabilities to write my own operators etc.
    [/B][/QUOTE]

    :) In some cases I would perhaps agree that overloading is justified, say for mathematicians that want to be able express their rules more closely in the source code and equal cases. However, with unicode around the corner perhaps using different symbols would improve this, and for multi line expressions in the source (like for integrals etc).


    [QUOTE][B]
    But you see all exceptions are not specified even in Java (try NullPointerException for one)... and specifying exceptions explicitly leads into bad maintainability and also makes many templates incorrect, ... so they are not an easy issue.
    [/B][/QUOTE]

    Still, exceptions as such are a defined mechanism. "Undefined behavior" is the opposite. In some C user groups they even use expressions like "Demons flying out of your nose" to emphesize that the results are really undefined / unexpected.


    see you,
    Lars




    larth -> (5/15/2003 2:38:06 AM)

    [B]Mac,[/B]

    [QUOTE]Originally posted by Mac
    [B]I don't have a Java standard so I cannot say what foo(i++, i) does ;).
    [/B][/QUOTE]

    I have download the Java Language Spec now and checked. It is defined in "15.7.4 Argument Lists are Evaulated from Left to Right" and then goes on to specify just that. Each parameter is fully evaluated and when all are the call is made. So in this case if i == 2 before it reaches the line with the foo() call it will pass the value 3 to both parameters. Left to right rules other cases too.

    [B]Les,[/B]

    I downloaded and looked on the LockNLoad demo. You're right, it is very cool idea! I am quite sure it has helped generating intrest in the game. The rules are small too.

    see you,
    Lars




    Challerain -> (5/15/2003 9:02:45 AM)

    Les,

    In the past I've heard you say that you don't like the MMP website. Well, here is your chance. This was posted by Brian on the consimworld board:

    Guys,

    If you could request a change to the MMP website what would you request?

    We're switching ISPs and having the site professionally "redone" over the next month or two and we're totally not against gutting it and starting all over.

    The P# engine won't change, but the skin it uses might.

    I have asked this question before and have the emails from that request, but would like to see if we get some new ideas with a second poll. Thanks, your participation is very much appreciated.

    Brian




    Les_the_Sarge_9_1 -> (5/15/2003 11:13:32 AM)

    Cool tomorrow's project, I like it.

    Yeah recently Columbia Games's web site went from worthless to quite impressive.

    The site is done by the owner, so professional is not always needed.

    As I see it, MMP has an "alright" site, if all they want out of it is a store front.

    The Matrix Games home page is about the same. It functions.

    Personally, if MMP wants to supercharge their site, they should open at least a modest forum where people can comment.

    Because I have seen Consimworld, and it sucks as far as being functionally useful (my opinion, but then my opinion clearly means something to me at least).

    Wargaming sales are a veeeeeeery thin margin as best I can see, and if you don't put out a maximum effort, your future is not automatic.




    Page: <<   < prev  2 3 4 5 [6]

    Valid CSS!




    Forum Software © ASPPlayground.NET Advanced Edition 2.4.5 ANSI
    0.75