code logs -> 2009 -> Sat, 28 Mar 2009< code.20090327.log - code.20090329.log >
--- Log opened Sat Mar 28 00:00:14 2009
00:03 * Derakon breaks everything while refactoring from using tuples to using a class. Whee!
00:07 * Vornicus wonders how he'd generate multi-story buildings.
00:08
<@Vornicus>
Single stories are pretty simple.
00:09
<@Derakon>
These are three-dimensional?
00:10
<@Vornicus>
Yah.
00:10
<@Derakon>
I remember seeing an article written by one of the Darwinia guys on procedurally-generated cities complete with procedurally-generated office buildings.
00:10
<@Vornicus>
Yeah.
00:12
<@Vornicus>
I'm remembering that but there are issues with it - he uses the city generator, but replaces streets with walls (which is one of the problems - it makes for very strange architecture).
00:12
<@Vornicus>
And for places with purpose (namely, like, everything) it doesn't give any sensible architecture.
00:12
<@gnolam>
If it was me, I'd begin by placing access shafts - i.e. stairs and elevators - and then generate everything from there.
00:13
<@Vornicus>
gnolam: I was thinking the same.
00:13
<@gnolam>
Probably with a couple of different templates, depending on what's the level is supposed to be.
00:14
<@Vornicus>
A better approach would be to figure out the salient features and options of various types of building and try to put them together sensibly.
00:14 * Derakon goes AFK for a bit.
00:14 Derakon is now known as Derakon[AFK]
00:15
<@Vornicus>
Which in general points to a sort of Diablo II-ish generator: each kind of thing you want to generate gets a different function.
00:23 You're now known as SouthernMyst
00:24 * Vornicus hugs Myst
00:27 Derakon[AFK] is now known as Derakon
00:27 * Derakon mutters at his code, wonders why the hell his nice neat tunnels have transformed into Chaos Mode.
00:28
<@Derakon>
http://derakon.dyndns.org/~chriswei/games/jbrl/mapgen23a.png
00:29
<@Derakon>
Way too narrow, and as soon as the wall-thickener runs, the center will get cut off from most of the map.
00:29
<@gnolam>
Whoa. Trippy.
00:41
<@Derakon>
Augh! The holes are back! ;.; http://derakon.dyndns.org/~chriswei/games/jbrl/mapgen23b.png
00:41
<@Derakon>
Also the corridors are too big, but I can fix that easily.
00:43 Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has quit [Connection reset by peer]
00:44 Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has joined #code
00:44 mode/#code [+o Attilla] by ChanServ
00:46 AnnoDomini [~farkoff@Nightstar-29064.neoplus.adsl.tpnet.pl] has quit [Quit: Who, in the darkness of their own hearts, is truly innocent?]
00:59 Derakon [~Derakon@Nightstar-4879.hsd1.ca.comcast.net] has left #code [Leaving]
00:59 Derakon [~Derakon@Nightstar-4879.hsd1.ca.comcast.net] has joined #code
01:00 mode/#code [+o Derakon] by ChanServ
01:00
<@Derakon>
Argh, this is not the IRC client I'm used to~
01:03
<@Vornicus>
Heh
01:16
<@Derakon>
Okay, I think that's fixed it.
01:24
<@gnolam>
This is the IRC client you're used to. These aren't the droids you're looking for.
01:29 Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has quit [Quit: <Insert Humorous and/or serious exit message here>]
02:14
<@MyCatVerbs>
Vornicus: how about optimizing it like a settlers game?
02:15
<@MyCatVerbs>
Vornicus: you have structures of various types, whose utility increases according to how close they are to others, and maybe you need to route between them, too. Then just throw the problem at a simulated annealing or genetic algorithm.
02:15 Vornotron [Vornicus@Admin.Nightstar.Net] has joined #code
02:16 Vornicus [Vornicus@Admin.Nightstar.Net] has quit [Ping Timeout]
02:16
<@MyCatVerbs>
And then I realised, I'd been sending packets into the bit bucket the whole time.
02:24 You're now known as TheWatcher[afk]
03:58 Vornotron is now known as Vornicus
04:09 * Derakon eyes his mazes at 300% zoom.
04:09
<@Derakon>
That's still a pretty damned claustrophobic passageway, and a small protagonist to be able to fit in them.
04:09
<@Derakon>
500% looks a bit better...that's a 50x50px block, though.
04:11
<@Derakon>
That means a screen that's 18x13 blocks, which is roughly what Super Metroid gives.
04:32 gnolam [lenin@Nightstar-1382.A163.priv.bahnhof.se] has quit [Quit: Z?]
04:38 * Derakon writes up a post considering issues involved in navigating narrow passageways.
04:38
<@Derakon>
Now I feel like I at least got *something* done today that wasn't refactoring.
05:03 Syloqs-AFH [Syloq@Admin.Nightstar.Net] has quit [Connection reset by peer]
05:34 Derakon is now known as Derakon[AFK]
05:35 Derakon[AFK] [~Derakon@Nightstar-4879.hsd1.ca.comcast.net] has quit [Quit: This computer has gone to sleep]
06:22 Chi [~omegaboot@Nightstar-3659.dsl.emhril.sbcglobal.net] has joined #code
06:22 Alek [~omegaboot@Nightstar-3659.dsl.emhril.sbcglobal.net] has quit [Ping Timeout]
06:23 Chi is now known as Alek
06:42 Tarinaky [~Tarinaky@Nightstar-16638.plus.com] has joined #code
07:58 Rhamphoryncus [~rhamph@Nightstar-7184.ed.shawcable.net] has quit [Quit: Rhamphoryncus]
08:16 ToxicFrog [~ToxicFrog@Admin.Nightstar.Net] has quit [Client exited]
08:26 Vornicus [Vornicus@Admin.Nightstar.Net] has quit [Quit: ]
08:45 AnnoDomini [~farkoff@Nightstar-29064.neoplus.adsl.tpnet.pl] has joined #Code
08:45 mode/#code [+o AnnoDomini] by ChanServ
08:46 ToxicFrog [~ToxicFrog@Admin.Nightstar.Net] has joined #code
08:46 mode/#code [+o ToxicFrog] by ChanServ
11:33 Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has joined #code
11:33 mode/#code [+o Attilla] by ChanServ
11:42 Orthia [~Orthianz@Nightstar-12547.xdsl.xnet.co.nz] has joined #Code
12:51 Consul [~consul@Nightstar-634.dsl.sfldmi.ameritech.net] has quit [Operation timed out]
12:51 Consul [~consul@Nightstar-634.dsl.sfldmi.ameritech.net] has joined #code
12:51 mode/#code [+o Consul] by ChanServ
14:05 Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has quit [Ping Timeout]
14:07 Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has joined #code
14:07 mode/#code [+o Attilla] by ChanServ
14:14 Attilla_ [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has joined #code
14:14 Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has quit [Ping Timeout]
14:17 Attilla_ is now known as Attilla
14:27 TarinakyKai [~Tarinaky@Nightstar-16638.plus.com] has joined #code
14:30 Tarinaky [~Tarinaky@Nightstar-16638.plus.com] has quit [Ping Timeout]
14:39 gnolam [lenin@Nightstar-1382.A163.priv.bahnhof.se] has joined #Code
14:39 mode/#code [+o gnolam] by ChanServ
15:03 Syloq [Syloq@Admin.Nightstar.Net] has joined #code
15:04 Syloq is now known as Syloqs-AFH
15:15 KBot [AnnoDomini@Nightstar-28230.neoplus.adsl.tpnet.pl] has joined #Code
15:16 KarmaBot [AnnoDomini@Nightstar-29064.neoplus.adsl.tpnet.pl] has quit [Ping Timeout]
15:16 AnnoDomini [~farkoff@Nightstar-29064.neoplus.adsl.tpnet.pl] has quit [Ping Timeout]
15:18 KBot is now known as KarmaBot
15:22 AnnoDomini [~farkoff@Nightstar-28230.neoplus.adsl.tpnet.pl] has joined #Code
15:22 mode/#code [+o AnnoDomini] by ChanServ
15:41 Derakon [~Derakon@Nightstar-4879.hsd1.ca.comcast.net] has joined #code
15:41 mode/#code [+o Derakon] by ChanServ
15:48 Rhamphoryncus [~rhamph@Nightstar-7184.ed.shawcable.net] has joined #code
16:08 Derakon is now known as Derakon[AFK]
16:26 Vornicus [Vornicus@Admin.Nightstar.Net] has joined #code
16:26 mode/#code [+o Vornicus] by ChanServ
16:42 Rhamphoryncus [~rhamph@Nightstar-7184.ed.shawcable.net] has quit [Quit: Rhamphoryncus]
17:08 Derakon[AFK] is now known as Derakon
17:10 TarinakyKai [~Tarinaky@Nightstar-16638.plus.com] has quit [Ping Timeout]
17:17
<@gnolam>
Now let's see if the EEE survives this upgrade...
17:30 Tarinaky [~Tarinaky@Nightstar-16638.plus.com] has joined #code
17:34
<@gnolam>
Huh. Actually seems to work.
17:38
<@gnolam>
But of course, it hung during shutdown.
17:39
<@gnolam>
Now let's see if the filesystem has broken again.
17:42
<@gnolam>
It hadn't.
17:42
<@gnolam>
Amazing.
19:36 TarinakyKai [~Tarinaky@Nightstar-16638.plus.com] has joined #code
19:39 Tarinaky [~Tarinaky@Nightstar-16638.plus.com] has quit [Ping Timeout]
19:52
<@Derakon>
Bah. That just made things slower!
19:53
<@Derakon>
Premature optimization is a mistake; mature anti-optimization is just annoying.
19:53
<@jerith>
Pessimisation++
20:11
<@Derakon>
...I just realized, that huge map I made a couple days ago?
20:11
<@Derakon>
I was comparing it pixel-wise to the Super Metroid map.
20:11
<@Derakon>
And if I just take straight pixels, then they're about the same size. But practically speaking I'll be scaling up the blocks in my map by a factor of 4 or 5.
20:11
<@Derakon>
Which made my map a good 16-25 times bigger than the Super Metroid map.
20:23
<@Vornicus>
Well, except that what counts is physics.
20:23
<@Vornicus>
How big is one square?
20:24
<@Vornicus>
For Super Metroid that number is somewhere between 2 and 3 feet.
20:31
<@Derakon>
Mm, good point.
20:31
<@Vornicus>
The size of a pixel has nothing to do with the size of the game, just the amount of detail.
20:31
<@Derakon>
Yeah.
20:33
<@Vornicus>
(If you really want to compare sizes here, count the number of tiles of open space.)
20:34
<@Derakon>
That gets trickier.
20:34
<@Derakon>
Here's a simplified map of Super Metroid: http://www.gamefaqs.com/console/snes/file/588741/8758
20:36
<@Derakon>
I suppose the easiest way to count the amount of used space on that map would be to remove the key, elevators, and disclaimer, then counte the number of grey pixels and subtract that from the size of the image, then divide by the number of pixels in a single square.
20:38
<@Derakon>
...oh, no.
20:38
<@Derakon>
Please no.
20:38
<@Derakon>
I think my wallwalker just got stuck in a loop...on a map that took 886369 milliseconds to get to the wallwalker phase. >.<
20:44
<@McMartin>
You really need to start caching intermediate steps on disk.
20:46
<@Derakon>
Not a bad idea, that.
20:46
<@Derakon>
Fortunately, I think I know roughly what's going wrong, and it should be reproducible on smaller maps after a few tries.
20:47
<@Derakon>
I was trying to make a large map with short corridors...problem with short corridors being that they're more likely to make oddly-shaped and small sectors.
20:51
<@Derakon>
Ahh, here's another bug I'd been meaning to track down. http://derakon.dyndns.org/~chriswei/games/jbrl/maze/10.png
20:51
<@Derakon>
Look left of center.
20:52
<@Vornicus>
The un-opened maze area?
20:52
<@Derakon>
Yeah.
20:58
<@Derakon>
Ah hah. That happens when the start of the tree used to make the map is not adjacent to any other sections of the maze.
21:16
<@Derakon>
Right, that *should* fix that.
21:17
<@Derakon>
I think I'm guaranteed that the center of a node's line should be in its sector if anything is.
22:16
<@McMartin>
UQM, nfrotz, or Blorple?
22:16
<@Derakon>
Yes.
22:17
<@Vornicus>
nfrotz.
22:17
<@McMartin>
nfrotz it is.
22:23
<@McMartin>
Actually, GlkTermw it is, to loot its precious data.
22:57 Derakon is now known as Derakon[AFK]
23:14 * AnnoDomini ponders how to connect two points to make corridors.
23:14
<@AnnoDomini>
Already have a pretty good idea, IMO, how to make rooms. But how to connect them seems more complex.
23:47 Derakon[AFK] is now known as Derakon
23:50
<@Derakon>
AnnoDomini: you could use a similar approach to what I'm doing for my project.
23:50
<@Derakon>
Which is to run a cellular automata that hollows out the map.
23:51
<@Derakon>
Seed the automata with cells along the line connecting your two points; they expand out and carve tunnels before hitting end-of-life and vanishing.
23:52
<@McMartin>
Rats, this isn't a two-line fix after all.
--- Log closed Sun Mar 29 00:00:26 2009
code logs -> 2009 -> Sat, 28 Mar 2009< code.20090327.log - code.20090329.log >