gbadev.org forum archive

This is a read-only mirror of the content originally found on forum.gbadev.org (now offline), salvaged from Wayback machine copies. A new forum can be found here.

DS development > Developing a Go DS game...

#99682 - Argue - Wed Aug 23, 2006 7:07 am

Edit: I fixed the broken download links

Hi all, I started learning about homebrew development only recently, and as a first project, I decided to write a client for the game of Go. I already have something that works, but since it has a heavy lack of features (most notably no networking whatsoever; the game is a hot seat game), I thought I'd place it here instead of the DS Misc forum, which seems to be for more complete games.

I have a page for it up here http://argument.88-mph.net/blog/blogs/2/

I'm not really asking for help with a particular problem, but this being my first project, I was hoping to get input from the more experienced people here on what things I can improve on (in the code), what features might be good to add, etcetera. I am almost sure my code violates common practices and conventions, and would love to hear what I can do to make it better.

(The most obvious problem I see in my code is that it has a lot of repetition--the same algorithm is repeated several times, with some minor changes each time, and I can't figure out how to make it any simpler except by passing loads of function pointers)

#99721 - OOPMan - Wed Aug 23, 2006 4:16 pm

Erm, I know that JaGo is a very nice Go client. It's written in Java, but the features it provides apply in any language.

On another tactic, I'd take a look at GnuGo for a background AI, if you plan to support one. It's a GNU project, so it's completely open :-)
_________________
"My boot, your face..." - Attributed to OOPMan, Emperor of Eroticon VI

You can find my NDS homebrew projects here...

#99766 - Abcd1234 - Wed Aug 23, 2006 9:50 pm

Ha ha, yeah, good luck getting GnuGo (and probably any Go AI, if I had to guess) to play at any level of skill given the CPU power available on the DS. Heck, GnuGo spends a fair bit of time thinking on my multi-ghz desktop machine, let alone a 66 mhz ARM9.

OTOH, a Go client would be pretty neat, both for play over wifi, or for playing on a single DS and just passing it back and forth.

#99803 - krunkster - Thu Aug 24, 2006 2:23 am

A fun project to learn network code would be to make a Go client
that was just a front end to yahoo games or some other Go parlor
that is web based. It would be fun to hack the different packets and such, and if it ever worked you could play people online.

#99837 - Argue - Thu Aug 24, 2006 5:24 am

Abcd1234 wrote:
OTOH, a Go client would be pretty neat, both for play over wifi, or for playing on a single DS and just passing it back and forth.


Yep, the "pass it back and forth" part is working, actually. I do want to add Wifi support, but I'm having no luck finding an open protocol; anyone know of one?

Also, am I right in assuming I cannot make my DS offer the go game via download play?

#99857 - jandujar - Thu Aug 24, 2006 10:34 am

I haved made a Go game using an earlier version of GNUGO.

You can download the source at my personal web.

http://jandujar.homelinux.com

Search for dsGo
_________________
http://jandujar.homelinux.com
http://www.dsrobot.com

#99860 - Argue - Thu Aug 24, 2006 11:42 am

Ack! I'm sorry! I googled to make sure that it hadn't been done yet, but I guess I failed at that. :( If I'd known it was there, I'd have done something else as a first project.

#99861 - jandujar - Thu Aug 24, 2006 11:52 am

don't worry, continue with your GO game, maybe you have enought time to make it "online"
_________________
http://jandujar.homelinux.com
http://www.dsrobot.com

#99956 - trooper - Thu Aug 24, 2006 10:37 pm

Hi,

A wifi nds go game would be terrific !
Hold on !

I made a Go clock if it could help you in any way (or just to use it while playing on a real Goban ^_^ ).

.nds
http://www.zshare.net/download/dsgoclock-nds-zxt.html
source
http://www.zshare.net/download/main-c-9z3.html

Time switching is done with the touchscreen
Pause with start while ime is running

My first program ever... hope you'll enjoy it