Elias mentioned Mono to me the other day. I kind of ignored Mono these last couple of years, waiting to see if Microsoft tried to shaft them in some way.

However, I think Mono has gotten to the point where it might actually be the solution to all my Java problems, and there's an irony.

My Java problems are thusly:

Not officially allowed to ship tweaked VMs embedded into my products. Looking at the Sun license this is actually a bit of a grey area but the fact is it's not endorsed and my efforts to get permission to do this have been faced variously with silence, ridicule, vague promises to contact someone about it, or hostility. Why do I need to do this anyway? Because Webstart is shit for my customers - period - and I won't here another word said about the subject by anyone not in my position. Talk to the hand, baby.

Proper generics, delegates, etc. and a host of other C# niceness. C# has some very, very cool language. It's as if a magic fairy got fed up with all the annoying bits in Java and fixed them. And then released the language to a standards body!

Easy compilation down to native code. .net was designed to allow this kind of thing. Sure I'll lose 10% performance. But as the Java freaks in here are so happy to point out, who cares when I'm not using anywhere near 100% CPU even on weedy machines?

Easy integration with native libraries. Imagine just how easy LWMGL would be to code when 90% of the glue needn't be written, as Mono can call GL directly for most of its calls.

The extreme mismanagement of all things Sun. Endless meetings to discuss minutiea of GL bindings, for chrissakes! A blithering CEO without a clue!! The ever-mysterious GTG who've been on the case for well over a year now with nothing to actually show for it!!! Where's my million bucks guys? Do you want to showcase Java or just let it all happen by accident? See the pioneer over there? He's the guy with the arrow in his back! It ain't gonna happen without proper money!

Consoles. I'll not be getting Java on any console, ever, in a capacity that I can use. Mono on the other hand might as well just be a nice portable DLL. Perfect.

could you make a summary of what your customers don't like in Webstart please?I'm curious about that.I'd also be curious to have an idea of how many license you could sell for one given software or during any given month, provided you want to talk about that.I have the impression you were one of the little guys who was succesful in selling java software, even if course it would never be as succesful as a 100%windows app.

As for Microsoft suing Mono I don't think so, actually I wouldn't be surprised if they were secretely encouraging it. To promote .Net and to hurt java (and it works doesn't it?).

All I can say is, look at Microsoft's track record. Mono isn't important enough for them to kill it yet. When the time comes that they consider it a threat they will not let it succeed. They will change the Windows code such that nothing written for the .Net CLR will work on Mono, or they will deprecate the entire CLR (more likely - they are a pretty stupid bunch)

You would think that people would remember how Microsoft screws them (and the entire computer industry) over repeatedly, but sadly people always come crawling back to be part of the big monopoly.

Mono will give you games that run on Windows.. Maybe if you are lucky they will run on Linux, though I somehow doubt it will "just work".

I don't know much about this, but I'd like to ask why you think that?

Quote

Question 20: Has the GNOME Foundation or the GNOME team adopted Mono?

Mono is too new to be adopted by those groups. We hope that the tools that we will provide will be adopted by free software programmers including the GNOME Foundation members and the GNOME project generally.

Question 21: Should GNOME programmers switch over to Mono now?

Yes, we believe that Mono 1.0 is ready to be used as the main development platform for building applications for the GNOME desktop. Mono includes Gtk# a .NET binding for GTK+ and various GNOME libraries which together with C# and the System libraries provide developers with great productivity for building graphical applications especially when compared to GTK+ or Java Swing

It's time to prove to your friends that your worth a damn. Sometimes that means dying; sometimes that means killing a whole lotta people.

However, I think Mono has gotten to the point where it might actually be the solution to all my Java problems, and there's an irony.

Whether you're right or not, it's interresting to note that mono doesn't actually solve any of your problems, which afaik boils down to distribution:

Quote

Not officially allowed to ship tweaked VMs embedded into my products. Looking at the Sun license this is actually a bit of a grey area but the fact is it's not endorsed and my efforts to get permission to do this have been faced variously with silence, ridicule, vague promises to contact someone about it, or hostility. Why do I need to do this anyway? Because Webstart is shit for my customers - period - and I won't here another word said about the subject by anyone not in my position. Talk to the hand, baby.

And mono solves this how?

Quote

Proper generics, delegates, etc. and a host of other C# niceness. C# has some very, very cool language. It's as if a magic fairy got fed up with all the annoying bits in Java and fixed them. And then released the language to a standards body!

Irrelevant IMO. The productivity gains between Java and C# is next to 0. And it is certianly not something that would make me change language because I want to make games!

Quote

Easy compilation down to native code. .net was designed to allow this kind of thing. Sure I'll lose 10% performance. But as the Java freaks in here are so happy to point out, who cares when I'm not using anywhere near 100% CPU even on weedy machines?

And this differs from java how?

Quote

Easy integration with native libraries. Imagine just how easy LWMGL would be to code when 90% of the glue needn't be written, as Mono can call GL directly for most of its calls.

Who cares? LWJGL is already "done" - point is moot

Quote

The extreme mismanagement of all things Sun. Endless meetings to discuss minutiea of GL bindings, for chrissakes! A blithering CEO without a clue!! The ever-mysterious GTG who've been on the case for well over a year now with nothing to actually show for it!!! Where's my million bucks guys? Do you want to showcase Java or just let it all happen by accident? See the pioneer over there? He's the guy with the arrow in his back! It ain't gonna happen without proper money!

And Microsoft is going to manage the game tools better than sun for indies? - fat chance. All of their new stuff (XNA) is minded towards AAA titles.

All I can say is, look at Microsoft's track record. Mono isn't important enough for them to kill it yet. When the time comes that they consider it a threat they will not let it succeed.

Ah, but you're missing the really, really important bit: Microsoft taking action in the future is completely irrelevant to the here and now.

If, right now, you can make more money shipping solutions on Mono than on Java, then it would be stupid to not do it. This is the tech world - there's no place for stability here! If Mono gets shut down at some point, you can always move on to something else - something will appear to take its place, guaranteed. Once the transmutation of code into cash has taken place, nothing that happens in the future will revert it.

If you're trying to make money from programming, then you either need to be the pioneer or the sheep. The pioneer fails most of the time, but has a slim chance of making a lot of money, while the sheep follows market trends and enjoys the "fad" payoffs.

Now, the Java developer, um. Hang on... Ah!

You see, the tapeworm finds a good thing and sticks with it. Unfortunately, while the money comes in, it never does so in large quantities, and the malnourishment of the host will eventually spell doom for the happy little tapeworm.

The parts of Mono that I am interested in are free from Microsoft's clutches. In fact they are the bits the Microsoft have explicitly endorsed - the runtime implementation is a cleanroom implementation of the CLR, which is actually in the hands of the ECMA now. Furthermore it's LGPL so no-one's going to be taking it off us as it is practically impossible to contain.

I can throw out the vast majority of Mono under this license and leave myself with something that looks uncannily like my little micro-game-JVM. All I then need is "LWMGL" and I'm back to where I was before with Java, without fear of anyone dicking me over and certainly with no fear that anyone's going to pull any stupid stunts on me (like for example suddenly producing a crap generics implementation, or totally ignoring a request for a very important feature like structs for years and years).

I'm not anti-Microsoft by any stretch of the imagination. I love some of M$'s products. But this isn't Microsoft, it's LGPL, and it has all of the advantages of Java that I currently enjoy - managed memory, crossplatform, general total ease of programming - but none of the disadvantages.

I can throw out the vast majority of Mono under this license and leave myself with something that looks uncannily like my little micro-game-JVM. All I then need is "LWMGL" and I'm back to where I was before with Java

Does Mono have a Mac version though? Any why C#/Mono, rather than Blitz or D?

Yes, there's an OSX implementation. And the reason "why C# not D" is because of support. There's a massive infrastructure conveniently built up around .net that's all compatible. I expect Eclipse will support it soon enough too if it doesn't already.

And as for why not Blitz, well, it's because I'm very comfortable with Java-style syntax and paradigms, no need to go totally uprooting everything.

Aren't you a bit afraid of gc ? Mono uses boehm's gc, which was certainly a state of art implementation of gc for C/C++ 15 years ago... but today, for managed languages, it is a bit rusty IMHO.

I know that I won't touch conservative gc any more even with a 10-foot pole for any serious work (we hit MAJOR problems with IBM jvm for very serious client and only answer from IBM was to allocate smaller byte arrays - we tried to allocate 16MB array with 200MB of free memory on heap and failed). For smaller projects it might be ok - but anyway, boehm is way very dated technology, created for C, and not managed vm.

With C#, gc performance/reliability might be of less importance because of structs, but have you actually tried to do some memory/garbage intensive test with mono ? It would be very bad to again hit 100ms gc breaks, when java finally have got over with it...

I'm just curious, why mono and not c++/ogl? You want small executables, easy distribution, and crossplatform. That sounds like gnu tools and sdl to me. There are alot of c++ garbage collectors around too.

Well I don't have it, and I bet 99.999% of your OSX customers won't have it... so for sure you are forced to distribute it with your game. So what you say, you can make a cut down version... sure then you have to support a cut down version on all platforms along with your LWMGL implementation. The only advantage over Java is your download times.. which we all know are rapidly becoming inconsequential since everyone is moving to high speed access. It jsut makes no sense to me to put any effort into mono. You know it's future is doomed from the start because MS will be sure to doom it when the time is right, and you already have everything working in Java. It just makes no sense at all.

It's funny how the same sort of whiners that claim Java isn't "open source" have no problem supporting the work of the devil (I AM anti-microsoft with very good reason, I've seen what they've done and it pisses me off.) with their own CLR implementation, when they CAN just as easily make a runtime that runs java code.

Has the Java generics implementation actually caused you REAL problems? Or are you just complaining because it isn't perfect and it might cause a problem for you maybe 0.01% of the time?

When you claim that you aren't going to be getting Java on a console EVER in a capacity that you can use, do you know that or are you speculating? And even if you had Java on the consoles TODAY, do you have a way of getting your game on to the console? How many consoles are set up to download games from the net? Every console owner I know has to go buy/rent a DVD or CD.

I'll agree with one point though.. the GTG appears to do nothing from this point of view. They have no time to maintain this site, they were asked to keep us up to date with a weekly bulletine and that happened for all of one week many months ago. But they claim to be really busy doing stuff... in a Wally of Dilbert sort of way as far as I can tell.

I have severe doubts of Mono vs. MS CLR compatibility. I don't have ANY facts to y what works or doesn't at this point.

The fact is that it is in Microsoft's best interest for Linux to fail.

So what did they hope to gain by giving away the whole CLR thing? Why do they allow Mono to exist? Well obviously it is to damage Java, knowing full well that their monopoly on the desktop is so overwhelming that it doesn't matter what they throw to the Linux crowd. But if they damage Java.. that helps to suppress the Linux crowd a little longer. If decent JAva apps can run on Windows and Linux you see that provides a migration path away from their precious monopoly. Mono is a point of control in the Linux world for Microsoft.

MS is a convicted monopolist with a tendancy to ruin promising technologies... If Mono gets too much attention to the point that Linux might be a viable option for main-stream computer users (it clearly isn't there yet, except for some of us geeks) then MS *will* find a way to ruin it, having damaged both Java and Linux in the process.

When you claim that you aren't going to be getting Java on a console EVER in a capacity that you can use, do you know that or are you speculating? And even if you had Java on the consoles TODAY, do you have a way of getting your game on to the console? How many consoles are set up to download games from the net? Every console owner I know has to go buy/rent a DVD or CD.

In any case, I doubt that anybody who isn't part of a BIG publishing company will ever be able to enter the console market.The ps3 and XBox2 are out very soon and when they are on the market the consumers will stop using their PS2 and XBOX1 alltogether (like what happened with the PS1), the few people who will remain with these consoles will probably not use them to play independant games.About those next gen consoles : several established game companies are already complaining that they won't be able to deploy the manpower necessary to make good games on these machines.And I doubt any indie develloper would be able to make a breakthrough in the market of mini-shooters and 'oldies', just look at how companies like nintendo are making sure these bases are covered with their mario/wario games and their re-issue of so-called '8 bit classics'.

I think the market of an indie producer is not on consoles but really on the home computer. and nowhere else.

It jsut makes no sense to me to put any effort into mono. You know it's future is doomed from the start because MS will be sure to doom it when the time is right, and you already have everything working in Java. It just makes no sense at all.

It makes sense from a psychological point of view. The following is just an observation of mine; I'll try to put it as sensible as possible with my limited English language knowledge. Since we're off-topic anway, some more off-topic talk...We all know that Cas makes funny and technically smart games, but he's very narcissistic, too (this happens quite a few times with smart coders, by the way). Whenever something doesn't fit his view, we're told in a loud and repeating manner how bad it is for us all, and so on.Now SUN aren't doing what he wants them to do for many years, which makes him kind of angry. One way to "pay-back" is to move to Mono - or at least to announce it loudly.

It's very childlish, basically, but so are men.I'm not saying that Cas isn't right with some of his suggestions concerning Java. However his entire approach to problems concerning Java (there's no perfect machine anyway) shows that he doesn't (want to) fully understand how a large company works. It's not SUN specific, no matter how frequently he tells us so.

Quote

It's funny how the same sort of whiners that claim Java isn't "open source" have no problem supporting the work of the devil (I AM anti-microsoft with very good reason, I've seen what they've done and it pisses me off.)

It's well known that M$ will stop Mono the day they start to think that Mono could cut off a share of their market or that Mono could help the Linux/OpenSource market. There are uncountable possibilities for M$ to reach this goal. A few solid documents handle this topic in great length and detail.

Quote

When you claim that you aren't going to be getting Java on a console EVER in a capacity that you can use, do you know that or are you speculating? And even if you had Java on the consoles TODAY, do you have a way of getting your game on to the console? How many consoles are set up to download games from the net? Every console owner I know has to go buy/rent a DVD or CD.

Cyberyoyo already mentioned some sensible things about the console topic. The console market is a closed one. The hardware manufactures (M$, Sony, Nintendo) control every title which is being published: they can even tell you to alter the graphics, the gameplay, etc, of your game. Without their blessing you're not allowed to play in their arena.Which just means indies will never "land" on the console market: not only it is technically difficult but they're just not allowed to do so. Just the big guys, respectively those mid sized dev studios working for the few big publishers.

So actually for most of us here, the question "Consoles & Java" is an utter fake argument.Why bother then?Because it tends to strengthen the claims of the speaker - psychologically.

In any case, I doubt that anybody who isn't part of a BIG publishing company will ever be able to enter the console market.

Nope. There already are indy publishers who have made it onto the xbox. M$ has a good avenue already prepared for indy gamers to get going. Xbox live arcade is basically counting on indy developers.

Bejewled, Mutant Storm and Richochet Lost worlds were all developed by indies and are all on XLA (and several more garage games (torque engine) are on the way)

Quote

The console market is a closed one. The hardware manufactures (M$, Sony, Nintendo) control every title which is being published: they can even tell you to alter the graphics, the gameplay, etc, of your game. Without their blessing you're not allowed to play in their arena.Which just means indies will never "land" on the console market: not only it is technically difficult but they're just not allowed to do so. Just the big guys, respectively those mid sized dev studios working for the few big publishers.

Again...not sure where you guys are getting these ideas. There are lots of indy developers starting to pre-target the console market and developing their games with easy porting in mind.

The console manufacturers only gain by having games....it's their bread and butter. What makes you think they would cut off another potential revenue stream? There are many indy games that are VERY popular. Last time I checked, M$, Sony and Nintendo were all in the business of making money. They won't turn their backs on another potential revenue stream...and in the case of M$ they are proactively getting indy developers into their console.

Just google for xbox live arcade and indie developers and you will find tons of info from game spy, garage games, indie gamer etc.

This is old news....news i suspect Cas just got sick of hearing. His games are of the same quality/size/target market as many already getting onto xbox but he can't get them on because he is using Java.

My investigations are anything but childish. They are business related. I seriously have to look at alternatives if my business is being hurt by making the wrong decisions.

Java is still the wrong decision for us but I'm still sticking with it, if only because of the huge investment in time, knowledge and code that I have.

Still no access to consoles.

Still no easy legal way to deploy small games.

Still no support from Sun.

Still no VM features to allow cutting-edge game development.

I'm a professional here, I've got to take this into consideration. I'm not asking why everyone else should stick with Java here, I'm asking why I should. I'm kinda hurt by the "childish" accusation. I'm being serious.

Again...not sure where you guys are getting these ideas. There are lots of indy developers starting to pre-target the console market and developing their games with easy porting in mind.

Hardly ever read anything about that on Indiegamer/Dexterity but so what.I've been experiencing exactly what I mentioned from first hand with a smaller dev studio which works for one of the biggest publishers in Europe. Their (the studio's) recent PS2 game has undergone several major gameplay (!) and graphical changements on demand of Sony at the end of their dev cycle, which brought many problems to the smaller dev studio, naturally.I've been assured it's no exceptional case.Since they work for Sony's and Nintendo's consoles "only", I can't comment on Xbox, but for Europe and Asia the Xbox is negligibly anyway for those concentrating on the big part of the pie.

If Xbox is what concerns you, then I'm egerly waiting for the pleading named "Mono on the Xbox". :-)(I've read the one called "OpenGL on the Xbox - NOT"...)

Quote

The console manufacturers only gain by having games....it's their bread and butter. What makes you think they would cut off another potential revenue stream?

They keep their markets "clean" of titles which don't fit their quality and portfolio aspects, to name just two (the political ones are even more interesting).

I didn't call your unknown investigations childish (narcissistical in first instance) but your behaviour which I observe: on countless occasions you kind of flame Sun and some Java aspects because you think they don't serve your purposes.Well, it's OK to tell the world if one thinks something could be improved. Naturally!It's another thing however to flame a company like SUN if they don't act as you expect.It's obvious that to you SUN's stubborn, which makes you angry. Very angry, see your "F*cking Sun" word on Indiegamer, to name just one.

For me this embitterment is your main motivation to go for an "alternative", not technical issues. However I won't continue to talk about persons: I just wanted to answer Swpalmer's question about what your motiviation is for going Mono.

Quote

I'm kinda hurt by the "childish" accusation.

Well, you're a man who tells frankly and directly and sometimes utterly impolitely what he thinks, so I think it's adequate you bear my observation. Which I didn't wrote in order to hurt you, by the way, but to help Swpalmer's questions. His very logical questions IMHO can't be answered technically, so I tried to give a hint.

I don't think that M$ or the "Mono community" will be able to serve your needs better, because there's no perfect thing in this world.It's even possible that most of us indies won't be able to enter the TCPA decade at all, because when it kills OpenSource (which it will), it'll kill Indies' work, too. In that case it didn't matter what dev environment we choose.

Hey, I'm not angry, or embittered, just disappointed that it's not working out right. And for sure this thread's about me and my business, and not anyone else's, and absolutely I'm entitled to have a huge whine about it, because no-one else is in my position yet.

Most of your reasons for not being more successful are technical reasons. Maybe the answer lies in other areas, eg you only have 2 full games, and one small one. All the games are rather hardcore. Maybe you are limiting your potential audience by not producing a different style of game? Here's an interesting thing - my wife saw me playing Super Dudester and she said it looked fun. I asked her what she meant and she said all the strobe effects and graphics were "fun", but she wasn't interested in the actual gameplay, the shooting side of it. She would've been perfectly happy controlling Elvis just to make pretty colours!

Yes Webstart is too "way out" for 99.999% of users. They don't think "hey what a cool technology", they think "hey wtf is my machine doing??". Which is bad. But you make .exe files anyway so why worry?

And the size argument is a red herring. Your demos are not significantly bigger than anyone elses AFAIK.

So C# has a few niceties, so what? BlitzBasic is a much poorer language than either Java or C# yet people still knock out great games in it.

Put it this way, could you write something like "Best Friends" in Java? Why don't you try something similar? You know, a fun friendly game instead of the hardcore shooters? You might surprise yourself!

"I have never done unit testing and I don’t find it a very useful concept" - Jonathan Blow

java-gaming.org is not responsible for the content posted by its members, including references to external websites,
and other references that may or may not have a relation with our primarily
gaming and game production oriented community.
inquiries and complaints can be sent via email to the info‑account of the
company managing the website of java‑gaming.org