Search
Showing posts with label go. Show all posts
Showing posts with label go. Show all posts
Thursday, August 29, 2013
Creating a go program, day 10, putting a stone
This video is about how the program will put a stone on the board.
Thanks for the comments!
Wednesday, August 28, 2013
Creating a go program day 9, coordinates and positions
Well here is the video of day 9, converting array positions to coordinates and coordinates to array positions.
In my youtube channel I am at day 15, I promise I will put this blog up to date.
In my youtube channel I am at day 15, I promise I will put this blog up to date.
Labels:
baduk,
computer go,
coordinates,
design,
Eclipse,
go,
igo,
java,
programming,
weiqi,
youtube
Wednesday, August 21, 2013
Creating a go program day 8: Logging
It is important to have full control of what you are doing, and I think that a logging system is needed. And maybe you think it is not important at this stage, but I think it is, to have it from the beggining is a must for me.
Tuesday, August 20, 2013
Now, up to date with the videos. Today I added the "Quit" command so now I can really do the main loop. The program will run until there is a Quit command, so a boolean endgame will end with True.
Creating a go program, day 6
Well, there are 2 videos I didn't add to the blog, here is the one for day 6, some Data was added that day in a class that will content all the "constants" of the program.
Saturday, August 17, 2013
Day 4, Explaining the basics of the start of the game and main loop
Well, in this video I explain how the main loop will work:
Let me explain:
Start class (the main class) will create a MainLoop object. Then will call loopStart method, that will initiate the main loop of the game. In the near future the main loop will run until a GTP command that ends the game appears.
Thursday, August 15, 2013
Evil Tesuji, Day 2. Creating the first classes.
So, I just created the first classes of the game:
Obviously with their Javadocs.
- Start (main)
- MainLoop
- Engine
- Board
Obviously with their Javadocs.
Saturday, April 6, 2013
Configuring new enviroment at home
Well, here I am, with all this new problems in my project, so new poblems needs new enviroments.
I will work now with Eclipse (Juno) adapted for Python, and adding SVN support to commit it to google code (If I need something else about SVN I will keep Tortoise installed)
Google Code
Well, as I promised I created an SVN repository in Google Code with the program. I am commiting there the new program in Python.
The repo is here and every time I commit I will tell you here, with all the changes.
For now in rev2:
- There is a main that calls the mainLoop.
- The main loop ceates a board (as described in old posts) and initializes it.
- A logger class is created and it writes in a file (ETlog.txt) the empty board.
- IT enters in a loop and exits.
Yes, that's it, but is good for a start. I am "translating" my old code from Python to Java (explained why in previous posts).
So, that's how it is, had for me but... I think I am more confortable writing in Python than in Java.
Labels:
baduk,
board,
computer go,
go,
igo,
log,
main loop,
programming,
python,
weiqi
Thursday, April 4, 2013
Total Refactor update
Well, lately I had the project with poor updates, but I see that some people is looking at this so I decided to come back and with some new ideas:
- I will be uploading the code to Google Code (I know, github is maybe better, you tell me if you want it on gitHub) from scratch. I created a new project and copying the code I know is good and looking for refactors that I can make and will start writing a lot on paper to know in advance what I want in every step.
- I will be doing a lot of recordings and documentations and putting it there.
- I have a problem, I had to uninstall jdk here so in paralel I will mantain a version in Python. Yes, maybe it will be the main version in the future.
Monday, March 11, 2013
TOTAL Refactor
Well, I was making lots of new things to my program and it started failing everywhere, so I decided to document all while recheck my code and change lots of things.
This will be hard, but I want my program working good again in some days.
This will be hard, but I want my program working good again in some days.
Labels:
baduk,
computer go,
engine,
frustrating,
go,
igo,
java,
problems,
programming,
weiqi
Thursday, December 20, 2012
Day 132: More refactoring
One more thing that I won't need anymore: The tryToKill method called in the main loop. It will be easier for me if in the setMove method I kill the stones.
This will make me do more refactoring: Suicidal rule will change to.
Labels:
baduk,
computer go,
design,
go,
main loop,
programming,
rules,
weiqi
Wednesday, December 19, 2012
Day 131: 0.01G
Ok, this is changing fast. I am refactoring a lot. So, this is what I think now:
- The array with the game moves should be in a new class Game. It will be easier to make reference to the game moves if all the methods that manipulate the game array are there.
- I Created a new package for rules. Every rule will have a class, it is for the future. Some things should change when the engine finds a ko or a suicide.
- Some old code that I commented is now deleted.
I found console class (Good bye console!!!!!)
Labels:
baduk,
computer go,
design,
go,
igo,
ko,
programming,
rules,
weiqi
Tuesday, December 18, 2012
Day 130: At least it worked
Well, I was having lots of problems with KGS connection, but as I suspected, the problem was not with KGS, it was with me. Every command that don't need a return at least should have an empty string return. Komi command didn't return it so all commands coming from behind were queued.
Solved that, but saw that KO rule was working bad, so I will have to redesing it. I have an idea. I will create a new class for KO, because ko rule will not only need to prevent illegal moves, but start some things in the future.
Solved that, but saw that KO rule was working bad, so I will have to redesing it. I have an idea. I will create a new class for KO, because ko rule will not only need to prevent illegal moves, but start some things in the future.
Monday, December 17, 2012
Day 129: Problems with KGS
Ok, the engine works playing using goGui, but not in KGS, I will try to write what happens:
- I connect with my user account Draculinio
- Connect Evil Tesuji using his account on KGS.
- Start a game.
- KGSGTP says something about opponen left the game and returns
- From what I see in my log, some commands are sent, like komi.
- No genmove or play commands sent :(
So, here are my problems... :(
Labels:
baduk,
computer go,
frustrating,
go,
gtp,
igo,
KGS,
Personal,
problems,
weiqi
Sunday, December 16, 2012
Day 128: The failure after 15D
Well, some good things and some bad things.
Connection worked!
So, I saw Evil Tesuji there:
Connection worked!
So, I saw Evil Tesuji there:
And almost played:
And then, my little daughter started to cry, and couldn't play the game, then, we went to a birthday party :( But, first thing done. Now, let's try again.
Thursday, December 13, 2012
Day 125: Starting with 0.01F
Some things that I am seeing:
- There were some variables from the pre-gtp era like a hardcoded humanColor and engineColor. With gtp it is not needed, The engine should know what to do in a given circumstance with any color.
- Engine should have an array with the moves of the game, I think this will give me more things to analize.
Getting the engine play better:
- Will start to try to make the computer see basic eyespace.
- Some things about corners.
- More about jumps. ->Will try jumps to the center.
Wednesday, December 12, 2012
Day 124: Readers are always right part II
A reader sent me a suggestion about the last "Readers are always right" post. The variable play is not needed, it only needs what I sent to that variable. So, now it is corrected.
Thanks Sergio!
If you still think, "why the picture?" Sergio is a big fan of the band.
Day 124: Games with 0.01E
Well, Evil Tesuji played a game without errors (heavy testing needed, I KNOW, it will crash eventually). A 9x9 game (I will not let it play 19x19 for some time). Playing bad on porpouse Evil Tesuji was destroyed. But it is a start, I know some day it will do it better.
White is Evil Tesuji. I know, it plays, horrible, but I know it will be better.
(;FF[4]CA[UTF-8]AP[GoGui:1.4.5]SZ[9]
KM[6.5]PW[Evil Tesuji]DT[2012-12-12]RE[B+69.5]
;B[gc];W[dc];B[ff];W[gf];B[gg];W[dg];B[cg];W[ce];B[dh];W[cd]
;B[eg];W[fd];B[gd];W[ge];B[hg];W[df];B[fe];W[bc];B[fc];W[ed]
;B[ec];W[ac];B[bf];W[ig];B[ih];W[hh];B[if];W[hf];B[he];W[ie]
;B[id];W[hf];B[eb];W[ge];B[be];W[bg];B[cf];W[gh];B[fh];W[ag]
;B[de];W[ee];B[ef];W[dd];B[bd];W[hc];B[ca];W[ic];B[cb];W[ch]
;B[bh];W[ia];B[];W[])
White is Evil Tesuji. I know, it plays, horrible, but I know it will be better.
Tuesday, December 11, 2012
Day 123: Passing working
Well, I just solved the passing. Still waits for the other player to pass so it will pass. Not a big thing but, is better than nothing. I still don't know how to force a ko or a suicide shape to see if it works.
So, let's continue with the development. One step forward, one step back... the hard truth...
So, let's continue with the development. One step forward, one step back... the hard truth...
Subscribe to:
Posts (Atom)








