giovedì 25 luglio 2013

Gluon and the state of the project

Hello, I'm the guy currently working on Gluon project for GSoC with the idea of Making the Create > Discuss > Play workflow actually work.

Last year:

Well, last year I joined GSoC too, always with Gluon, and I wrote a working OCS server just for Gluon purposes. Of course it's not full featured neither bug free, but it's currently serving us at this address: In addition, I developed the future Gaming Freedom web site that is using our OCS server too.

This year:

I started a partial rewrite of the Gluon Player which now uses QML and plasma components. Here is a screenshot of it running:

It currently supports login/logout and registering a new account but the target for the end of the project is to browse and play games. Also graphics isn't perfect and amazing but we can always improve it after having the application working.

What games?

In order to play games we must have games. So yesterday I finished to fix Gluon Creator (which is a game creator) in order to work with our central OCS server, so you can now make your game, log into GamingFreedom network and publish your games automatically.
Gluon Creator will give you the possibility to modify description, changelog, version and so on, but the most amazing part of it is that it will create a "gluonarchive" that will be uploaded to server, ready to be played!



And you'll find your game there on Gaming Freedom website page!

What's next?

I'll plan to give the possibility to the player to actually play games through QML Gluon Player, and eventually, give feedback like comments and votes. I'll also update my scratch repo with the updated sources of the OCS server, in case someone else needs my work.

Thank you for the attention, have a good day! :)

sabato 9 febbraio 2013

Ruzzle Cheat v1.1 + HG repo

Hello! :)

Time of an update of the python ruzzle solver! The inner algorithm is changed and is way faster than the previous. This time, I don't ship dictionary with the source. You can easily grab them at:

Small usage sample:
python   [lang] [grid]
python it nahcyeksmtbudew

You have to create a folder called "dicts" and put in it the dictionaries, called like [lang].txt es it.txt for it language.

This time, I distribute via hg repo:

Profit! :)

giovedì 17 gennaio 2013

Cheating in Ruzzle

Hello people! :)

Yesterday my girlfriend was playing around with this game Ruzzle and observing it quickly I decided to try a game.

Results? I suck in Ruzzle! :D I completely can't get a sufficient streak of words in order to win and be satisfied of myself. Of course this wasn't good in any way because meh.. I hate losing!

So after an other quick look I decided to cheat, but not in any simple way or buying some ridicolous apps. Also I don't intend to alter the game executable in any way or use fake calls. That's noob cheating and... well, we're not noobs, are we? ;)

I opened up Geany and started writing a simple Ruzzle Solver in python that takes in input the board and compute every possible path into the ruzzle board. My solver actually just prints the found words on the board and starts inspecting on the top-left corner of the grid.

Is it efficient? No. It's a bruteforce and there could be many tunes in order to make it more efficient, some of them language dependant.

Is it enough? Quite yes. For now, I can average 500/600 points a match with peaks to 800/900 with the right words. The real problem is that you still NEED to find the words on the grid. RS can also print the path to the word, as it save the current state for that word, but it would be too slow to actually see the path and follow it. I found particularly efficient to do it in 2, one speaking the words out loud and the other one founding the on the grid. Also I make it run in 4 different sessions on a i7 quadcore, (I hope it's parallelized al least a bit) one for the words with len=5, one for 6, 7 and 8. Note that there are usually plenty of 5ies, many 6ies some 7ies and the 8ies is quite rare to find, maybe 3 or 4 for match in lucky.

Can I get it and experiment? Yes of course! It's located here, with an italian dictionary (unfortunately hardcoded, I was lazy :P) and you can experiment as much as you like! You can also modify it following the GPLv2 License.

Last request? Leave feedback! I'm curious about your feedback on this cheat. Use the comment area above! :)