code logs -> 2008 -> Fri, 11 Jan 2008< code.20080110.log - code.20080112.log >
--- Log opened Fri Jan 11 00:00:10 2008
01:35 Vornicus is now known as Finerty
02:07 Reivles is now known as Orthia
05:25 * Finerty fiddles. One more piece that needs making: generation of harbors.
05:50 Finerty is now known as Vornicus
06:14
< Vornicus>
harbors have a position, and a direction.
06:14
< Vornicus>
the direction is an index into the site offsets; the position is as a hex center.
06:16
< Orthia>
This would be much easier if it was squares, wouldn't it...
06:17
< Vornicus>
Vaguely.
06:17
< Vornicus>
Hexes really aren't that hard, they just have slightly different rules.
06:17 * C_tiger can't wait to play.
06:17
< C_tiger>
I expect Monday?
06:17
< C_tiger>
:P
06:18
< Vornicus>
:P
06:18
< Orthia>
Please.
06:18
< Vornicus>
I've been working on this thing on and off for /a year/
06:18
< Orthia>
Sunday is the first beta test~
06:18
< Orthia>
...a year? Really?
06:18
< Vornicus>
Yep.
06:18
< Orthia>
...gods, you're right, I remember now.
06:18
< Vornicus>
Started early December last year.
06:18
< Vornicus>
or, 2006.
06:18
< Vornicus>
er*
06:19
< Orthia>
Heh
06:19
< Orthia>
Yeah.
06:22 * Vornicus fiddles: coopt the 'path ring' stuff for harbor placement.
06:22
< Vornicus>
Oh, wait, I never /used/ the path ring.
06:24 * Vornicus took C's advice, like he should have in the first place.
06:24 * Orthia raises an eyebrow.
06:24
< Vornicus>
Oh.
06:24
< Vornicus>
Originally, to find paths, I was going to take all the sites found around a region, duplicate, roll by 1, and then zip, to get stuff that goes [0,1],[1,2],....[5,0]
06:25
< Vornicus>
But because of the difficulties involved, C kept saying "use my way!"
06:25
< Vornicus>
And he was right.
06:25
< Vornicus>
So, yes.
06:25
< Orthia>
Aha.
06:26 mode/#code [+o Vornicus] by Vornicus
06:26
<@Vornicus>
Which is http://rafb.net/p/hni1e017.html <--- that.
06:27
<@Vornicus>
available_sites is a set; it could also be a list.
06:27 * Vornicus died in a blogging accident.
06:29
< McMartin>
whut
06:29
<@Vornicus>
McM: check xkcd
06:32
< Orthia>
...you did?
06:36
< McMartin>
Died in a haberdashery accident!
06:36
< McMartin>
I bet those would suck
06:37
< Orthia>
He found 0 hits.
06:37
< Orthia>
Betcha by this time tomorrow he'd find double figures~
06:55 * Vornicus floons
07:16 * Vornicus fiddlefiddles with harbors some more.
07:17 * Vornicus ...tries to figure out what directions the existing harbors are
07:20 * C_tiger is curious how the code to allocate the activation numbers works.
07:21
<@Vornicus>
It doesn't yet.
07:23
< C_tiger>
oh.
07:23
< C_tiger>
I have two hypotheses for how your superior mind will implement it.
07:24
< C_tiger>
I just wanted to see which you would choose.
07:24
<@Vornicus>
Well, there's two issues here.
07:24
< C_tiger>
I count 1, but go ahead.
07:25
<@Vornicus>
The first is that technically there's an 'order' - on regular Settlers you fill the slots in an inward spiral.
07:26
<@Vornicus>
http://vorn.dyndns.org/~vorn/catan/3/
07:26
<@Vornicus>
on this, it starts at the 5 in the lower left, and spirals counterclockwise.
07:27
< C_tiger>
Right.
07:28
<@Vornicus>
This happens for the straight settlers, and for 5-6 settlers, respectively, but none of the Seafarers scenarios has it.
07:28
< C_tiger>
(That's essentially the problem I count, you have to set the order of spiraling in advance.)
07:29
< C_tiger>
What do they use? randomization?
07:29
<@Vornicus>
Seafarers scenarios either have forced placement or completely random placement
07:29
<@Vornicus>
Well, not completely random.
07:30
<@Vornicus>
See, here's the other issue: one requirement of random placement is that 6s and 8s aren't allowed to be next to each other.
07:32
<@Vornicus>
(some of the seafarers scenarios get even worse, though - there's one which is Catan + outlying islands; you reveal the islands as they become settled, and add tokens, too - but after you've added eight tokens to the outside, you /remove tokens from the main island to populate the outer islands/)
07:32
<@Vornicus>
(and then there's the "New World" one, where harbors are player-placed. gaaah.)
07:33
< C_tiger>
Oh, ok, lots of issues.
07:33
< C_tiger>
You may not want to support all these options to start with.
07:34
<@Vornicus>
I won't, of course.
07:35
<@Vornicus>
I want to get Settlers working first, then ratchet up to Settlers 5-6, then head over to C&K because that has a lot of different rules attached to it that I should figure out how to build, and then finally to Seafarers because at that point I'll have almost everything I need.
07:36
<@Vornicus>
(settlers 5-6 has one extra thing involved - 5 players means 60% chance of the robber appearing from one of your turns to the next, so it allows you to build between other players' turns.
07:38
<@Vornicus>
(compared to 42% for 3, 50% for 4, and 66% for 6)
07:43
<@Vornicus>
Thing is you can, if you want, do random placement of tokens in regular Catan - it's a specifically mentioned option
07:52
<@Vornicus>
Board template data has a lot of funky stuff in it - you've got the spiral thing, you've got regions with grouping identifiers, you have /groups/ with terrain counts...
07:54
<@Vornicus>
you have number tokens, possibly with spiral indices
07:57
< C_tiger>
Oh brain hurty.
08:15
<@Vornicus>
yeah
08:48 * Vornicus goes all explodey on classes. Lots to make.
08:50
< McMartin>
YOUR REIFICATION CHART ESPLODE
08:50
<@Vornicus>
Heh
08:52
<@Vornicus>
I have a couple dozen db tables; each one (except for a few undata'd link tables) needs a class.
09:22 You're now known as TheWatcher
09:32
<@Vornicus>
okay. Terrain, BoardTemplate, RegionTemplate, RegionGroup, HarborTemplate, TokenTemplate
09:36
<@Vornicus>
A region belongs to a group; the group has frequencies for each terrain (the standard land group is Desert: 1 Field: 5 Forest: 5 Hills: 4 Mountain: 4 Pasture:5)
09:38
<@Vornicus>
A region template has, also, a token index; when a region gets generated from the template and randomized tokens is off, the region goes into the token template for the token index... but then you have to skip over deserts, so it's more like filter out non-token regions, sort by index, zip with the token template
09:39
<@Vornicus>
A terrain has a resource, a takes_token flag, and a is_land flag.
09:41
<@Vornicus>
the resource is pretty obvious... but Cities & Knights and Seafarers introduce special resources and special terrains, respectively - in C&K, a forest, pasture, or mountain generates one resource and one commodity (paper, cloth, coin) for a city, instead of two resources; in Seafarers a "gold field" can produce /any/ resource.
09:41
<@Vornicus>
--I wonder how those two interact.
09:43
<@Vornicus>
meh, burn that bridge when I come to it.
09:46
<@Vornicus>
(oceans, obviously, don't take tokens, and aren't land; deserts are land but don't take tokens)
09:57
<@Vornicus>
(there's a "fishermen of catan" mini-expansion that makes oceans that take tokens and produce fish.)
09:58
<@Vornicus>
(though I think that it may also do strange shapes. I have to look into it.)
10:32
<@Vornicus>
No, doing it wrong.
10:32
<@Vornicus>
I want to be able to get the Original Setup.
10:33
<@Vornicus>
I want to be able to, specifically, get the setup I see right there, just by saying "don't randomize harbors, regions, or tokens"
10:33
<@Vornicus>
So what i do is I give a region a group, but then instead of storing terrain and token information elsewhere, I /drop it into the existing regions/
10:37
<@Vornicus>
So my region template has: x y terrain token index group
10:40
<@Vornicus>
then as of right now there /is/ no group class; I think later I'll need one - Seafarers scenarios will have to be able to say "this group is always randomized" and "this group begins concealed"
10:42
<@Vornicus>
--yeah, the fishermen expansion wraps little pac-mans around sites.
10:46
<@Vornicus>
WEll, actually, uh, little anti-pacmans. strange
10:47
<@Vornicus>
oh. they act like hexes. All is well.
11:14
<@Vornicus>
...granted it also gives some /downright strange/ resources.
11:14 * Vornicus shouldn't worry about fishermen!
11:22 * Vornicus should worry about Settlers! Then he can worry about Fishermen, with its odd setup.
11:24 * Vornicus is talking to himself mostly so anybody who wants to chime in can say "hey, this doesn't make sense"
11:25 AnnoDomini changed the topic of #Code to: It's like Swiss bank accounts, but for coders! | Have a pastebin! http://rafb.net/paste | Channel mode +U, ask for voice to post links. | &tidings($comfort && $joy); | sub tidings{if(@_){$lyric = "";for $i (1..3){$lyric .= "We wish you a merry Christmas,\n";}$lyric.="And a happy new year.";}return $lyric;} | Monologues permitted.
11:25
<@Vornicus>
woot
11:25 * TheWatcher is reading, but is also coding something and writing documentation, so isn't really able to comment much
11:25 Vornicus changed the topic of #Code to: It's like Swiss bank accounts, but for coders! | Have a pastebin! http://rafb.net/paste | Channel mode +U, ask for voice to post links. | Monologues permitted.
11:25
<@AnnoDomini>
Heh.
11:26
<@Vornicus>
Advent is so last week.
11:26
<@TheWatcher>
Hmm.. is it a monologue, or a soliloquy?
11:26
<@Vornicus>
Monologue
11:26
<@AnnoDomini>
Isn't a soliloquy about oneself?
11:29
<@TheWatcher>
I always thought a monologue was a subset of soliloquy implying dramatic composition or monopolising the conversation, while a soliloquy was undirected speaking to oneself in front of an audience?
11:29
<@Vornicus>
The difference is that a soliloquy is spoken /alone/ (or, essentially alone) on the stage
11:29
<@Vornicus>
A soliloquy is a subset of monologue.
11:30
<@TheWatcher>
fair enough
11:30 * TheWatcher returns to code
11:31
<@Vornicus>
Difference is: To Be Or Not To Be is a soliloquy. Friends, Romans, Countrymen is a monologue
12:16 Orthia [~dogmatix@Nightstar-2154.dsl.telstraclear.net] has quit [Quit: Laptop fall down go boom...]
12:43 MyCatVerbs [~mycatverb@Nightstar-13709.lurkingfox.co.uk] has quit [Ping Timeout]
12:43 MyCatVerbs [~mycatverb@Nightstar-13709.lurkingfox.co.uk] has joined #code
12:44 DiceBot [~Reiver@Nightstar-21973.xdsl.xnet.co.nz] has quit [Ping Timeout]
12:44 DiceBot [~Reiver@Nightstar-21973.xdsl.xnet.co.nz] has joined #Code
12:44 mode/#code [+v DiceBot] by ChanServ
12:51 DiceBot [~Reiver@Nightstar-21973.xdsl.xnet.co.nz] has quit [Ping Timeout]
13:23 Syloq [Coder@Admin.Nightstar.Net] has joined #code
13:24 Syloq is now known as Syloqs-AFH
14:02 gnolam [lenin@Nightstar-10613.8.5.253.static.se.wasadata.net] has joined #Code
14:02 mode/#code [+o gnolam] by ChanServ
14:18 Netsplit Blargh.CA.US.Nightstar.Net <-> Troika.TX.US.Nightstar.Net quits: Serah, Syloqs-AFH, EvilDarkLord, MyCatVerbs, Attilla, @Reiver, C_tiger, ToxicFrog, @Vornicus, @Pi, (+3 more, use /NETSPLIT to show all of them)
14:50 AnnoDomini [AnnoDomini@Nightstar-29201.neoplus.adsl.tpnet.pl] has quit [Quit: Some people find sanity a little confining.]
15:03 Netsplit over, joins: McMartin, ToxicFrog, C_tiger, jerith, Chalain, Reiver, Serah, Pi, Vornicus, EvilDarkLord
15:03 Netsplit over, joins: Attilla
15:03 Netsplit over, joins: MyCatVerbs, Syloqs-AFH
15:03 AnnoDomini [AnnoDomini@Nightstar-29201.neoplus.adsl.tpnet.pl] has joined #code
15:03 mode/#code [+o TheWatcher] by ChanServ
15:03 mode/#code [+o gnolam] by ChanServ
16:24 * TheWatcher eyes wikipedia, a very alrge number of other sites, too
16:25
<@TheWatcher>
it's kinda amusin, in a not really funny way, that so many places cite a paper, and give this explanation of an algorithm, when, if you actually read the paper, the original is quite different from the one they present...
16:26
< jerith>
Yeah.
16:26
< jerith>
Often this is done deliberately.
16:28
< Vornicus>
heh
16:32
<@TheWatcher>
deliberate or not, it's Rather Irritating
16:50
< Vornicus>
Personally I find that implementation and description of algorithms are often nowhere near each other, even when I try to write them myself
16:53
<@TheWatcher>
True
16:55
<@TheWatcher>
But in this case, the original siggraph paper describes the algorithm quite well, then all these things claiming to be it are describing algorithms that are conceptually similar, but either doing a lousy job of explaining it, or actually explaning something rather different
16:57
<@TheWatcher>
(the Diamond-Square algorithm from "The Definition and Renderiq~ of Terrain Maps" Gavin S. P. Miller, siggraph '86 - the description on wiki, for example, messes up what it's actually doing quite spectacularly)
16:59
<@TheWatcher>
(not, I note, that the version on wiki is wrong and doesn't work - I'm using it and it does - it just isn't the diamond-square algorithm)
16:59
< Vornicus>
Diamond-Square Algorithm?
16:59
<@TheWatcher>
fractal heightmap generation algorithm
17:00
< Vornicus>
Aha
17:00
<@TheWatcher>
I'm using it to make things like http://fleet.starforge.co.uk/land3.jpg
17:00
< Vornicus>
Oh, that thing
17:00
< Vornicus>
yeah, okay
17:02
< C_tiger>
I have a rule about Wikipedia articles. If I don't know the subject better than the average educated person, I'll implicitly trust it. If I do, I only use it to find citations.
17:03 * TheWatcher is being unusually good and actually documenting things in http://alexandria.starforge.co.uk/wiki/Watcher , shrugs, wanted to make sure he had it right
17:04
< Vornicus>
What's diamond-square actually look like?
17:04
< Vornicus>
And, I take it this is for that game with the trees?
17:05
<@TheWatcher>
http://fleet.starforge.co.uk/p39-miller.pdf - the original paper (8mb)
17:06
<@TheWatcher>
yeah
17:07
<@TheWatcher>
actually, I could just screenshot this bit, for ease...
17:08 * Vornicus wgets the pdf
17:09
<@TheWatcher>
fairynuff, then
17:09
< Vornicus>
Won't be able to read it properly until later; New Delhi and I need bed.
17:11 You're now known as TheWatcher[afk]
17:13 Vornicus is now known as Vornicus-Latens
17:33 samer [~wadihdaou@Nightstar-18853.94.39.21.satgate.net] has joined #Code
17:34
< samer>
hiiiiiiiiiiiiiiii
17:36
< samer>
ghjgfjgfrjgf
17:39 samer [~wadihdaou@Nightstar-18853.94.39.21.satgate.net] has left #Code []
17:41
< C_tiger>
Wow, have we ever been spammed before?
17:43
< C_tiger>
At the risk of getting mauled. Does anyone here know javascript?
18:08 * C_tiger bangs head against desk.
18:09
< C_tiger>
I'm trying to write the world's easiest greasemonkey script but my javascript-fu is unworthy.
18:09
< C_tiger>
Hmmm.... maybe not, maybe it's not actually seeing it... one sec.
18:15
< C_tiger>
Yeah, greasemonkey can handle static HTML pages great but dynamically generated html means you have to hack the part that generates the dynamic thing.
18:21 You're now known as TheWatcher
20:34
<@gnolam>
http://www.theregister.co.uk/2008/01/11/tram_hack/
20:36
< AnnoDomini>
Yeah, heard about it on the radio today.
20:37
< AnnoDomini>
But yeah. Give him a job.
20:42
< C_tiger>
I dunno, a real engineer would have rerouted the trains in such a way that they didn't derail.
20:48 You're now known as TheWatcher[afk]
20:59
< AnnoDomini>
He isn't an engineer. I'm just saying that they can either put him in the juvenile equivalent of jail for the next four years, thereby quite likely actually making him choose a life of crime through osmosis and/or resentment - or they can give him a very stern warning and try to make someone more acceptable to society out of him, retaining whatever potential talents he has for the side of the law,
20:59
< AnnoDomini>
rather than whatever mafia boss he'd work for otherwise.
21:01
< C_tiger>
I'm all about working for the mafia boss. Great pay, protection and the ability to do whatever you want and having your problems taken care of for you.
21:03
< AnnoDomini>
From the individual's point of view. I'm talking from the government's point of view.
21:06
< C_tiger>
I was being silly.
21:06 * AnnoDomini shrugs.
21:07
< AnnoDomini>
You didn't include a clear indicator that you were. Thus, your deadpan got interpreted seriously.
21:07
< C_tiger>
Sorry. I like deadpan.
21:10
< AnnoDomini>
I'm sure you do.
21:55 AnnoDomini [AnnoDomini@Nightstar-29201.neoplus.adsl.tpnet.pl] has quit [Ping Timeout]
22:04 AnnoDomini [AnnoDomini@83.21.20.ns-3729] has joined #Code
22:04 mode/#code [+o AnnoDomini] by ChanServ
22:11 orthiat [~dogmatix@121.72.18.ns-4259] has joined #Code
22:24 orthiat is now known as Reivles
--- Log closed Sat Jan 12 00:00:16 2008
code logs -> 2008 -> Fri, 11 Jan 2008< code.20080110.log - code.20080112.log >