Well played! 0.2 (feedback appreciated)

this is not a game, but it is however game related. it’s a high score server.

I know it’s a bit more work to test a high score server than a game, but I really need your feedback. if you can’t be bothered to test it fully, please just give the GUI a go and perhaps comment on the ease of use.

I’d especially like feedback in the following areas:

[] GUI functionality/design
[
] ease of use (good design?)
[] missing features
[
] bugs in general
[*] performance

go to http://h55d205.delphi.afb.lu.se/apps/wellplayed for a quick tutorial, screenshots and downloads, or if can’t wait to get your hands on this, download it directly from http://h55d205.delphi.afb.lu.se/apps/wellplayed/well_played-0.2-public_alpha1.zip

Thanks in advance. :slight_smile:

EDIT: broken url

It looks very nice.
However, what is the use of it? I am pretty sure everyone here that can design a game can design a high-score server as well for their own to fit their application better?

Actually I quite like the idea. Just buy this thing and blam that much less work to do for every game.

thanks for the feedback so far! very appreciated. i thought it would be a good time to get some feedback when the basic stuff is implemented and before i move on to new never-seen-before-features! :slight_smile:

[quote]It looks very nice.
[/quote]
thanks!

[quote]However, what is the use of it? I am pretty sure everyone here that can design a game can design a high-score server as well for their own to fit their application better?
[/quote]
well, i mainly wrote this since i needed it for my own games. when i wrote my first game, cleverly named millPong, i wanted something like this but i was unable to do it at the time. i found some free stuff on the net, but they all were text based and not very flexible.
actually, i planned on doing this at a much later time, but i got sick of coding on my game so i did this for a while to get some time off from the game :slight_smile:

so i thought why not release it for free for everyone to use? beginners can use it for their games and people who just are too lazy to write one on their own. (yes, programmers are lazy)

i know one friend and one friend of a friend that are gonna use it for their own (kinda small and simple, yet fun) games so i think there’s a potential market (who knows, i might connect it to a SQL db and make millions of it. fat chance, i know ;D)

[quote]Actually I quite like the idea. Just buy this thing and blam that much less work to do for every game.
[/quote]
thanks!

feedback is good. positive feedback is better. constructive feedback is the best one! ;D do you think the client side of it is well designed? too easy? too hard? not flexible enough?

EDIT: typos

alrighty then, i know you all can test other people’s stuff (yeah i’ve seen princec’s threads :D), so i’ll post myself then :slight_smile:

i’ve implemented graphs as well now and the ability to export the graphs as jpgs. it’s now also possible export the tables to two formats; tab delimited text files (for use in spreadsheet programs (Excel, etc) and to HTML.
any other export options that are feasible?

sorry, no new screenshots or new downloads… wait for 0.3.

Graphs! I need no graphs!

What I do need is some way of securely transmitting hiscores that’s very difficult to fake. Some clever public/private key thingy. If I sent you an email address, hiscore, registration key, and what level I attained, all hashed up, I suspect it would be impossible to guess a correct hash that would reverse at my end using the private key into a valid looking highscore.

I’ve just realised that’s total bollocks. Well, you figure it out :slight_smile:

Write that for me :slight_smile: I’ll even buy a copy off you.

Cas :slight_smile:

wooo feedback!

i also came to that conclusion that registration is the only way to prevent cheating. this is what needs to be sent to the server:

  • name
  • passwd
  • score
    (is email really needed?)

otherwise it’s pretty hard to prevent cheating (have a look at http://www.java-gaming.org/cgi-bin/JGOForums/YaBB.cgi?board=OnLin;action=display;num=1038905756;start=30 for instance)

The problem is that people hate to register due to the fact every site nowadays require registration and often one will end up getting tons of spam. If there is some program that’s available for trial to download and there is a compulsory registration, it gotta be a damn good program if i’m gonna be bothered to register! It took me a long time to register on the new JGO site. JGO is a horrible example; two registrations needed!

but yes, i’ll add that feature. shouldn’t be that hard although i put the highscore server on ice for a while since i went back to coding on a game for a while instead.

Registration will do little to prevent invalid highscores from being submitted. At least by the hacker types… At some point it will boil down to send this int to the highscore sever and if they can patch that to send the int they choose then so be it.

You can only obfuscate things to create a small deterrant.

As Cas probably realized, a public key only secures the transmission from prying eyes, it does nothing to validate that the content isn’t a lie.

I would use a simple hash. That will be enough to prevent somebody snooping the network communication from figuring out how to fake highscores. If they dig into the code though it’s just a matter of time.

If you want to get real nice - go over and grab axis and expose it as a webservice. Then any game (regardless the language it was written in) can access it as a central repository (of course - you’d have security and all other sorts of issues then)…

If you are going to that then please make two versions:

1> axis (using SOAP)
2> XML over http (no SOAP)

I suspect the only way I’ll be able to cut out outrageous cheats is by making a graph correlation of score versus level versus playing time and marking scores that fall outside of 3 standard deviations from the mean as suspect. There’s all sorts of other information can be sent to the validator; the good thing is that the client never knows what information is being used to validate the score because they don’t have the validator class to hack. I’ll know for example that they can’t have shot 1,000 enemies by level 4 for example, and so on. But they’ll have to cheat very, very subtly, or play the game in invincibility mode (in which case I’ll know they’ve not lost enough lives). There’s always someone who’ll cheat somehow but for most people it’s not worth it. Besides - clear down the scores every week. The cheater, having bested the hiscore table, will probably never bother again. Triumph over and done.

Cas :slight_smile:

[quote](in which case I’ll know they’ve not lost enough lives)
[/quote]
Hey then YOU would be cheating ;D

For that to really work you would occasionally have to have some sort of way to force them to die with darn near 100% probabitlity… which isn’t really fair either, is it?

If somebody did exceptionally well and then they were accused of cheating, well that would suck.

err, two questions:

  • what is axis apart from a company (AXIS Communications) next door?
  • what is SOAP?

:smiley:

SOAP - Simple Object Access Protocol…

It is a Remote Procedure Call (RPC) protocol written in XML syntax. It often uses HTTP as its transport protocol, but any underlying protocol like FTP, SMTP can be used. SOAP is, togheter with XML, the building stone of the XML Web Service Technolgy. Two more standards are used with XML Web Services today (excluding ongoing security standards), WSDL (Web Service Description Language) and UDDI (Universal Description, Discovery and Integration). WSDL descripes how to communicate with the Web Service component, the parameters, where the service can be connected, the protocol to use (SOAP) etc etc. UDDI is the yellow pages for Web Services.

now that’s enough new acronyms for a week :slight_smile:

any idea where to begin?

I can promise you that I can give you some more new acronyms if you like to ;D XKMS, XKISS, SAML, EBXML, WS-Sec, XML-Security, SOAP-digital signatures etc etc

If you like to try to use Web Services in Java I start with GLUE, a free java library for Web Services. Of course SUN also has one with it’s Web Services Developer Pack. The beauty with GLUE is that it contains a small HTTP server in the library so no third party Servlet container server is needed, like tomcat etc. This makes it easy to distribute you Web Service so that others can also host it.

Also GLUE has a great tutorial on Web Services and the use of their library. Even if you not choose to use that library this tutorial is a good one to start with.

Some links

http://www.themindelectric.com/glue/index.html
Click on the “user guide” to enter the tutorial

http://java.sun.com/webservices/
The WSDP by SUN

And last a master thesis written by me and Hans Hörberg about Web Services (ONLY AVAILABLE IN SWEDISH, sorry about that)
http://www.umeweb.com/exjobb/

ok thanks, it’s on my todo-list now. not top priority (making the game good is though), but it’s still on it. about the swedish thesis; I think I can manage to read it :slight_smile:

You are one of few lucky people on this earth to speak the lovly language of Swedish ;D