JGF v3 - status

FYI, coding the next version of the Java Games Factory is going well; although there’s nothing to see yet, I thought I’d let you all know what’s going on (seeing as things have gone pretty quiet recently, and I’ve been very slow to do updates - everyone else has been replying to stuff, or testing stuff, quickly, but I’ve been the bottleneck :frowning: ).

Last night I got the main system running for the first time:

  • GrexEngine (expedition edition: no clustering)
  • Velocity (widely-used java templating engine)
  • app-cache (prototype from Grex; final version will be finer grained than traditional web page-caching because it caches actual method-calls, along with metadata - e.g. who the user is, and whether that affected the execution - for higher hit ratios and cheaper misses, hence better performance)

Meanwhile, weston’s been doing some good stuff with templates; it looks like we’ll continue the trend of each successive version looking much nicer than the previous one (co-incidental with me having less direct input into each one ;)).

Still a long way to go, but I can now start using some pre-existing Grex GE modules (e.g. for user-management etc) so things should speed up a bit. If I can find the money to pay for it, I’ll transfer to a dedicated server as soon as the basic login + first pages are working so you can have a look and watch it grow (but the current JGF page will continue to be the “live” version for some time to come - I haven’t even begun to think about porting the data across)

(PS: I wasn’t sure if this was the most appropriate topic; I spent some time umming and ahing about where to post, so hopefully I ended up picking the best one…if not, sorry!)

Good to see that JGF is an evolving website on Java games !
I can’t wait to see the next version…

Blah^3, about my LWJGL tutorials, I’m going to make an HTML version, but don’t expect it before some weeks (I got to much work those days…). Anyway, I’ll notice you when it’ll be ready to be posted on JGF !

Chman

Nothing special, but the CMS now has a fully-working http implementation, integrated with the VTL engine (c.f. the URL in the screenshot - it’s being diverted to a grexengine service which has an embedded VTL engine, and parses out the view name from the URL)

NB: very low quality image because there isn’t much spare bandwidth right now, and I don’t want to risk going over the edge

http://grexengine.com/sections/externalgames/jgf-v3-alpha1.jpg

Most of the JGF time this past week has been spent on re-designing the default staged server that comes with Expedition. It had been originally developed as a simpler version of the clustered GE servers, and came with various useful things like a ByteBuffer-based file cache. But…no-one had ever been using it for sending large (uncacheably large - e.g. tens of megabytes) files, and so it only supported pre-loading each file into memory before streaming it out (no stream-from-disk support). But of course JGF v3 needs the capability to stream large numbers of large files concurrently with constant bounded mem usage.

So, I’ve taken the existing layers for encoding data and doing buffer-management (which all expedition servers are built on top of) and unified them with a streaming system, so that the two are transparently integrated. It’s a bit more than we ever expected an expedition licensee to actually need, but it’s very neat, and much nicer to analyse the flow now (e.g. when debugging). I can’t see anyone complaining (although this will is delayed till the next expedition major release, since it requires some minor refactoring of existing code, and hence is not 100% runtime backwards-compatible).

PS the attached screenshot shows Velocity template-embedding; the next stage is to replace that with the grex-CMS template embedding (it’s the difference between imperative programming and OOP - velocity template embedding is merely “run template X, insert the literal output here”, which is very weak and hard to maintain in the long run as you embed more and more deeply).

PPS Most of the data in the screenshot is “faked” data - it’s not being pulled directly from the XML files (yet), although the page itself is being dynamically generated from 10 different files.

PPPS Yes, the stylesheet is a little screwed up. Partly that’s my large local font sizes, partly it’s that this is just an early draft that Weston put together, so he’s not tweaked it yet (and didn’t expect me to post it publically :P).

EDIT: PPPPS Cas - it’s not my fault, I didn’t choose AF as the example this time! :P. This is what happens when you give your game an alphabetically top name, people just tend to pick it off the top of the list ;D

[quote]This is what happens when you give your game an alphabetically top name, people just tend to pick it off the top of the list
[/quote]
Oh, surely not… ::slight_smile:

With regards to hosting files - I recommend you use filekicker to host downloads. Then you can get a much cheaper server to run the rest of the site.

Cas :slight_smile:

As noted elsewhere, right now it’s not physically possible to get “much cheaper” whilst still having root access + java etc.

I also want to be running a proper jardiff service and some other neat stuff that realistically we can only do if the downloads are streamed locally.

Looks very good and promising! :smiley:

Heres a slightly higher quality image :slight_smile:

http://cyntaks.com/projects/jgfscreen.png

Regarding the new layout:
Not bad. I personally think that the gray bar behind the word “Java” in the logo seems a bit out of place. Also, I don’t like the contrast in the quote on the logo. See how it looks with another color, or some ps layer effects.

So how far away do you think we are from the new jgf?

fortunate to hear only criticism for the banner since it was only created to fill that blank spot ( closer to what will eventualy be there than a black rectangle ), but I actualy have to no idea what will be there in the long run.

There needs to be a ‘rating’ for the games. Based on user feedback.

Waste of time. Don’t rate. Reviews maybe, but not rate. Encourage people to think.

Cas :slight_smile:

Hum I don’t think rating is a good idear, just let the users post comments on the game instead :slight_smile:

Chman

Editorially moderated comments, at that. Or you end up with crack codes, spam, v4igraz, etc. all over it.

Cas :slight_smile:

[quote]Editorially moderated comments, at that. Or you end up with crack codes, spam, v4igraz, etc. all over it.

Cas :slight_smile:
[/quote]
Indeed.

However, I think there’s definitely a place for some kind of ratings; at the very least, an automated ranking system e.g. based on number of hits, number of people who clicked on the download link, etc (c.f. google which keeps track of precisely which search restults you chose to follow, which then feeds back into their SEO stuff).

One idea that came up was to hold weekly votes for certain categories, e.g. “cutest graphics”, “funkiest soundtrack” etc, and to permanently keep the ranking for each game in each category. That way, a particularly good game would show up as “97th “best graphics”, 23rd “best retro game””, i.e. you could get an idea for how good a game was in different dimensions…

Yes looking good!

Now get ye all over to the jgf and

donate
Donate
DONATE
DONATE!!!

;D

Well let me explain why I wanted a rating:

Most of the games there now are crap. I mean that in the most respectful way :). How many of them would you pay even $10 for? There are a couple, but the majority are simply cute diversions while surfing the web, exactly the kind of stuff that has a negative effect on promoting Java for games.

To that end it is also important to highlight new additions some way so that people will try them and therefore be able to rate them.

I agree. Ratings COULD be broken into different catagories so that serious ratings can be given, like, 1-10 on gameplay, sound, video, replay value, etc. That way people who don’t have Java installed and can’t figure out how to get it running won’t just toss up a 0 rating to the game because they’re pissed since it’s more complicated than that. I also like the reviews idea.

However, rating the games on hits/plays alone isn’t a good idea because then the new games get neglected. I think there should be a way to sort by neglected games, so that the games with the fewest number of times played gets shown up top.

Either that, or sort by NUMBER of ratings. Games could have a + or - button, so you can give a + if you liked it, - if you don’t. That way you know how much attention has been given to a game and you also know what people thought of it. So if you look through the games with the fewest ratings, you can play those so that the new, or hard to find, games get attention.

To extend that, you could have a link and a shrunken screenshot and description in a box for the “Neglected Game of the Week” so that people that first jump in to JGF will see a little display of a game that needs some attention. Considering that’s the first game that they’ll see, they’ll probably be willing to try it.

Ultimately I’d like to get a rating system that only allowed you to rate the game if you had actually played it. I.e. a small bit of code in the game that sends a “tick” to the JGF server to say “game launched OK”, and probably another one when the player quits to say “game was played for X minutes”. Then the ratings can be filtered by “only people who player for at least 3 minutes” or “people who played this game for more than 30 minutes” so you could get a good idea of the accuracy of the reviews…

Whatever happens, neglect is a serious problem. It merely becomes more “obvious” a problem with hits/plays. Either way, we need to work around it, and it’s an area I personally will be concentrating on getting right. I think a combination of:

  • admins highlighting new games as they’re submitted (“new games this month” section at the side of the news page, for instance)
  • any user submitting a game for “special attention” e.g. by filling out a paragraph of why they think it deserves some extra attention, which admins then read and decide on
  • “random selection” box that just picks one game at random each day, or similar

will go a long way. Keep the good ideas coming :wink:

[quote]Well let me explain why I wanted a rating:

Most of the games there now are crap. I mean that in the most respectful way :). How many of them would you pay even $10 for? There are a couple, but the majority are simply cute diversions while surfing the web, exactly the kind of stuff that has a negative effect on promoting Java for games.
[/quote]
This is a very good point, and one that JGF to date has never been good at solving. I’ve spoken to a lot of people about this, and the best idea that has come out so far (although it would be great if someone could come up with a BETTER one :P) seems to be an evolution of the original JGF, where games were marked as “gold”, “beta”, or “alpha”…but with the new site, backed by an SQL DB, it’s much easier to just sort by “gold only” etc.

Seems it would also be better to have more informative / funky names, like “under construction” instead of “beta” and “early preview” instead of “alpha”. And also a section something like “practice area” for people who are writing games more for their own practice than for people to play … e.g. Pong and Tetris clones. There’s nothing wrong with a game starting off in one category and moving to another - that’s what we have admins for :slight_smile: - so e.g. if a crappy tetris clone evolved into a 3D multiplayer game then it wouldn’t be a problem…

Basically, the problem is expectations: e.g. an area where developers can offer advice to first-time hobbyists writing their first or second game is absolutely fine, just so long as people viewing the site don’t end up there thinking it’s full of games representative of the best java has to offer…

[quote]Basically, the problem is expectations: e.g. an area where developers can offer advice to first-time hobbyists writing their first or second game is absolutely fine, just so long as people viewing the site don’t end up there thinking it’s full of games representative of the best java has to offer…
[/quote]
(emphasis mine)

That is exactly what I mean. There needs to be a place to honor the showcase games… the polished stuff from puppygames, and perhaps Tribal Trouble when they have something public to show. And for less polished owrks in progress that show great potential, like Wurm, Magicosim, etc… And then an arena for the beginners or people that just want to play around with small-scale stuff, like Tiny Rivers and the tetris clones. To judge them all in the same category is unfair. To present the latest tetris clone as state of the art in Java gaming is also not right.