JGF v3 - status

3 months…and you have none of the hard bits, your system doesn’t scale, and you lack the complex features (will you be able to add them? Probably not). But that’s fine if you never want it to go much beyond the current system - you’ve made the perfect choices if your system was easy to build as you wanted it, and would be hard to change: it means you’ve achieved what you were aiming at with optimal efficiency. The fact that JGF was intended to do a lot more than your site forced certain different decisions. You ought to open your mind to that possibility and pay more attention to what the differences are, and what the long-term effects of your own decisions might be, rather than casting aspersions.

I guess you think you know better than most global corporates then, who use J2EE intensively (and often exclusively) to build webpages.

I know about designing and building systems, it’s my profession. Lots of issues affected the choices behind JGF’s eventual implementation - I spent a couple of months just thinking about it before starting. With hindsight, i’d still do it much the same way again next time - although I’d be tempted not to use NIO at all, given the hassle of working around bugs and inadequacies both in NIO and in the things I was interfacing it to. e.g. it is frustrating quite how many OSS projects completely ignore NIO even today :frowning: - despite my offers to several to partially convert their codebases.

Yes, my optimism that after a couple of years in production use Sun’s NIO fully worked, and that after 3 years using it in the GrexEngine I’d seen all the exceptions that mattered, was - in hindsight - largely misplaced. NIO is considerably lower quality than my previous experiences of Sun standard java API’s; they’ve not been this bad since 1.0.x IME (which were worse, IIRC). I still believe in it strongly, but it’s just not ready for production use, except in narrow deployments where you’re only hitting a small subsection of the bugs - or in situations where you have hte manpower and time to make custom workarounds each time you hit a new NIO bug.

[quote]it is frustrating quite how many OSS projects completely ignore NIO even today :frowning:
[/quote]
Just possibly the two are related? :-\

Since when do you know the inner workings of my system and how it “scales”? When I last checked, I, being the only coder, know exactly what goes on behind the scenes… I’ve done a superb job of keeping it simple for the user, yet keeping it extendible for me. Just because I don’t have tons of news posts that say stuff like “bug here, bug there… sorry! server down AGAIN” doesn’t mean my system isn’t complex - so check your facts. I just keep all the technical stuff where it belongs… and the games in front of my users.

The fact about the “long term decisions” doesn’t change the fact that I had a stable site and layout out in 3 months -by myself - without requiring donations. How many layouts did JGF go through…? Why does JGF cost so much when there are so many free ways to make a site? I pay $4/mo for hosting… the volunteered donations thus far have covered that for the next year or 2 and bought me a domain.

I dont claim to be a corporate genius of any kind, I simply stated an opinion… I know opinions that are against yours are tough to swallow. Just because a corporation uses something doesn’t always mean its the way to go. PHP development is faster and less buggy than any servlet I’ve ever come across… and it’s not like corporations have ignored PHP (it is likely to be one of the most popular serverside languages around)

File uploads now, apparently, fully working. I uploaded some games, and everything went fine.

i.e. everything (that was already working at any point) is now working.

FYI, to whoever recommended Apache Commons FileUpload months ago - I’ve ended up using it :). At the time IIRC I said it had a clean looking API although it had no NIO compatibility (major bad point) and I didn’t want to have to go down the full-servlet-compatibility route either. Fortunately, it only requires the smallest of J2EE compatibility, and - unlike Jetty’s built-in MultiPartRequest class - it (so far) fully works.

In classic Apache fashion, the user-guide on the front page uses entirely deprecated methods so I’m not sure how the new replacements are supposed to be used, but the deprecated versions appear to work fine for now :).

Also, having become a recent devotee of IE7.0, I’ll be using that to try and fix all the MSIE 6 CSS rendering bugs on the site over coming weeks.

I know what a LAMP server is capable of and what it is not capable of.

Excellent. I’m mainly doing this for the benefit of everyone else. If Java Unlimited serves a valuable purpose, I’m happy.

Because 20Mb games eat into b/w rather quickly (I have the b/w logs to prove this, from back when the site was just 3 pages of HTML), cheap servers go down like a tarts knickers (very bad for keeping players bothering to come back to the site), and hosting java gameservers is not easy on PHP hosting (something high on the todo list). Amongst many other reasons, but those 3 come to mind off the top of my head.

Profiles now working, with photo upload - and your mugshot will appear on each of your game pages. I’ve kicked us off with a ridiculous photo for myself:

http://javagamesfactory.org/views/view-game?name=Survivor

Not yet checked on MSIE, but people without photos should just get “NO PHOTO”.

Easiest way to upload a photo is just to find one of your games and click on the NO PHOTO link, or else go to your “Personal” page which has a link to your profile page.

Typical profile page:

http://javagamesfactory.org/views/view-profile?name=kevglass

Hey, blah^3, I noticed a bug in your site. If you try to log in and your don’t get your password in correctly, i’m taken to a page that says:

[quote]Please contact the admin / dev-team

Copy and paste everything below this line when contacting them

Throwable:java.lang.Error: Service com.grexengine.cms.core.CMSAuthenticationService returned a null response; this is illegal, please contact service author
Line Source File
283 In bAsynchronousService.java
384 …called from bModule.java
595 …called from Thread.java
[/quote]

Thanks. Fixed.

Blah^3, I don’t know if it’s on your todo list, but here is a small suggestion for JGF :

  • could you please add tooltips to game images (top banner of most pages) or give them a small title ?

Currently I rely on a look at the browser’s status bar to check if I already know the game or not (images are harder to remember) and find it annoying…

Lilian

[quote]cheap servers go down like a tarts knickers
[/quote]
:o

Crikey, I’d like to meet that tart, all the tarts I meet have like 99.6% up time…

;D

Just made a subtle change to the cache headers that on some browsers makes pages load much much quicker, depending upon whether your browser listens to modified times or no-cache headers…

And, of course, there’s the dev-diary stuff mentioned in the other thread.

I’ve uploaded Paradroidz again. it works, but…:

  • I couldn’t use the LWJGL 0.98 from the “Extensions”-list because it failed with a security error (haven’t saved the stack trace, sorry).
  • After uploading LWJGL by myself, the Jars are listed multiple times. This was already broken some month ago…however, this doesn’t seem to hurt.
  • The jnlp works, but it’s “executed” two times (this happens with all other hosted games that i’ve tried too), i.e. it’s downloading all the jars, downloads them again and THEN it finally starts the game.
  • The html-source code is cluttered with a lot of rants why this and that doesn’t work and how stupid the guys from Microsoft, Apache.org and MySQL are. This is very bad style IMHO.

Thanks for the bug reports. I know Mazon has been testing / improving the LWJGL hosted copy off and on - there’s a problem, though, that certs are expensive and LWJGL doens’t ahve a signing cert.

The rest is currently in the “if it works, it’s going to be left alone for a while, even though I’d prefer to fix it properly” state. I wasn’t aware of the double-downloading (never seen that myself, on any of several OS’s and different locations) - but that’s due to be replaced enitrely by the versioned webstart protocol in the future, so doesnt seem worth doing too much with it now.

The JGF is looking good blar, nice one.

Can I suggest adding a “title” attribute to your game links at the top right of the page with the game’s name? I like to see what the game is called before clicking :slight_smile:

Will.

Blah, is there any chance for us to add some other property in jnlp file, for example,
-Dorg.lwjgl.opengl.Window.undecorated=true ?
That could be really handy, not to be constrained with only three properties…

I have another suggestion :stuck_out_tongue:
I noticed one thing is unpractical. I broke my Monstrumo game into 7 jars, so that people will only download minor changed part when I update something, not all.
But: in order to work properly, jnlp file have to have my code class first (that is one with main class) on the list. I noticed thet when I delete my code class to replace it with new one, the new one drops on the end of list in jnlp file. So I have to upload all 7 jar again and people will have to dowload them locally again.
Also, when I add one by one jar, sometimes 3rd or 4th jar jumps in first place in jnlp, so I have to spend a lot of time until jnlp is like it should be. It would be great if we could just select one of our jars with checkbox and make it to be first on the list in jnlp. Hope it’s possible.

Hi blah*3

I just uploaded CroAsteroids. I had so much trouble doing it…what the site definitely needs is FAQ and a Common Problems section. I suppose you are aware of that but lack time all together. It’s a big project running a site like that, financially too.

I wonder if sending a letter to Sun or whomever want Java to be promoted and asking them for a small donation would be a good idea. It does not hurt to try. Java might be the future of gaming and projects like JGF and it is in Sun’s interest to see it happen. What’s your look on that?

Peace!

you can also use that flag in code and not need to put it the jnlp using :-

System.setProperty("org.lwjgl.opengl.Window.undecorated", "true");

Yes! Didn’t occured to me at that time. Tnx, kapta!