Proper Chess Engine with networked CPUs & LAN play

User projects written in or related to FreeBASIC.
dodicat
Posts: 5828
Joined: Jan 10, 2006 20:30
Location: Scotland

Re: Proper Chess Engine with networked CPUs & LAN play

Postby dodicat » Dec 05, 2012 20:59

Engineers, Artists, Designers, Coders and Motivators, only to mention a few of your intended associates. For goodness sake TESLACOIL, you'll put us all off chess.
What would we need for a decent game of Poker? Con Artists, Thieves, Ne'er-do-wells and Carpetbaggers?
Gonzo
Posts: 722
Joined: Dec 11, 2005 22:46

Re: Proper Chess Engine with networked CPUs & LAN play

Postby Gonzo » Dec 05, 2012 21:52

good luck finding programmers willing to do a momentous task for nothing

i look on gamedev each day, and theres no shortage of artists looking for programmers to create their vision
there's also no shortage on programmers wanting artists to visualize their vision
and idea guys are a dime a dozen, almost regarded like homeless people
all these projects were doomed from the start, and will go absolutely nowhere
what makes you different?

good luck with your project, all the same :)
Richard
Posts: 2944
Joined: Jan 15, 2007 20:44
Location: Australia

Re: Proper Chess Engine with networked CPUs & LAN play

Postby Richard » Dec 05, 2012 22:15

TESLACOIL wrote:* remember im a designer not a coder,
I am a coder and a designer.

Both Stonemonkey and I suggested a UDT. Why might that be?

Because a UDT can be adjusted without rewriting code again later.
Because Dim b As board; subroutine(b as board) makes coding life so easy.
A UDT defines a standard internal reference. All routines act on that one structure.
Because any I/O is possible with a UDT. Just write an “x_to_board” and a “board_to_x” routine for each mode.
Speed will become critically important as soon as the prototype works. Why do the job twice?

The success of this project depends on your ability to design a UDT.
TESLACOIL
Posts: 1769
Joined: Jun 20, 2010 16:04
Location: UK
Contact:

Re: Proper Chess Engine with networked CPUs & LAN play

Postby TESLACOIL » Dec 06, 2012 3:35

dodicat

funny enough dodi its those personality types you tend to meet across a poker table...if yer not a shark yer shark bait

Why poker programs need to be crafty This also applies to a smaller extent to chess programs too. Get the opponent out of book, out of there comforts zone or preparation zone. Chess isn't solvable and there are special styles of play ' anti computer tactics' or 'anti human tactics'

Because poker is simple enough for a highly skilled player to get the maths in the ballpark most of what remains is bluff and bravado, a good poker program will actually throw a few chips and throw a few hands in order to make it harder to read it ( reverse engineer ) So you do actually need to code in a touch of scallywag as a mathematically correct poker program is susceptible to bluffs. The best poker programs actual learn to read human players ( and computer opponents too )though it is true to say that a mathematically correct poker program should consistently beat a casual human player.

The pest poker programs also come with a range of personalities, some of these are deliberately overblown and thus give human players the chance to 'get a read' on their less than perfect CPU opponents.

When it comes to designing the best poker program in the world i know exactly who to call, a mathematician, a statistician a psychologist and a handful of poker sharks ! * as the computation requirements for poker are not that demanding ( unlike chess ) a half decent coder is sufficient for the job.

Coders will invariably focus on the code aspects of any piece of given software but in doing so often miss the bigger picture.

winblows 8 ? ...i rest my case
TESLACOIL
Posts: 1769
Joined: Jun 20, 2010 16:04
Location: UK
Contact:

Re: Proper Chess Engine with networked CPUs & LAN play

Postby TESLACOIL » Dec 06, 2012 3:54

Gonzo good luck finding programmers willing to do a momentous task for nothing

um...i pay $ not peanuts

By taking the time and effort to code up and test a prototype myself i can have a much clearer vision to hand off to others. In doing so Ill save myself a heap of $$$ and and spare my future code jockeys and artist much headbanging.
TESLACOIL
Posts: 1769
Joined: Jun 20, 2010 16:04
Location: UK
Contact:

Re: Proper Chess Engine with networked CPUs & LAN play

Postby TESLACOIL » Dec 06, 2012 4:04

Richard im sure most of the best code options /code practices ref chess have already been solved. They're out there.

My main concern is getting a fully functional prototype up first. There are 101 other wider design issues I have to contend with so for now im staying well within my code comfort zone until these have been solved.

Once ive solved all the major issues i can go about doing a rewrite or three. Chess is tricky and i doubt very much if a skilled coder can avoid doing at least one rewrite. So the first pass = fully functional prototype , the code maybe ugly and slow but until ive got something up and running that i can apply real world tests to im not going to get bogged down in minutia.

Sharp tight code is at the core, but the peripheral issues are in many ways far more important especially at the early stages.




My primary focus is not on sharp tight code (the knowns) but developing and testing the architecture ( the unknowns)

1) there are plenty of excellent single computer engines out there already (the knowns)

2) there are few if any chess engines available that are capable of running on a network or large cluster ( the unknowns)

my primary emphasis is on solving 'the unknowns'....i detailed this in my OP-


Philosophy

I like Freebasic because its simple AND bigger than me, that is to say it is unlikely i shall need to use a more sophisticated language for prototyping purposes. If i was a hard core coder( im not) im sure id quickly find Freebasic constraining in some aspect or other.

The down side of using FreeBASIC for me is the small community which means the code bank is scrappy and incomplete. I don't have a choice of Freebasic UCI compatible chess engines to cut n paste from do i ? not even close ! The downside of using a third tier language is that a small community wont be knocking out highly polished apps and utilities across the full breadth of 'common computing problems'


@ Richard can you make a better chess engine than me, hell yeah ! ....but will you or some one else bother, probably not ?

as a noob coder in a small community i have to endure the lack of high utility noob friendly cut n paste code

as an experienced coder in a small community you have to endure the code horror of lesser coders attempting to create stuff there code betters cant be bothered to

such is life !

You see a bigger community would have half a dozen 'chess heads' not just 'code heads' so a newbie, designer or chess head would be spoiled for choice if they where looking for cut n paste chess utilities.
Last edited by TESLACOIL on Dec 06, 2012 4:42, edited 1 time in total.
Stonemonkey
Posts: 549
Joined: Jun 09, 2005 0:08

Re: Proper Chess Engine with networked CPUs & LAN play

Postby Stonemonkey » Dec 06, 2012 4:37

My main concern is getting a fully functional prototype up first. There are 101 other design issues I have to contend with so for know im staying well within my code comfort zone until these have been solved.


You're going to solve these design issues while staying within your comfort zone? I really am stuck for words.
TESLACOIL
Posts: 1769
Joined: Jun 20, 2010 16:04
Location: UK
Contact:

Re: Proper Chess Engine with networked CPUs & LAN play

Postby TESLACOIL » Dec 06, 2012 4:45

Stonemonkey

you not going to write your first chess program using ASM or an unfamiliar language are you ? , your not going to compile it for linux if windows is what you are familiar with. you are unlikely to use code methods you are unfamiliar with. I have never used UDT, or 101 other code techniques but that doesn't stop me from building a prototype sentient android, a chess super computer or anything else.

No...when faced with a challenging task you reach for the tools that you are familiar with. You can always port it or upgraded it later.

In order to see the big picture and understand why people do what they do you have to zoom out. Walk a mile in their shoes and then the reasons that their approach is different from yours become clearer. As i designer that's what i get paid $ for, coders by definition tend to think in terms of nice tight code but fail to see the bigger picture.

A designer doesn't care too much if his prototype is a bit clunky, a designer focus on the bigger picture rather than just on the code at hand. If coders could do it all we wouldn't need IT managers, designers, artists or play testers would we.
Last edited by TESLACOIL on Dec 06, 2012 4:56, edited 1 time in total.
Stonemonkey
Posts: 549
Joined: Jun 09, 2005 0:08

Re: Proper Chess Engine with networked CPUs & LAN play

Postby Stonemonkey » Dec 06, 2012 4:55

No, when faced with a challenging task I accept that there are things I am going to have to work at and learn to complete it.
TESLACOIL
Posts: 1769
Joined: Jun 20, 2010 16:04
Location: UK
Contact:

Re: Proper Chess Engine with networked CPUs & LAN play

Postby TESLACOIL » Dec 06, 2012 4:58

So the first thing you have to work at is understanding where im coming from.

To work at understanding that coders and good code are just a small part of the overall equation that leads to great software.

As a designer i have to appreciate everyone else problems. A #1 coder also sets himself apart from also rans by doing the same. Indeed no matter what art or science be the subject matter it is those people who have breadth as well as depth that lead the way. They call the shots, lash up prototypes, behind them is an army of experts that add the spit and polish. You cant know it all, that's why human work in teams.

you can be a #1 coder in one of two ways, gain a designers vision/head and broad experience ' think horizontal' , or drill down and become a master of a specific architecture ' think vertical' both types are valuable, but they are different beats for sure.



My specialism is thinking broad rather than deep, that's why im a great designer but I will always be a lousy coder, artist, electrician, mathematician, scientist, engineer, biologist and chemist. There is only so much you can cram into a human brain given three score and ten. The type of filling is of your choice. Your natural tendencies strongly dictate which way you go, broad or deep.

Stonemonkey you are probably a natural driller, a deep sea diver (most coders are) , by analogy im a surfer ( most designers are)
Last edited by TESLACOIL on Dec 06, 2012 5:16, edited 1 time in total.
Stonemonkey
Posts: 549
Joined: Jun 09, 2005 0:08

Re: Proper Chess Engine with networked CPUs & LAN play

Postby Stonemonkey » Dec 06, 2012 5:15

Q. You need to travel 50 miles, you have a broken bike and don't know how to fix it but you have a bike maintenance manual in your pocket. Do you just walk the 50 miles?
TESLACOIL
Posts: 1769
Joined: Jun 20, 2010 16:04
Location: UK
Contact:

Re: Proper Chess Engine with networked CPUs & LAN play

Postby TESLACOIL » Dec 06, 2012 5:18

A , knowing the bike can be dismantled you phone for a Taxi

both options are correct, but id rather fix the bike in the luxury of my warm garage, the AA exists for that reason.

serial vs parallel...its a difference of style
Last edited by TESLACOIL on Dec 06, 2012 5:21, edited 1 time in total.
Stonemonkey
Posts: 549
Joined: Jun 09, 2005 0:08

Re: Proper Chess Engine with networked CPUs & LAN play

Postby Stonemonkey » Dec 06, 2012 5:20

Well there's your solution, buy an off the shelf chess program.
TESLACOIL
Posts: 1769
Joined: Jun 20, 2010 16:04
Location: UK
Contact:

Re: Proper Chess Engine with networked CPUs & LAN play

Postby TESLACOIL » Dec 06, 2012 5:24

If you read my OP the lack of off the shelf software is my problem...read on

there isn't an off the shelf solution for a 1000 cpu chess computer...there are a 1000 solutions for a single
PC but that isn't the problem im trying to solve. And you cant bring a cloned engine into competition. Rybka was stripped of several world titles.

deepsea divers still need to come to the surface for air :-p
Last edited by TESLACOIL on Dec 06, 2012 5:25, edited 1 time in total.
Stonemonkey
Posts: 549
Joined: Jun 09, 2005 0:08

Re: Proper Chess Engine with networked CPUs & LAN play

Postby Stonemonkey » Dec 06, 2012 5:24

Then there isn't a taxi.

Return to “Projects”

Who is online

Users browsing this forum: No registered users and 3 guests