Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

Go game Impossible? Prim limit...

Mitsa Brearly
Junior Member
Join date: 8 Jul 2004
Posts: 6
07-13-2004 09:28
I'm interested in making a working Go game as I learn to build and script... unfortunately, Go is (normally) played on a 19x19 board!

Essentially I need each of those 361 points to have one of three values: empty, black, or white... Is there any way at all to do this without 361 prims?

In any case, I completed ver 1 of my decorative goban with 8-tatami mat and traditional chairs (which could use a little work...) - it can be seen at Olopue (16, 8) (Search "Mitsa";) (sorry, forgot to send the bmp to work :))

Please ignore my feeble attempts at building :D I simply wanted an enclosure (for now).
Goshua Lament
Registered User
Join date: 25 Dec 2003
Posts: 703
07-13-2004 09:42
I bought a non scripted go set from someone. You move the peices and they snap to the grid. I don't know about the prim limits. If you want to see it, I'll show it to you.
_____________________
Flickr Second Life Photo Gallery

I no longer regularly login to SecondLife, but please contact me if an issue arises that needs my attention.
Mitsa Brearly
Junior Member
Join date: 8 Jul 2004
Posts: 6
07-13-2004 09:52
I'd like to see it :) I only have a 512 plot...

It would be possible to make a 9x9 board with only 81 prims (plus board prims).

Scripting an AI would be impossible in any case :D
Ricercar Neville
debates for fun
Join date: 31 May 2004
Posts: 36
07-13-2004 11:44
13 x 13 is another valid practice board size.

I'd love to help you playtest a Go board, expecially if it means I get a free sample...
_____________________
I used to drive a Heisenberg, but each time I read the speedometer, I'd get lost.
Merwan Marker
Booring...
Join date: 28 Jan 2004
Posts: 4,706
07-13-2004 11:56
Also - please do Pente and Keryo-Pente...

Should be much easier than GO - which takes a very, very long time to play...

Info on Pente and Kery-Pente are here...



http://www.itsyourturn.com/t_helptopic2080.html
_____________________
Don't Worry, Be Happy - Meher Baba
Mitsa Brearly
Junior Member
Join date: 8 Jul 2004
Posts: 6
07-13-2004 11:58
I suppose I could always start designing a 9x9 board at home and move to a public place to build a 19x19 board (since most of the script should port over).

Might be nice to convert some game records to XML too :D

I'll have to start looking into it tonight... learning to script will be easier than implementing the game rules.

Thanks for the feedback!
Catherine Omega
Geometry Ninja
Join date: 10 Jan 2003
Posts: 2,053
07-13-2004 12:17
In theory, it'd only take some fancy texturing to display a Go board using only 19 prims or so, but such a game sure wouldn't be easy to play. Because LSL doesn't include an llDetectedTouchFace (a minimum of 121 prims needed) or llDetectedTouchCoordinates (Theoretically, only textures would limit the number of prims needed -- I'd recommend 19.) function, you'd have to use a single prim for every space on the Go board... and that would be crazy.

It's not impossible, it's just that the limitations of LSL don't really encourage the building of games like Go.

It also occurs to me that perhaps "temporary-on-rez" could be useful for this? :)
_____________________
Need scripting help? Visit the LSL Wiki!
Omega Point - Catherine Omega's Blog
Mitsa Brearly
Junior Member
Join date: 8 Jul 2004
Posts: 6
07-13-2004 12:40
I was thinking about lower prim requirements using textures - the real problem is the mass number of textures needed...

And it doesn't become a problem if moves are spoken (which isn't as nice, but for the sake of 300 prims....)

If 100 prims were required for a 19x19 board... you're essentially splitting the board up into 2x2, 2x1, and 1x1 positions.

(ignoring duplicate textures due to symmetry)
A 2x2 square requires 81 textures (3^4)
A 2x1 square requires 9 textures
and a 1x1 square requires 3 textures.

Of course there's the added benefit of alpha channels... which might make this quite feasable...
2x2 then becomes 2^4, or only 8 textures.
2x1 only 4 textures
and 1x1 only 2 textures... 14 textures might work.

I'll start playing with this on a small scale - & see how things go.
Cray Levy
Member
Join date: 7 Jul 2004
Posts: 33
07-13-2004 13:47
You could get around the lack of touch coordinates by requiring the players to select row and column separately.
Rysidian Rubio
Ruby Red Head
Join date: 14 Jan 2004
Posts: 263
07-13-2004 19:56
It might take alot of prims but it would work with 1 prim per board position. I have a game called Hexxagon which is played on a hexagon shaped board, and instead of moving pieces I change the colour of the board pieces to represent each player's pieces. It works smoothly and easily. Maybe you could try this. Also I have used Listens and Say's (which I know causes lag I'm working on a non-listen version atm) but It hasn't caused considerable lag and their is no noticable lag in the sim, or whilst playing the game.

If you want to have a look it's in Solang (I don't have the exact coords but it's up in the air atm, IM me and i'll tell you where to go)
I'd consider letting you use my land to make ur Go game since I have alot of prims available and use it for making games already, that is if you need a place for it. :)
Carnildo Greenacre
Flight Engineer
Join date: 15 Nov 2003
Posts: 1,044
07-13-2004 22:43
Witth some fancy scripting, you can use temporary-on-rez objects for all 361 game pieces. Don't expect the sim to do too well, though.

Another option only requires 159 prims (121 for display, 38 for controls), but requres making moves by selecting a row and then a column. It also requires some scripting, but puts much less of a load on the sim. Fancy texturing could reduce the prim requirements for display to 49.
_____________________
perl -le '$_ = 1; (1 x $_) !~ /^(11+)\1+$/ && print while $_++;'
Alondria LeFay
Registered User
Join date: 2 May 2003
Posts: 725
08-01-2004 10:17
It is very poissible to read the coordinates a AV clicks on a prime while in mouselook.
Legith Fairplay
SL Scripter
Join date: 14 Jul 2004
Posts: 189
Textures
08-02-2004 15:18
I've created a Othello game (search for legith's workshop in the find screen, and you can go look at it). This othello game uses 7 prims and one texture. 6 prims make the board. each one being very flat trapezoids, allowing me to display different textures on 3 parts of the prim.

The texture contains all combinations needed for 4 blocks in the game. (plus the title image show at the top of the board) their are 10 rows and 10 cols of sub textures in this one texture. When displaying I only display .1 of the texture horizontally/vertically.. and I off set it to the proper location. (only 83 of the 100 sub textures are actually used. since their are 3 states (blank, black piece, white piece) and 4 positions 3^4 = 81 and 2 of the extra textures are used for the title.

I created this texture with a small perl script and the help of Image::Magic (an image manipulation library that can be used in perl)

To control the game I have the 7th prim, a red pointer. I ask control from the one or two users, and when it is their turn arrows allow them to move the pointer and pgdn allows them to select a location. (and should they give up control, clicking on the board will allow the user to regain control.)

I got the idea of the trapezoid prims and the texture with multiple sections from some of the text screens I've seen in SL.. and some source code I found for one of them.

using these ideas it is possible to implement a full game with few prims/textures.
Neo Rebus
Registered User
Join date: 10 Apr 2004
Posts: 59
Re: Textures
08-04-2004 14:50
From: someone
Originally posted by Legith Fairplay
(...)
To control the game I have the 7th prim, a red pointer. I ask control from the one or two users, and when it is their turn arrows allow them to move the pointer and pgdn allows them to select a location. (and should they give up control, clicking on the board will allow the user to regain control.)


This is a really good idea! thanks for sharing this :)

- Neo