Of Interest to ASL fans

Gamers can also use this forum to chat about any game related subject, news, rumours etc.

Moderator: maddog986

Les_the_Sarge_9_1
Posts: 3943
Joined: Fri Dec 29, 2000 10:00 am

Post by Les_the_Sarge_9_1 »

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"
I LIKE that my life bothers them,
Why should I be the only one bothered by it eh.
Challerain
Posts: 269
Joined: Sat Jun 16, 2001 8:00 am
Location: Mansfield, Texas

Post by Challerain »

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
Posts: 3943
Joined: Fri Dec 29, 2000 10:00 am

Post by Les_the_Sarge_9_1 »

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".
I LIKE that my life bothers them,
Why should I be the only one bothered by it eh.
larth
Posts: 27
Joined: Mon Apr 14, 2003 11:20 pm

Post by larth »

Originally posted by Veldor
No I certainly agree with you on that. It is most important that you START with the AI which VASL doesnt have.
Ok, excellent, that is where JASL is today.

Or at least without a human to human play method the amount you could charge for the product would be HIGHLY diminished.
That may be and seems to confirm that it is a business rather than technical decision to be made.

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.
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.

Well, assuming you aren't sacrificing the quality of one feature to include another, isn't more features always better?
Do I need to mention "clippy" from word here? :) Sure, more features are generally better but there is a limit. I prefer finishing of one feature before adding another (especially if has already been made available elsewhere).

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.
That is what it sounded like, if not then we certainly agree.

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.
Thank you.

Lars
--

"2b|!2b?" (Hamlet)

JASL - computer ASL http://www.thuring.com/asl/jasl/index.html
larth
Posts: 27
Joined: Mon Apr 14, 2003 11:20 pm

Post by larth »

Originally posted by Mac
Never been to Parola (that's a shame)...
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!

None of my Swedish friends like sauna ;).
Whimps! :)

RAII != GC. With RAII I can do guards (Java has synchronized), 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?
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


Garbage collector may be good when you prototype but it's not a licence to write stupid code.
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!


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.
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.

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?
Not me! ;-) Still, since the source is there you can 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).


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?
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.


I would argue your example is a library example not a language. Same goes for like mutating keys in Java maps etc. stupid code. 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 ;).
Fair enough! I have to look if foo(i, i++) is defined in the Java lang spec.


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.
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:
java.lang.NullPointerException
at com.thuring.jasl.w.<init>(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)
...


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...


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.
It was a trivial example, the problem gets much worse in longer methods. With "a.set(a.mul(10));
" you see 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.


Defence exhibit A, word arbitary. Since when do programmers produce arbitary code?
Since not all programmers were "me"! :-) No, I mean what another person means with his overload will not always coincide with what I mean.

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.
:) 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).


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.
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
--

"2b|!2b?" (Hamlet)

JASL - computer ASL http://www.thuring.com/asl/jasl/index.html
larth
Posts: 27
Joined: Mon Apr 14, 2003 11:20 pm

Post by larth »

Mac,
Originally posted by Mac
I don't have a Java standard so I cannot say what foo(i++, i) does ;).
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.

Les,

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
--

"2b|!2b?" (Hamlet)

JASL - computer ASL http://www.thuring.com/asl/jasl/index.html
Challerain
Posts: 269
Joined: Sat Jun 16, 2001 8:00 am
Location: Mansfield, Texas

Post by Challerain »

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
Posts: 3943
Joined: Fri Dec 29, 2000 10:00 am

Post by Les_the_Sarge_9_1 »

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.
I LIKE that my life bothers them,
Why should I be the only one bothered by it eh.
Post Reply

Return to “General Discussion”