Anyone interested in a Java board game engine?

S

sam

Hi there,

The topic for my university dissertation is "Design and Build a Java
board game engine" and it is necessary for me to elicit requirements
from the games industry (i.e. anyone who would be interested in using
the completed engine for making an java-based 2D board game). SO...if
anyone is interested in this project, I would really appreciate a
reply, so that we could discuss requirements. Note, there will also be
some user acceptance testing once the project is complete.


I know that it will take up some of your time, but I really want to ace

my degree so any help will be gratefully received


Thanks
Sam
 
M

Mark Space

sam said:
Hi there,

The topic for my university dissertation is "Design and Build a Java
board game engine" and it is necessary for me to elicit requirements
from the games industry (i.e. anyone who would be interested in using
the completed engine for making an java-based 2D board game). SO...if
anyone is interested in this project, I would really appreciate a
reply, so that we could discuss requirements. Note, there will also be
some user acceptance testing once the project is complete.


I don't really have a lot of time right now (maybe after the holidays)
but this is a long time interest of mine, so maybe I can help a bit.

First, you are definitely not the first person to have this idea. Some
research into public or open source projects that have proceeded you
would be standard, I would think, for any dissertation. I can point out
a few to you, but I would love to see a thorough list of academic
research projects.

Here's my info dump to you:

First, check out Simple Game Format (SGF). This is a very old attempt to
produce a universal board game type system:
http://www.red-bean.com/sgf/

Next, one of the principle people behind SGF was William Shubert, who
eventually produced a free, and excellent, computer board game for the
Oriental game of Go:
http://www.igoweb.org/~wms/comp/cgoban/

William Shubert's current project is a full Java based internet Go
server in partnership with the Keseido publishing company. It's call
the Keseido Go Server (KGS):
http://kgs.kiseido.com/

There's a lot of information on KGS requirements on the net. Basically,
Bill's been doing what you want to do as a side business for the last
ten years or so. The principle KGS watering hole is at:
http://senseis.xmp.net/

Here's a list of user requests from that site:
http://senseis.xmp.net/?KGS#toc7

Here's my short list of requirements, off the top of my head:
1. Compatible with SGF
2. Talk to William Shubert and get his advice on how to extend SGF to
more types of board games.
3. Compatible with bots on Keseido Game Server
4. Visit the gnugames project on gnu.org and collect requirements from
them as well.
5. Visit senseis.xmp.net and collect requirements there also.
6. Include plans for servers as well as clients. Include internet play.
7. Don't forget about multiple player games. Both chess and go have
four player variants.
8. Consider AI for playing board games. Visit the gnugo project and
understand how they implement their AI and how they connect to other
board game programs like CGOBAN and KGS.
9. Include a demo connecting gnugo to your program to show how external
AI can be connected to any board game program.
10. Understand why William Shubert is NOT implementing his latest work
as Open Source.
11. There are XML versions of SGF now. However, they are very verbose.
I'd like to see a universal version of XML-SGF that includes very good
compression for long term game record storage. (Not just Zip.)
12. There are other Java clones of CGOBAN now available. Understand
what they are and what problems the profess to solve.
13. Most of those are for IGS (Internet Go Server). Go there and
understand what UI issues it has.
14. Visit some other internet go sites and understand how they function
as well. I'm not aware of any sites for chess or other board games.
maybe you could find some?

Ok, I think I'm done for now. Please let this list know how everything
goes.
 
S

sam

Mark said:
Darn, I think I scared him off. :-(

Hehe, nope not scared, just about 5 other assignments to do at the same
time...Although some of the requirements do look a bit difficult to
fulfil!

I'll discuss the requirements you provided with my dissertation
supervisor, and take a look at the URLs you provided and then post
back. Thanks a million!

p.s. its her not him (",)
 
S

sam

Mark said:
Darn, I think I scared him off. :-(

Hehe, nope not scared, just about 5 other assignments to do at the same
time...Although some of the requirements do look a bit difficult to
fulfil!

I'll discuss the requirements you provided with my dissertation
supervisor, and take a look at the URLs you provided and then post
back. Thanks a million!

p.s. its her not him (",)
 
M

Mark Space

sam said:
Hehe, nope not scared, just about 5 other assignments to do at the same
time...Although some of the requirements do look a bit difficult to
fulfil!

Ah yes, the end of the semester rush. Aren't student holidays fun?

"Difficult to fulfil" ... quality, schedule, resources ... scope. One
of the most important words when dealing with customers is "No."
I'll discuss the requirements you provided with my dissertation
supervisor, and take a look at the URLs you provided and then post
back. Thanks a million!

Cool beans, I'm looking forward to that post.
p.s. its her not him (",)

Just curious, what's that symbol there at the end of the sentence.
"Hang loose?"
 
S

sam

um...Heehee? I just prefer it to :)...

Anyway, when i said difficult to fulfil, i meant technically...Ive got
some skills with Java programming, but for some of the requirements, I
am quite baffled as to how I would implement them. I was thinking of
requirements along the lines of the aesthetics or features of the
engine (dont get me wrong, still very grateful for your input!)

In addition, the requirements you mentioned are based around
specifically the board game Go. I was aiming to build a completely
general engine, and only specialise it to a particular type of board
game as a contigency in case I cant generalise. Did I not make this
clear?

Thanks

Sam
 
M

Mark Space

sam said:
> In addition, the requirements you mentioned are based around
> specifically the board game Go. I was aiming to build a completely
> general engine, and only specialise it to a particular type of board

Yes, that was clear from your post. It's just that most of my
experience happens to be around go. I think it makes a good "use case"
for other board games as well.

SGF was intended to be a completely general format. There's a little
information on checkers, reversi (Othello?), and other games sprinkled
through out the spec. It's just that the guy who did most of the work
on it was mostly interested in go.

You might want to check out the gnugames project. They've got several
board games, and they might match your own interests best. A lot of
their work seems to have been done around card games, but there was
still a strong presence for board games last I was on their list.

I don't think they (gnugames) are yet as sophisticated as some of the
things being done for go currently. So using those things I mentioned
originally about go might make for a good model to apply other board
games. Which is why I kinda went on some much about go in the first place.

Of course, there might be other work being done for other games that I'm
unaware of.

P. S. I dont' capitalize "go" any more than I capitalize "chess."
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,009
Latest member
GidgetGamb

Latest Threads

Top