Ultimate Bejeweled player
Thread Starter
Moderator


Joined: Feb 2009
Posts: 11,732
Likes: 5
From: Leesville, Louisiana
Vehicle: 2001 Hyundai Tiburon
My little brother is a programmer for a police software company which interfaces GPS with Database and what not.
In his spare time, last week, he designed a AI to actually play Bejeweled on Firefox. It does not use hacks, it actually looks at the screen determines colors, decides where to move the pieces, then clicks the appropriate jewels. He did it as a proof-of-concept project. I think it's pretty cool.
Video: http://www.youtube.com/watch?v=xikCkuNcVek
<object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/xikCkuNcVek"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/xikCkuNcVek" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object>
In his spare time, last week, he designed a AI to actually play Bejeweled on Firefox. It does not use hacks, it actually looks at the screen determines colors, decides where to move the pieces, then clicks the appropriate jewels. He did it as a proof-of-concept project. I think it's pretty cool.
Video: http://www.youtube.com/watch?v=xikCkuNcVek
<object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/xikCkuNcVek"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/xikCkuNcVek" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object>
Thread Starter
Moderator


Joined: Feb 2009
Posts: 11,732
Likes: 5
From: Leesville, Louisiana
Vehicle: 2001 Hyundai Tiburon
My brother never ceases to amaze me. My brother was able to increase the speed dramatically. This thing is performing millions of operations per second trying to determine the best move. It actually appears at one point that 4 pieces are moving at the same time, and they almost are. Basically, he was able to increase the speed by optimizing the way the program transfers information within itself and reducing procedure calls down to variables.
He let me port it over to linux, but my results were not as outstanding as his because the way it was written is designed to take advantage of certain key features within Windows which had to be substituted for others which are not fully implemented on Linux.
This is about as good as it gets, the only limitation here is processor speed.
<object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/h4BiLeKjXSA"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/h4BiLeKjXSA" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object>
He let me port it over to linux, but my results were not as outstanding as his because the way it was written is designed to take advantage of certain key features within Windows which had to be substituted for others which are not fully implemented on Linux.
This is about as good as it gets, the only limitation here is processor speed.
<object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/h4BiLeKjXSA"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/h4BiLeKjXSA" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object>



