code logs -> 2012 -> Wed, 05 Dec 2012< code.20121204.log - code.20121206.log >
--- Log opened Wed Dec 05 00:00:54 2012
00:11 thalass is now known as Thalass|KSP
00:15 Attilla [Obsolete@Nightstar-963a32bf.as43234.net] has quit [Ping timeout: 121 seconds]
00:25 You're now known as TheWatcher[zZzZ]
00:48 Vornicus [Vorn@Nightstar-35eb62f8.sd.cox.net] has joined #code
00:48 mode/#code [+qo Vornicus Vornicus] by ChanServ
01:10 Derakon[AFK] is now known as Derakon
01:19 cpux|2 is now known as cpux
01:19 Netsplit *.net <-> *.split quits: Zemyla, @Vornicus, Thrae, Reiv, simon`, @PinkFreud, franny, @Derakon, Azash, @jerith, (+2 more, use /NETSPLIT to show all of them)
01:20 Netsplit over, joins: @PinkFreud, &jerith, @Tamber, ~Vornicus, Reiv, &Derakon, franny, Zemyla, simon`, rms (+2 more)
01:47
< auREAX>
nutsplat
01:54
<~Vornicus>
Hm. Okay, maybe rejiggering json's encoder and decoder to spew objects might not be a good idea.
01:54
<&McMartin>
Heh
01:56
<~Vornicus>
Doing json -> dicts&lists -> object tree is more sane and requires less crazygonuts code.
02:00
<~Vornicus>
This puts my "generate new game" hookup at I think dicts&lists level.
02:01
<&Derakon>
Vorn: http://pastebin.com/4wZmt9Vx
02:01
<&Derakon>
Function I wrote that iterates over the list in the provided JSON file and creates an object for each entry in the list.
02:02
<&Derakon>
...and I note that the error handling (lines 18-38) should be completely unnecessary. Hm. Why did I write that?
02:02
<&Derakon>
Oh, wait, right. It's not that JSON is failing, it's the class constructor.
02:02
<&Derakon>
Man, I'm out of it today.
02:07
<&Derakon>
But anyway, yeah, Pyrel uses that code to load JSON data.
02:18
<~Vornicus>
Yeah. I don't think I'll do a one-step job like that.
02:20
<&Derakon>
It sounded like the most sane alternative to modifying the decoder. *shrug*
02:20
<~Vornicus>
--the json file contains the whole savegame, including game settings, three lists of different entities, and so forth, and I think my newgame thing will actually create a dicts&lists pile that the game will parse out.
02:20
<&Derakon>
Oh.
02:20
<&Derakon>
Okay, yeah, that's different.
02:20
<~Vornicus>
So the two steps - like I put up above - seems the sanest.
02:34 ErikMesoy|sleep [Erik@A08927.B4421D.E795B2.4E4ED1] has quit [Ping timeout: 121 seconds]
02:36
<~Vornicus>
hng.
02:43
<~Vornicus>
Okay. game = {"settings": {settings dictionary}, "turn": turn_number, "players": [{"species": player.species, "homeworld": player.homeworld, etc}, etc], "planets": [{"name": planet.name, "location": planet.location, "size": planet.size, etc}, etc], "fleets": [{"player": fleet.player_id, "strength": fleet.strength, etc}, etc]}
02:43
<&Derakon>
More generally, you serialize all the game objects to JSON dicts, and then have some structures that dictate the relationships between those dicts.
02:46
< rms>
FYI they're called objects, not dicts.
02:46
<~Vornicus>
A players' homeworld and planets' owner and so forth are all ids, because circular references are bad m'kay
02:48
<&ToxicFrog>
rms: in practice, a "JSON object" is what would be called a dict in any other context, and since this context includes discussion of objects-as-objects as well, it makes sense to call them dicts.
02:49
< rms>
Associated arrays and hash-tables are what other langauges call them. Dicts are a Python/C# thing. Eitherway, it was just a "hey, here's the correct term if you didn't know it already. Not really correcting you."
02:55
<&ToxicFrog>
Dicts are also an ObjC and Smalltalk thing.
02:56
<&ToxicFrog>
The most general term is probably "map".
03:13
< Tarinaky>
http://stackoverflow.com/questions/218123/what-was-the-strangest-coding-standard -rule-that-you-were-forced-to-follow/218149#218149
03:15
<&Derakon>
The one a ways down aboutu not using nested if statements is better.
03:16
<&Derakon>
Also the one a ways up about never removing code, instead commenting it out? That's what code was like at work before I stepped in. Fortunately, being the only coder, I was able to say "fuck that noise, we have version control for that" and ignore my boss when he protested.
03:22 VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [[NS] Quit: Program Shutting down]
03:41
< rms>
Oh gods
03:41
< rms>
"never removing code, instead commenting it out" One of the many insanities of the CTO
03:41
< rms>
He /hated/ version control
03:44
< rms>
Other things he hated: the fact that we had a 100% uptime SLA (don't blame him there), getting redundant servers online (reread the first one eh?), writting JS without making it run through a template system (IE he loved dynamically generated JS... which was 20k LoC when I started refactoring it, bloated somewhere near 170kLoC and I got it down to 2kLoC which behaved better and had more features), getting me the documentation needed for me to do my job, letting me
03:44
< rms>
document the things he already documented but refused to let me have, among other things.
03:46
<~Vornicus>
I had a professor who insisted on hungarian notation because "how else can you tell what type things are" and then I pointed out that the IDE tells you in one click, and then he said "but what about printed code" and I expressed incredulity that anyone had printed code for production work any time in the past ten years.
03:53
<&McMartin>
I've been known to print .h files
03:53
<&McMartin>
There you know what type it is because it's the token right before the variable name!
03:53
<~Vornicus>
heh
03:55 * McMartin fiddles
03:55
<&McMartin>
I feel like there should be a better way to do this.
03:56
<&McMartin>
Basically, I have a bitmap, and I want to impose patterning and edge detection on it with code hooks
03:56
<~Vornicus>
"patterning"?
03:56
<&McMartin>
Ideally non-destructively so that I can make it be convenient and functional, but also ideally without rebuilding the whole bitmap each time
03:56
<&McMartin>
Like, say, turning it into bricks.
03:57
<&McMartin>
Turning XXXXX into LRLRX or XLRLR depending on whether it's an odd or even row.
03:58
<~Vornicus>
...like taking, uh, a bitmap that is a maze and blowing it up using specific tiles?
03:58
<&McMartin>
No, like taking a map of "is this a wall or not" and having it pick corner and edge tiles as desired.
03:59
<~Vornicus>
Okay so actually yes
03:59
<&McMartin>
Ah, OK
03:59
<&McMartin>
But yeah, not just maze-y walls, but also solid chunks of wall should get the brick pattern, more or less
04:00
<~Vornicus>
Right. Okay so I suspect your best bet is to create a "kernel" function
04:00
<&McMartin>
Yeah
04:01
<&McMartin>
The "and functional" is the part that screws this up, really
04:01
<~Vornicus>
What do you mean about "rebuilding the whole bitmap each time"
04:01
<&McMartin>
That's part of "and functional"
04:01
<&McMartin>
With the kernel method, if you mean what I think you do
04:01
<~Vornicus>
When you say "and functional" you mean you want to leave the original bitmap unchanged?
04:01
<&McMartin>
More "I'd like it to be something I can easily turn into a big list of kernels in Clojure"
04:02
<&McMartin>
AndI think doing that will involve mutability to make it work out
04:02
<~Vornicus>
Hrngh.
04:02
<~Vornicus>
Okay so here's how I envisioned this
04:02
<&McMartin>
The real sticky bit is "I don't want the kernel as applied to other parts of the map to affect later parts during that pass"
04:02
<&McMartin>
And it's not clear whether that's even the right thing to want.
04:03
<~Vornicus>
Oh. That you just write your kernel results to a separate map, not the one you're writing on. Same deal as when you write Life
04:03
<&McMartin>
Right
04:03
<~Vornicus>
er, not the one you're reading from.
04:03
<&McMartin>
That's the part where I went "Hm, maybe I can make this functional all the way down"
04:04
<&McMartin>
But that, while possible, gets messy pretty fast
04:04
<&McMartin>
Especially if I want to start and end with a rasterization vector.
04:04
<&McMartin>
The transformation kernel can "reach out"
04:05
<&McMartin>
The obvious intermediate format is a write-once functional map
04:05
< rms>
Another thing: he didn't like the ?: operator
04:05
< rms>
(Sorry other channel reminded me of it)
04:06
<&McMartin>
Hmm
04:06
<&McMartin>
OTOH, it looks like I'd be capping out at under 64k elements overall, though, so that might be all right.
04:06
<~Vornicus>
I am not a huge fan of ?: myself
04:07
<~Vornicus>
I mean yes it's convenient but goddamn the shrieking horrors that I see coming out of my code whenever I use it
04:07
<&McMartin>
It's necessary, if your language doesn't allow statements to be expressions~
04:08
<&McMartin>
Vornicus: Basically, the primitives I want are "apply these kernels in order, treat that as a kernel", and "apply this kernel repeatedly until it has nothing left to do, and that is a kernel"
04:08
<&McMartin>
And then the core which is "replace this NxM pattern with this other NxM pattern"
04:10
<&McMartin>
The core data here is, naturally, https://hkn.eecs.berkeley.edu/~mcmartin/games/DD/zone_1.txt
04:11
<~Vornicus>
Naturalluy
04:12
<&McMartin>
Though upon realizing that this was the Brick Zone instead of the Rock Zone I'm going to revisit parts of it to make it more angular
04:12
<&McMartin>
... but only after I've gotten the pattern-replacer to work on more complex geometries
04:16 * Derakon eyes that map.
04:16
<&Derakon>
So wait, is the problem you're trying to solve that you want to provide correct "facings" for each tile depending on what tiles are adjacent?
04:16 himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds]
04:16
<&Derakon>
Jetblade has a solution to that problem.
04:17
<&McMartin>
Derakon: Essentially, yes, but there's a complication in that I also want internal levels of detail, too.
04:17
<&Derakon>
What do you mean by that?
04:17
<~Vornicus>
He put up a demo with that map in it and he said "you should recognize the map" and I got about halfway through and I went "oh is it..." and then "oh it is"
04:17
<&McMartin>
The place where the Umbrella goes pretty much should have nailed it~
04:18
<&McMartin>
Derakon: So, for the Crystal Zone, it's exactly the Jetblade problem.
04:18
<&McMartin>
This, however, will be the Brick-and-Stone zone
04:18
<&McMartin>
So there are basically three tiles for filling in
04:18
<&McMartin>
Left-half-of-brick, Right-half-of-brick, Truncated-half-brick.
04:18
<&Derakon>
I'm afraid I don't recognize that particular map, but we've already determined that I cannot brain right now.
04:18
<&McMartin>
Hint: The umbrella is in the lower left, and the room caption is "It's Dangerous To Go Alone"
04:19
<&McMartin>
Anyway
04:19
<&McMartin>
There's a lot of solid blocks of wall in the map
04:19
<&Derakon>
Still not seeing it. *shrug*
04:19
<&McMartin>
I want those to alternate Left-half-of-brick and Right-half-of-brick in a checkerboard pattern, as much as the edges allow.
04:20
<&Derakon>
Ah.
04:20
<&McMartin>
It's the first underworld map from Zelda 1.
04:20
<~Vornicus>
Der: the large-scale topography is ...
04:20
<&McMartin>
Just with up/down instead of north/south.
04:20
<&Derakon>
Ah.
04:20
<&Derakon>
I was expecting more meaning from the contents of the rooms, not just their overall layout.
04:21
<&Derakon>
Anyway, so McM, basically you have exterior blocks and interior blocks, and you want the interior blocks to make an appropriate brick pattern?
04:21
<&McMartin>
Also, for this particular case, the edge bricks can *also* be part of the interior, but that's not something I want to hardcode.
04:22
<&Derakon>
I don't know how useful Jetblade will be as an example here...
04:22
<&Derakon>
It has the following block facings: http://derakon.dyndns.org/~chriswei/games/jbrl/models/block11.png
04:22
<~Vornicus>
So, wait
04:22
<&Derakon>
The facing-decider system basically looks at the adjacencies and assigns blocks based on them; see line 79 here: http://code.google.com/p/jetblade/source/browse/mapgen/generator.py
04:23
<~Vornicus>
You have "generic brick block" that your kernels will turn into a variety of other, externally defined, blocks.
04:23
<&McMartin>
Vornicus: And then it can iterate to "spread" based on that, or correct, yes.
04:23
<&McMartin>
So the easiest but hilariously replace-tastic version is:
04:23
<&McMartin>
Each upper left corner is a left half of a brick.
04:23
<&McMartin>
fixpoint on "spread alternation in all cardinal directions"
04:24
<&McMartin>
Anything unassigned, and any half-brick with an empty space to its partner direction, becomes "truncated half-brick"
04:24
<&Derakon>
Alternately, brick = [left, right][(row % 2 + column % 2) % 2]
04:24
<&Derakon>
I think that should get you the right pattern.
04:25
<&McMartin>
Yeah, that's also a possibility
04:25
<&Derakon>
Then you only apply brick if the tile is an interior tile.
04:25
<&McMartin>
It has the disadvantage that a two-brick platform might be two half-bricks instead of one whole one, though.
04:25
<&Derakon>
Mm, point.
04:25
<&Derakon>
Align all your two-brick platforms so this doesn't happen~
04:25
<&McMartin>
Right now most of the platforms are odd numbers of bricks anyway, though I expect I'll fix that~
04:27
<&McMartin>
And yeah, the crystal level works exactly like Jetblade and can I think be handled in, effectively, a single pass
04:34 Kindamoody[zZz] is now known as Kindamoody
04:35 himi [fow035@Nightstar-768ba3a0.in-addr.csiro.au] has joined #code
04:35 mode/#code [+o himi] by ChanServ
04:50
<&ToxicFrog>
I do not recognize that map.
04:51
<~Vornicus>
TF: the large-scale topography is the same as that of the first dungeon in the original Zelda
04:52
<~Vornicus>
who the fuck did the web design on vgmaps.com, I need to beat them with a stick.
04:52
<~Vornicus>
http://vgmaps.com/Atlas/NES/LegendOfZelda-FirstQuest-Level-1%28Eagle%29.png see
04:53
<&Derakon>
Vorn: the 90's did the website design.
04:53
<&ToxicFrog>
Aah
04:53
<&ToxicFrog>
My first Zelda was OoT~
04:54
<&Derakon>
A pity. You missed all the actually good ones except for Majorah's Mask~
04:54
<~Vornicus>
Even in the 90s more, smaller pages was better
05:00
<&McMartin>
Aaanyway
05:00
<&McMartin>
I have found a five-line Clojure implementation of the Conway's Life automaton
05:00
<&McMartin>
It ruthless exploits the fact that maps are callable
05:00
<&McMartin>
And as such can be used as arguments to map
05:01
<&McMartin>
This gives me various impressively evil ideas for things I can do for implementing kernels.
05:01
<~Vornicus>
oh god
05:01
<&McMartin>
The core part of it is
05:01
<&ToxicFrog>
Derakon: them's fighting words
05:01
<&ToxicFrog>
OoT rocked and MM was terrible
05:02
<&Derakon>
TF: did you know that by swithing from the US to Japanese versions, the TAS of OoT saved something like 15 minutes just from having less text to scroll through at horribly glacial speeds?
05:02
<~Vornicus>
MM was filled with amazing awesome ideas but suffered quite a bit on execution.
05:02
<&ToxicFrog>
It doesn't have less text, just more text per character.
05:02
<&ToxicFrog>
And yes, the owl can get fucked.
05:02
<&ToxicFrog>
My point stands.
05:03
<&McMartin>
(defn step [cells] (set (for [[loc n] (frequencies (mapcat neighbours cells)) : when (or (= n 3) (and (= n 2) (cells loc)))] loc)))
05:03
<~Vornicus>
I didn't like the field in OoT, it was way too empty.
05:03
<&ToxicFrog>
MM was anti-fun, OoT was great, Awakening and the Oracles games were also pretty good, LttP is good until you hit the aptly-named Misery Mire.
05:03
<~Vornicus>
The sea in WW felt less empty.
05:03
<&McMartin>
neighbors is basically just "the eight coordinates around its argument"
05:03
<&Derakon>
Misery Mire was fantastic.
05:03
<&ToxicFrog>
um
05:03
<&Derakon>
Because it was bloody hard.
05:03
<&ToxicFrog>
The sea in WW was the worst part of it
05:03
<&Derakon>
Something that later Zeldas have completely forgotten about.
05:03
<&ToxicFrog>
Apart from all the other parts
05:04
<~Vornicus>
TF: even so, the sea in WW I found to feel less empty than the field in OoT
05:04
<&ToxicFrog>
Yeah, I had the complete opposite experience. The field felt small, but not nearly as empty and barren as the sea.
05:04
<&ToxicFrog>
And you didn't need to spend nearly as much time in it.
05:05
<&McMartin>
Except for the Escort Mission therein, Twilight Princess's field was the best
05:05
<~Vornicus>
In WW I wanted ships and more mobile hazards and
05:05
<&ToxicFrog>
TP I still haven't played.
05:05
<&McMartin>
Epona turns like a cinematic horse, and it is fucking awesome
05:05
<~Vornicus>
TP is Brown and too slow in places but otherwise great
05:05
<~Vornicus>
well, in a lot of places
05:06
<&Derakon>
I played through TP once.
05:06
<&McMartin>
I consider TP the definitive version of OoT, which I did not happen to like~
05:06
<&Derakon>
My memories of it are basically "even more glacial than OoT".
05:06
<&McMartin>
Yes, it does take like five hours to get out of Hobbiton.
05:06
<&Derakon>
All that narfing about in twilight versions of the normal overworld can go fuck itself.
05:07
<&McMartin>
Well, this general problem is why, five hours in, I still can't be arsed to fire up Dragon Age again
05:07
<~Vornicus>
I didn't figure out, on the first playthrough, that I could put the bridge back.
05:07
<&McMartin>
I should probably at least get to the point where my newly beloved peasant village gets burned to the ground
05:08
<&Derakon>
Vorn: not that that matters since you can just teleport everywhere.
05:08 celticminstrel [celticminst@Nightstar-e83b3651.cable.rogers.com] has joined #code
05:08
<&McMartin>
The nice thing about TP is that Zelda is a credible threat, she just happens to lose.
05:09
<&McMartin>
The silly thing about it is that she's basically an invulnerable zombie pirate sorcerer-queen
05:09
<~Vornicus>
Yeah, except that one relatively important teleport spot only works if you've put the bridge back.
05:09
<~Vornicus>
(it's the closest spot to the Hidden Village)
05:10
<~Vornicus>
My favorite Zelda is Awakening, I think.
05:11
<&McMartin>
(In Twilight Princess, the final boss ybpxf Mryqn bhg bs gur onggyr, naq V yvxr gb guvax vg'f orpnhfr fur'f gur ovttre guerng)
05:11
<&McMartin>
I'd have to go with the Oracles games taken as a unit.
05:11
<&ToxicFrog>
My biggest issues with Oracles is that I found Ages to be much better than Seasons.
05:11
<&ToxicFrog>
Issue.
05:12
<&McMartin>
My problem with Awakening is that I played the Oracles games first
05:12
<&Derakon>
My favorite Zelda game...probably either the first one or the second one. ?.?
05:12
<~Vornicus>
I found a lot of the Oracles stuff to feel, uh
05:12
<&Derakon>
The later ones just don't stand up tor replay for me.
05:12
<~Vornicus>
It felt like, how do I put it.
05:12
<&Derakon>
And/or I can't really stand Gameboy Color games.
05:12
<&Derakon>
Vorn: cartoony?
05:12
<~Vornicus>
No, uh...
05:12
<&McMartin>
I've certainly played the first one the most.
05:13
<~Vornicus>
There were the rings, which felt very non-zelda
05:13
<&McMartin>
This kind of implies that I lost interest in the Zelda games once they gained their primary distinguishing feature of Every Boss A Gimmick Boss
05:14
<&Derakon>
McM: not just that, but practically every fight being a pattern fight.
05:15
<~Vornicus>
And then there were the seeds, which also felt non-zelda too: ew, grinding
05:17
<~Vornicus>
GODDAMMIT VORNDA OUT OF MY BRAIN
05:17
< celticminstrel>
?
05:18
<~Vornicus>
Vornda is the name of my putative zelda clone which wants to be a topdown minecraftian except that I can't figure out how to avoid grinding as studiously as most zeldas do.
05:18
<&Derakon>
What would you want grinding for?
05:18
<&Derakon>
Well, s/want/need/?
05:20
<~Vornicus>
Okay so, I look at minecraft and I see two grind-shaped problems: 1. searching for rare materials (specifically diamonds, but in mods there are more), 2. gaining levels for enchantment.
05:20
<&Derakon>
Mm. If you want a crafting system, you are basically accepting grinding into the game.
05:20
<&Derakon>
Unless you want the crafting to be very strictly limited in scope.
05:20
< celticminstrel>
There are other rare materials besides diamonds... I think both lapis and emerald count.
05:20
<&Derakon>
TBQH I have not found crafting systems in most games to be remotely compelling.
05:21 * rms finds automating crafting to be interesting
05:21
<&Derakon>
Since they tend to take the form of "instead of grinding for that rare drop, you can grind for all the components to make the rare drop, which requires the same amount of time but way more crap in your inventory."
05:21
< rms>
But that requires mods
05:21
< rms>
Heh
05:21 himi [fow035@Nightstar-768ba3a0.in-addr.csiro.au] has quit [Ping timeout: 121 seconds]
05:22
< rms>
In MC most crafting is stuff you can't mine/find.
05:22
<&Derakon>
RMS: right, I'm saying that in most games, they could have let you just fine the cool shit.
05:22
<&Derakon>
But instead they force you to make it.
05:22
< rms>
*shrugs*
05:22
<&Derakon>
So they can check off the "has a crafting system" checkbox.
05:23
< rms>
D2's system was interesting. Punitive, but interesting
05:23
<~Vornicus>
Diablo 2?
05:23
< rms>
Yes
05:23
< rms>
(Basically there wasn't an optimal choice for it, it was just a crap-grinder)
05:24
< rms>
Occasionally it'd produce something you could use. Mostly it just made more (worse) crap.
05:25
< rms>
Vornicus: what's that game need? I'll play with it later. Just PyGame?
05:25
<~Vornicus>
rms: it has no code
05:25
<~Vornicus>
Well okay it has about 30 lines of code.
05:25 * rms saw .py files
05:26
<~Vornicus>
Oh, you're on my bitbucket
05:26
<~Vornicus>
Just pygame.
05:26
<~Vornicus>
All it has right now is a camera that follows a lissajous curve over an area randomly dotted with trees.
05:26
<~Vornicus>
Anyway.
05:26 syksleep is now known as Syk
05:26 * rms is oblivious, assumes that's math something.
05:27
<~Vornicus>
a lissajous curve basically it oscillates over the two dimensions at two different speeds.
05:27
<~Vornicus>
If you want to play with it, go for it.
05:27
< rms>
I'd have to install pygame
05:27
<~Vornicus>
It runs on 2.7 with latest pygame
05:27
< rms>
... and it's 2230
05:27
< rms>
I need to wake in 5.5 hours
05:27
< rms>
So...
05:28
< rms>
Night
05:28
<~Vornicus>
rms: Sleep then
05:30 franny [fran@Nightstar-e67f9d08.com] has quit [[NS] Quit: ?]
05:31 himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
05:31 mode/#code [+o himi] by ChanServ
05:35
<~Vornicus>
I gave up on poking at vornda when I realzied that a lot of the things I was about to need to do I didn't know how to do.
05:35
<~Vornicus>
So now I'm working on Vorntiers which I /can/ do.
05:41 himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds]
05:58 himi [fow035@Nightstar-bf0433d3.in-addr.csiro.au] has joined #code
05:58 mode/#code [+o himi] by ChanServ
05:58
<~Vornicus>
In a certain sense what I think I want to do is have, uh. in Secret of Mana you get, as you fight bosses, orbs of power that you can use to upgrade your weapons.
05:59
<~Vornicus>
And they very significantly upgrade the power of your weapons
06:00
<&Derakon>
Don't you have to grind cash to pay for the upgrades?
06:01
<~Vornicus>
in SoM? Yes.
06:01
<~Vornicus>
You also have to grind experience on the upgraded weapons.
06:03
<~Vornicus>
So while the "item of significant power, find a boss to kill or a biggish puzzle to solve" thing is what I want, I don't want to get caught up in the experience etc grinding.
06:06
<&Derakon>
The way to handle that is to not give rewards for killing mooks, only for achieving major milestones.
06:06
<~Vornicus>
Basically, yeah
06:07
<~Vornicus>
There's other things I want to avoid too
06:08
<~Vornicus>
the inventory limit -- the way Minecraft and Terraria kind of force you to go home once in a while to dump off your shit -- gets on my nerves.
06:09 Kindamoody is now known as Kindamoody|afk
06:09
<&Derakon>
Inventory limits work well in many roguelikes.
06:09
<&Derakon>
Where they force you to carefully consider which situations you want to be prepared for.
06:10
<~Vornicus>
I guess I should describe more clearly
06:10
<&Derakon>
Do you carry the armor that gives you extra protection against undead? Or the staff that serves as a limited-use "oh shit" button? Or just more healing potions?
06:10
<&Derakon>
But yeah, if you just kind of pile up loot and occasionally have to go back to dump it off, then something is broken.
06:10
<&Derakon>
IMO, you shouldn't be able to stash loot in that kind of game.
06:10
<&Derakon>
"Collect all the things" is a broken gameplay modus.
06:11
<&Derakon>
(Unless those things are the sole point of the game, c.f. Mario's stars)
06:11
<~Vornicus>
I guess what I really want is this: you can carry as many varieties of materials as there are in the game, and up to some limit which is more than you'll need for any even vaguely typical situation
06:12
<~Vornicus>
And they don't count.
06:12
<~Vornicus>
But then you can only carry so many tools, and wear so many accessories.
06:12
<&Derakon>
So basically, collectibles are "free" as far as carrying capacity is concerned.
06:12
<&Derakon>
But items that have inherent, direct utility are limited.
06:13
<~Vornicus>
Right.
06:13
<&Derakon>
I think that works so long as you can't freely convert the collectibles into utile items.
06:14
<&Derakon>
Otherwise you just store all your utile items in their "incomplete" state until you need them.
06:14
<~Vornicus>
Which I have two points for. 1, the Significant Objects
06:15
<~Vornicus>
and 2 -- and this is where i don't really see how I'd go about it quite yet -- you don't craft on your own, you need the expertise of the NPCs back at the 'town' which grows as you achieve things.
06:16
<~Vornicus>
(well - you might be able to do material conversions in the field)
06:17
<&Derakon>
Oh, if you're going to do crafting, and frankly I still think crafting as a concept is broken, then for god's sake make it make sense.
06:17
<&Derakon>
Not like "bar of iron + dragonfly wings + brass pin = SPEAR OF MIGHT"
06:17
<&Derakon>
Otherwise you end up with the situation where everyone hoards everything because they have no goddamned idea if it'll be important down the road.
06:18
<~Vornicus>
And not like 2 blocks of logs = 8 blocks of planks = 1 block of hollow chest, either, I take it~
06:18
<&Derakon>
"hollow chest"?
06:19
<~Vornicus>
well, chest, which happens to be hollow obviously because it holds things
06:19
<&Derakon>
Ah.
06:19
<&Derakon>
Well, that makes sense at least.
06:19
<~Vornicus>
And which can, apparently, contain 1,728 logs within itself
06:19
<&Derakon>
You can reasonably infer, when you pick up a log, that you will be able to make wooden things out of it.
06:19
<&Derakon>
Volume issues aside.
06:23
<~Vornicus>
On the other hand: "among enchanters, the brass ring symbolizes strength" would make it more obvious what the ring does and then you could use it on a spear.
06:24
<&Derakon>
Mm, but you'd have to add that recipe for every combination where it makes sense.
06:24
<&Derakon>
I mean, if you're going to make rules, then make those rules consistent.
06:25
<&McMartin>
There are worse fates
06:25
<&McMartin>
Though now "brass ring" = "strength rune"
06:25
<&Derakon>
Yeah, and D2's rune system is a good example of doing crafting well -- each rune has well-defined rules and they're consistently applied.
06:25
<&Derakon>
(Nevermind the runewords)
06:26
<&McMartin>
Blingots!
06:26
<&McMartin>
The unit of currency, refined into bars.
06:26
<~Vornicus>
McM: you know they're going in there.
06:29
<~Vornicus>
Well, okay, probably not
06:30
<~Vornicus>
But, hm, let's see
06:32
<~Vornicus>
Okay so the diamonds thing gets a lot worse in minecraft when you discover how many you actually need to do everything with it: in addition to armor, you also need a pickaxe and a sword (or more than one sword if you're enchanting and specializeing)
06:37
<@himi>
You also need lots more to replace the tools that break
06:37
<@himi>
The only sane way to do it is to cheat
06:39
<~Vornicus>
I can mine for hours and hours and find like four
06:41 Derakon is now known as Derakon[AFK]
06:41
<~Vornicus>
Well, you don't need the diamond pick more than once
06:42
<~Vornicus>
And the diamond sword while great you don't need to use all that often
06:43
<~Vornicus>
THing is, you should be able to find any "basic materials" relatively quickly, once you know where to look.
06:46
<~Vornicus>
Need wood? Well there's a forest over there. Stone? Digging out that cave is your best bet. Skulls? Skeletons come out at night. Iron? Find an ingot of starmetal and it will point the way.
06:48
<~Vornicus>
And in no case should you need more than you can get in a few minutes to get any individual thing.
06:56
<~Vornicus>
Dragonfly wings? Swamp. Brass Ring? That's a mid-level Significant Object; you're going to need to find a mid-level puzzle or boss. But you use it only for significant new items or upgrades to old items.
06:58 Kindamoody|afk is now known as Kindamoody
07:01
<@himi>
Minecraft would probably be less engrossing if it hewed to those kinds of rules
07:02
<~Vornicus>
probably. I don't know. I always get grumpy about it.
07:05
<~Vornicus>
Most of the stuff you want to put /is/ just a few minutes away.
07:07
< Tarinaky>
DAE feel absolutely knackered by the end of term?
07:07
< Azash>
Yep
07:12
<~Vornicus>
But then you have diamonds, and diamonds you need a fuckton of, compared to how long it takes to find them.
07:15
< gnolam>
Inventory limits are the least of Terraria's problems.
07:15
< gnolam>
The main problem with that game is that it's entirely luck-based.
07:16 Attilla [Obsolete@Nightstar-963a32bf.as43234.net] has joined #code
07:16
< gnolam>
To progress you have to find certain items. But you're not guaranteed to find them*.
07:17
< gnolam>
* in a humanly feasible amount of time.
07:18
<~Vornicus>
I will freely admit I used a mapping tool to find the chest items and so forth.
07:22
<~Vornicus>
That's also the problem with diamonds in Minecraft.
07:22
<&McMartin>
Oh wow
07:22
<&McMartin>
I may be a bad person
07:22
<~Vornicus>
At least you can sort of get around it a little bit.
07:22
<~Vornicus>
May be?
07:22
<&McMartin>
(def indexed (partial map-indexed vector))
07:22
<&McMartin>
user=> (indexed [:a :b :c :d :e :f :g])
07:22
<&McMartin>
([0 :a] [1 :b] [2 :c] [3 :d] [4 :e] [5 :f] [6 :g])
07:23
< gnolam>
It's not as big a problem in Minecraft.
07:24
<~Vornicus>
McM: so, you wrote enumerate
07:24
<&McMartin>
Actually I wrote "zip(x, range())"
07:24
< gnolam>
It's way more sandboxy (does anyone actually care about the tacked-on adventure stuff?), and diamonds are much, /much/ more abundant than the stuff you need to find in Terraria.
07:24
< gnolam>
It at least used to be the case that if you dug down to the lowest levels of the map, you were pretty much guaranteed to find them.
07:25
<~Vornicus>
I can do a lot of digging down there and not find them.
07:25
<~Vornicus>
That's been the case for, well, as long as I've been playing MInecraft.
07:25
<&McMartin>
Vorn: It's more the way I'm using a constructor as an argument to a map variant
07:25
< Tarinaky>
Can I ask some semi-professional advice?
07:25
<~Vornicus>
NO
07:25
<~Vornicus>
NEVER
07:25
<~Vornicus>
go ahead.
07:26
< Tarinaky>
Why do I feel contempt towards basically all the other students this year :/
07:26
< Tarinaky>
All the cool/good people are on IYs or graduated.
07:26
<~Vornicus>
Because that's the appropriate response
07:26
< Tarinaky>
It cannot be either healthy or natural to hate everyone as much as I do right now.
07:27
< gnolam>
Tarinaky: IYs?
07:28
< Tarinaky>
Industrial Year
07:28
< Tarinaky>
Work Placement, whatever you want to call it.
07:29
< Tarinaky>
I've been drinking more, I think, because I don't actually enjoy these people's company :/
07:29
< Tarinaky>
And yeah. IDK what to do -.-
07:31 Kindamoody is now known as Kindamoody[zZz]
07:32
<~Vornicus>
moar IRC, clearly
07:34
< Syk>
whee new cpu cooler is here
07:35
< Tarinaky>
Yeah. Except I don't get the same thing out of IRC I do out of IRL people... like hugs.
07:37
< Tarinaky>
I'm gonna go shower and get something from the shops. BBIAB.
07:38
<&McMartin>
Woo, my map parser works and does lots of error checking
07:38
<&McMartin>
Apparently the entire zone is 7,156 tiles
07:38
<&McMartin>
It occurs to me that I probably don't have to cull that -_-
07:39
<~Vornicus>
probably not.
07:41
<~Vornicus>
I have kind of a problem with some games. They make me grumpy and I want to fix them and I can't because I can't actually get in.
08:03 celticminstrel [celticminst@Nightstar-e83b3651.cable.rogers.com] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!]
08:13
<~Vornicus>
sleep
08:13 Vornicus [Vorn@Nightstar-35eb62f8.sd.cox.net] has quit [[NS] Quit: Leaving]
08:49 gnolaptop [lenin@Nightstar-6df2f19f.eduroam.liu.se] has joined #code
09:11
< Tarinaky>
The Prevention of Information Services strike again! http://imgit.me/i/3H0l5s7.png
09:12 You're now known as TheWatcher
09:12
< Tarinaky>
Okay. That is a really loud keyboard.
09:13
< Tarinaky>
Oh wait, it's a vent.
09:13
< Tarinaky>
It sounds like there's someone hiding in the vents, typing.
09:13
< gnolaptop>
Haha
09:15
< Tarinaky>
I don't suppose I, or anyone else, linked an article about using an evolutioanry algorithm to propose 'inspiring' designs a month ago?
09:15
< Tarinaky>
I've got it on my desktop back home... trying to remember where I can download it again from here :/
09:16
< gnolaptop>
Ask the guy in the vents.
09:17
< gnolaptop>
I'm pretty sure he's sitting there and observing you.
09:17
< Tarinaky>
I'm stalking him.
09:18
< Tarinaky>
Ah! Found it!
09:28
< Tarinaky>
Okay! Stupid question time!
09:28
< Tarinaky>
There's something in the body of the piece that's mentioned, but not described. I want to look it up. The citation reads:
09:29
< Tarinaky>
"Chen, D.-Y., Tian, X.-P., Shen, Y.-T., and Ouhyoung, M. 2003. On visual similarity based 3D model retrieval. Computer Graphics Forum (Special Issue of Europraphics) 22, 3, 223-232."
09:30
< Tarinaky>
1) What does that all mean
09:30
< gnolaptop>
That someone can't spell "graphics"?
09:30
< Tarinaky>
That'll be me.
09:30
< gnolaptop>
Explain.
09:30
< gnolaptop>
What is it you don't get?
09:31
< Tarinaky>
What does that mean.
09:31
< Tarinaky>
And if I wanted to find/read it - where would I look?
09:31
< Tarinaky>
(Universities don't really teach library use >.>)
09:31
< gnolaptop>
Just google the paper title.
09:31
< gnolaptop>
Seriously. It's the first result.
09:32
< Tarinaky>
"oh."
09:33
< Tarinaky>
What's with the 22, 3, 223-232 stuff then?
09:33
< gnolaptop>
Reference formats vary. The reference format above is [authors] [year] [paper title] [publication].
09:34
<@TheWatcher>
22, 3, 223-232 will be issue, volume, page-page
09:34
<@TheWatcher>
something like that, anyway
09:34
< gnolaptop>
Volume 22, issue 3, pages 223-232
09:35
< gnolaptop>
http://diglib.eg.org/EG/CGF/volume22/issue3
09:35
<@TheWatcher>
or that way round, yeah
09:36
< Tarinaky>
I did say it was a stupid question >.>
09:36
< gnolaptop>
It's not a stupid question if you've never encountered references before, but it's a bit strange that you haven't.
09:37
< Tarinaky>
I've encountered them before. I've just never actually needed them before. Since University is the new sixth-form...
09:38
< Tarinaky>
I'm going to have to wait for my radio program to finish before I can read this >.<
09:44
< Syk>
ok time for more coffee
09:44 * Syk having a coffee machine is dangerous
09:44
< Tarinaky>
I'm Sorry I Haven't A Clue is awesome.
10:22 RichyB [richardb@Nightstar-3b2c2db2.bethere.co.uk] has joined #code
10:40 gnolaptop [lenin@Nightstar-6df2f19f.eduroam.liu.se] has quit [Connection closed]
10:40 gnolaptop [lenin@Nightstar-6df2f19f.eduroam.liu.se] has joined #code
10:56 gnolaptop [lenin@Nightstar-6df2f19f.eduroam.liu.se] has quit [Client closed the connection]
10:58 * TheWatcher hairpulls at students
10:58
< Syk>
oh man
10:58
<@TheWatcher>
Why, why do they insist on using sodding globals for temporary values?!
10:59
< Syk>
Red Dwarf's Season 6 ended about a month before my birth
10:59
<@TheWatcher>
...
10:59
< Syk>
holy god damn RD is old D:
10:59
<@TheWatcher>
Way to make me feel ancient. >.<
10:59
< Syk>
S6E6 - "Out Of Time" - first aired 11/11/1993
10:59
< Tarinaky>
You're young ;/
10:59
< Azash>
Police Squad ended six years before my birth
11:00
< Syk>
Tarinaky: yeah
11:00 * Syk is 19 in a few days!
11:00
< Tarinaky>
My birth was so tumultuous the Berlin Wall fell.
11:00
< Syk>
on Friday
11:00
< Azash>
Friday, Friday
11:00
< Azash>
Gotta grow up on Friday
11:00
< Syk>
Azash i will hit you
11:00
< Syk>
and then bury you in a ditch
11:00
< Syk>
:)
11:00
<@TheWatcher>
I was 12 when Red Dwarf started airing, sheesh.
11:00
< Azash>
:)
11:01 * Syk gets her Happy Shovel of +2 Joy
11:01 * TheWatcher waves his cane a bit, goes back to using it to beat the crap out of students for overuse of globals
11:01
< Azash>
TheWatcher: I suppose the temp values aren't used outside of the current scope either?
11:02
<@TheWatcher>
Correct!
11:02
<@Tamber>
Tarinaky, my first birthday was such an event the Soviet Union dissolved.
11:02
<@Tamber>
:D
11:03
< Syk>
man
11:03
< Syk>
back when I was terrible at programming
11:03
< Syk>
(not that that's stopped)
11:03
<@Tamber>
Oh, so, yesterday?
11:04
< Syk>
i once came up with an /ingenius/ way of doing global temporary variables
11:04
< Syk>
but lots of them at the same time
11:04 * TheWatcher checks, verifies that yes he has actually given them the "Globals Are Evil" lecture, applies additional beatings
11:04
< Syk>
i just generated a random number, made that the index of a global 'temp' array
11:04
< Syk>
and then used that
11:05
<@TheWatcher>
...
11:05 * TheWatcher twitch
11:05
< Syk>
(it was a quick flat file -> PostgreSQL import tool)
11:05 * Azash feels an eyebrow travel to his hairline
11:05
< Syk>
it was run once and then never looked at again!
11:05
<@Tamber>
Good job you don't live anywhere important, the Anvil of ReEducation is gonna make a *mess*.
11:06
< Syk>
lul
11:06
< Syk>
I have learned much better now
11:06
<@Tamber>
:)
11:06
< Syk>
now i make my temp arrays sequential, so that i don't have the overhead of the rng
11:06
< Syk>
:)
11:06
< Syk>
(i'm kidding i'm kidding please let me keep my spleen)
11:06
<@Tamber>
*anvil*
11:07
<@Tamber>
Keep the spleen, it's the kidneys I'm after; they sell for a decent amount.
11:07
< Syk>
now i am having an episode of spleen maxism
11:07
< Syk>
marxism*
11:07
< Syk>
where my spleen is spread throughout the rest of me D:
11:07
< Syk>
but yeah
11:08 * Syk sent off an invoice today and scheduled another job tomorrow. gonna be great, because money is useful
11:08
< Syk>
what makes me laugh is that 2h of my work is a whole week of my brother's
11:11
< Tarinaky>
TheWatcher: It could be worse. There are two people in my year who's code makes the compiler cry.
11:11
< Syk>
Tarinaky: which compiler
11:11
< Tarinaky>
ALL OF THEM
11:11
< Syk>
because .NET's CLR compiler is like an abuse victim
11:11
< Tarinaky>
Java and C.
11:12
< Syk>
"Here, have some simple hello world code." "BUT BUT NOOOO ;_;"
11:12
<@Tamber>
On a vaguely related note, Clang's "you done goofed" output is *really nice*.
11:12
< Syk>
"I want to target .NET 3.5." "*runs off screaming*"
11:12
< Tarinaky>
It's better than the old Win32API
11:13
<@Tamber>
http://pastebin.furryhelix.co.uk/post/212 =D
11:13
< Syk>
well, it wasn't so much of an abuse victim
11:14
< Syk>
it was more like a savage axe-wielding menace with a few undocumented sweet spots where interesting things happened
11:16
< RichyB>
Tamber: oh you have to be kidding me, that is miles better.
11:16
<@Tamber>
RichyB, I know! It's brilliant :D
11:17
< RichyB>
snap.c:154:6: note: please include the header <string.h> or explicitly provide a declaration for 'memcpy' <- that is just helpful.
11:17
< Syk>
Tamber: http://pastebin.furryhelix.co.uk/post/214 :>
11:18
<@Tamber>
ha
11:18
< Syk>
i want to modify GCC to give utterly useless, but amusing warnings
11:18
<@Tamber>
"modify GCC" good luck
11:18
<@Tamber>
:p
11:19
<@Tamber>
(Nah, I have no idea what the insides of GCC look like; I've not heard great things about them, though. Probably plenty of toe-gunk holding things together.)
11:19
< Syk>
"code.c:123:5: warning: The mighty sun gods frown upon your devilish code. Sacrifice two goats on the summer solstice and recompile."
11:20
< Tarinaky>
Furry helix?
11:20
<@Tamber>
(:
11:21
< Syk>
"code.c:4623:2 error: The code "i += 1;" has been patented by Apple Corporation. Please lay down on the ground, wallet in front of you, as our Patent Compliance Geniuses are dispatched to your premises."
11:27
<@TheWatcher>
"In the case of your answer, <code>temp</code> and <code>mem_test</code> are both Globals That Should Not Be." - the capitals are Required.
11:28
< Syk>
"I would explain why verbally, but I believe this very large stick will explain it better." (engraved on the stick is "Ol' Variable Scoper"
11:30
< Tarinaky>
Maybe you should try an anti-example?
11:31 Thalass|KSP [thalass@Nightstar-a93a3641.bigpond.net.au] has quit [[NS] Quit: THE AXE OF TRUTHINESS COMPELLS YOU!]
11:33
< Syk>
explain it in pictures!
11:34
< Tarinaky>
Go through a case where you have two functions/instances interferring with each other but it's not obvious by the rules of self-commenting code.
11:35 * Tamber facepalms mildly
11:35
< Tarinaky>
No?
11:35
<@Tamber>
"tar -xj <file>" ...hmm, this is taking a long time to unpack; I wonder where it's up to. *open new terminal, look. Nothing.* ...d'uh.
11:36
<@TheWatcher>
hee
11:36 * TheWatcher hands Tamber an 'f'
11:36 * Tamber hammers it into the command, and all is well.
11:41 Kindamoody[zZz] is now known as Kindamoody
11:44
< Tarinaky>
Of course. Hitting the students with a stick about globals/scoping in a lecture isn't helpful if it's the students not turning up to lectures doing it.
11:44
< Tarinaky>
Which may be some useful information to find out~
11:53
<@TheWatcher>
Tarinaky: distance learning course.
11:54
< Tarinaky>
Dunno. Have you tried an anti-example before?
11:55
<@TheWatcher>
And, looking at the logs, the person I'm currently writing the feedback for looked at the document wherein I explain the evils of globals on the 30th November, so.
11:59
< gnolam>
Tarinaky: I'd settle for someone hitting the staff with a stick about globals.
12:00
< Tarinaky>
'the staff'?
12:01
< gnolam>
"Department of Electrical Engineering" translates in my mind to "Department of People Who Shouldn't Be Allowed Near C".
12:01 * gnolam glares at this here code.
12:03
< gnolam>
The test program I'm modifying here is so full of globals that I'm sort of wondering why they even bother with function arguments.
12:05
<@TheWatcher>
gnolam: you should see what happens if you let biologists near it instead. Or worse, Java. Or even worse, Perl.
12:05 * TheWatcher shudders
12:07
< gnolam>
I've also seen what happens if physicists are let loose on code or documentation. That isn't pretty either.
12:10
< gnolam>
But at least some of them are wise enough to know that they /shouldn't/ code anything that isn't short snippets of Fortran.~
12:27
< iospace>
annoying and frustating: inability to find a DIP Magnetometer Dx
12:27
< iospace>
well, one that does what i need (aka multi axis)
13:03
<@TheWatcher>
Also, what do these students have against free()? They've worked out malloc() decently enough...
13:06
< RichyB>
Hahahha.
13:30
<&jerith>
TheWatcher: Maybe they've been contributing code to Firefox? :-P
13:30
<@TheWatcher>
snerk
13:34
< iospace>
i've learn that if you're not using free, YOU'RE DOING IT WRONG
13:34
< iospace>
*learned
13:35
<&jerith>
That's not what the prison warden told me...
13:36 * iospace thwaps jerith
13:36
< iospace>
the memleaks is the main reason why i'm considering chrome
13:59
< Syk>
you complain about memleaks
13:59
< Syk>
then say you'll use chrome
14:00
<@Reiver>
hilariously, chrome really /does/ seem better.
14:00
< Syk>
>Firefox-trunk (actually being used): 409MB
14:00
<@Reiver>
not perfect. but actually better at the stability game.
14:01
< Syk>
>Chrome: 103 + 81 + 87 + 79 + 67 + 58 + 50 + 27 + 21 + 6 + 1.1MB
14:01
< Syk>
~559MB
14:02
< Syk>
only tabs I have opened in it this session: gmail, google contacts, google calendar, the file browser bit of Google Drive
14:02 * Syk thwaps iospace over the head with 150MB of RAM, in RD-RAM sticks
14:02
< iospace>
...
14:03
< iospace>
you found some Rimms?
14:03
< Syk>
i used to have one that used them yes
14:03
< Syk>
4x 128MB sticks
14:03
< Syk>
i think
14:03
< iospace>
303MB right now for firefox
14:03
< iospace>
13 tabs open
14:04 * Tamber smacks Syk over the head with 256MB of RAM, in 30-pin SIMMs
14:04
< Syk>
i have about 7, but this FF session has had about 150 tabs through it today
14:04
< Syk>
oh god 128 sticks of ram D:
14:06
< Syk>
http://reddrgn.net/tempgraph_daily.png
14:06
< Syk>
:D
14:06
< Syk>
non-intel cooler is about 10C better not under load
14:07
< Syk>
and about 20C better when under load
14:12
< iospace>
heh 660ti :P
14:12 * iospace pats her 670 :P
14:19
< Syk>
mine has a ti after the end
14:19
< Syk>
= better
14:23 Orthia [orthianz@Nightstar-6ca59a6f.callplus.net.nz] has quit [Ping timeout: 121 seconds]
14:33 Orthia [orthianz@Nightstar-6ca59a6f.callplus.net.nz] has joined #code
15:10 Orthia [orthianz@Nightstar-6ca59a6f.callplus.net.nz] has quit [Ping timeout: 121 seconds]
15:15 Orthia [orthianz@Nightstar-6ca59a6f.callplus.net.nz] has joined #code
15:19
< auREAX>
Firefox has been more performant than Chrome for a while now
15:22
< auREAX>
especially nightly
15:22
< Syk>
hell yeah nightly
15:23
< RichyB>
auREAX: benchmarks disagree with you. So does the threaded-ness issue.
15:24
< auREAX>
threadedness?
15:24
< RichyB>
Firefox does everything in a single thread. Chrome runs every tab in a separate process.
15:25
< auREAX>
sooo?
15:25
< RichyB>
If I leave a flash game running in a background tab in Firefox, every other tab stutters while scrolling because the Flash plugin (or badly-written javascript, whatever) is taking up most of one CPU core.
15:25
< auREAX>
gpu acceleration kind of makes that point moot
15:26
< auREAX>
also bullshit, I have 5 flash tabs open simultaneously without issues
15:26
< RichyB>
That is neither a correct nor a relevant statement.
15:26
< auREAX>
sure it is
15:26
< auREAX>
it takes load away from the CPU
15:26
< RichyB>
If I do the same in Chrome, the other tabs continue to update smoothly. They're running in separate processes.
15:27
< rms>
Chrome reuses processes actually
15:27
< Syk>
RichyB: flash stuff is done in the plugin_container process
15:27
< Syk>
RichyB: since about 2010 or so
15:28
< RichyB>
rms: when you kill a tab and start a new one?
15:28
< rms>
But it's still multiprocessed
15:28
< RichyB>
Syk: it's still blocking.
15:28
< auREAX>
also
15:28
< Syk>
RichyB: If it were blocking, every website with a flash ad would bring Firefox to a standstill.
15:28
< auREAX>
firefox is pretty multithreaded here
15:29
< Syk>
check your Flash installation, and check your GPU drivers, because that's not supposed to happen, and I haven't had it happen on any PC i've used
15:29
< auREAX>
unless my htop is lying
15:29
< Syk>
with the exception of Arch
15:29
< auREAX>
Syk: Arch is an entirely different case on its own
15:29
< auREAX>
( ???)
15:29
< Syk>
because Arch's nvidia drivers were like herp derp durr
15:29
< Syk>
or Arch's Flash was
15:29
< Syk>
or Firefox
15:30
< Syk>
in fact, all of Arch was like herp derp slurp
15:30
< auREAX>
http://ompldr.org/vZ2tzaA/Screenshot%20from%202012-12-05%2016:29:53.png
15:30
< auREAX>
no multiple threads, he said
15:30
< Syk>
Chrome is multi-processed
15:31
< rms>
RichyB: look at the tab manager GUI, shows each process and the tabs it handles
15:31
< Syk>
auREAX: how do you get that
15:31
< Syk>
lol okay i'll try it later
15:31
< auREAX>
htop tree view
15:31
< Syk>
htop is filled with ghb processes
15:31
< auREAX>
open htop, press F5
15:31
< Syk>
>332% CPU
15:31
< Syk>
ooh
15:32
< Pandemic>
...332% of CPU
15:32
< Syk>
i see a shitload of firefox-trunk
15:32
< Pandemic>
what did you do overflow the runtime stack?
15:32
< Syk>
Pandemic: actually no
15:32
< auREAX>
Pandemic: it's per-core
15:32
< Pandemic>
aahh
15:32
< RichyB>
Pandemic: it's not divided by the number of CPU cores in your system.
15:32
< Pandemic>
nm then
15:32
< RichyB>
332% of one CPU core.
15:32
< Syk>
one process is at 422%, the other 342%
15:32
< Syk>
and my desktop is completely fluid still
15:32 * Pandemic understands now
15:33
< Syk>
http://reddrgn.net/somuchcpu.png
15:34
< Syk>
dat load average
15:34
< auREAX>
jesus christ are you compiling gcc 5 times simultaneously
15:34
< Syk>
nope
15:34
< Syk>
ripping and encoding two DVDs at once
15:34
< Syk>
i've got the entire box set of 007 to go yet
15:34
< Syk>
well, i'm halfway through
15:34
< Pandemic>
yup, that would do it
15:35
< Syk>
http://reddrgn.net/tempgraph_daily.png
15:35
< Pandemic>
I've love to see you hard drive queing
15:35
< Syk>
you can see the breaks while i'm loading disks
15:35
< auREAX>
you take long to swap disks
15:35
< Syk>
auREAX: i'm in no rush~
15:36
< auREAX>
~
15:36
< Syk>
:D|~<
15:36
< Syk>
^ elvis presley
15:37
< Syk>
but yes, Linux's task scheduling is brilliant
15:37
< auREAX>
I can only hope HatFullOfHollow will one day finish his god-given task
15:37
< Syk>
i have a load average of 18 point goddamn 29
15:38
< Syk>
and XBMC isn't skipping a beat, everything is working /great/
15:38
< Syk>
also nobody went "why do you have 24GB of RAM?!?!" :C
15:39
< Pandemic>
because thats the maximum your motherboard would support?
15:39
< RichyB>
Syk: wtf
15:39 * Pandemic has 16GB in fat man for that reason
15:39
< RichyB>
Why do you have 24GB of RAM?
15:40
< RichyB>
If your motherboard has 6 DIMM slots, you should be able to pack 48GB in there.
15:40
< Syk>
....also something smells in here
15:40
< Syk>
RichyB: only 4 DIMMS
15:40 * Pandemic also only has 4 DIMMS
15:40
< Syk>
my CPU isn't on fire
15:40
< Syk>
but wtf is that smell
15:40 * TheWatcher wouldn't mind 24Gb of ram, KSP might actually not use most of it~
15:40
< RichyB>
Unmatched RAM sticks? Awww.
15:41 * Pandemic getting SQL running on a server with 48 CPU cors, over 4 CPUs at 512GB of RAM
15:41
< RichyB>
Pandemic: some DDR3-using boards which don't specifically list compatibility with 8GB sticks do actually support them just fine.
15:41
< Pandemic>
if it doesn't run quick on that, I can't build a large enough pipe.....
15:41
< RichyB>
So you went with the Intel chips, then?
15:41
< Syk>
wtf is that smell, really
15:41
< RichyB>
Syk: stop farting.
15:41
< Pandemic>
lol
15:41
< RichyB>
Is your GPU fan broken? PSU fan?
15:41
< Syk>
nope
15:41
< Syk>
and nope
15:41
< Pandemic>
fatman is an AMD based system, manual specificly said maximum support memory was 16GB
15:42
< Pandemic>
thus he runs 16GB
15:42
< Syk>
my GPU is at 32C, CPU is at 65C
15:42
< RichyB>
Pandemic: awwww.
15:42
< Pandemic>
he has a SSD as the priumary drive
15:42
< Pandemic>
so windows 7 still boots in 13 seconds
15:43
< Syk>
...odd
15:43
< Syk>
would thermal paste boiling off or something make a smell
15:43
< Pandemic>
to boil off thermal past you'd have to have a very hot CPU
15:43
< RichyB>
I don't think you can boil thermal paste at temperatures that won't melt the board. I might be wrong.
15:43
< Syk>
hmmmm
15:44
<@Tamber>
By which point, it *should* have overheated and switched off. :)
15:44
< Syk>
it seems to have gone
15:44
< Pandemic>
new PSUs can small as they cook off plastic coatings on internal componets used as protection from dust during shipping
15:44
< Syk>
CPU is max 63C
15:44
< Syk>
the newest thing is the cooler
15:44
< Pandemic>
smell
15:44
< Pandemic>
also new coolers for the same reason
15:45
< Syk>
hmmm odd
15:45
< Syk>
i'll assume it's burning dust
15:45
< Syk>
it kind of does smell like that
15:45
< Pandemic>
over heating or dieing fan berrings as well
15:45
< Syk>
well the fan is brand new :<
15:45
< Pandemic>
dust cooking off could also do it
15:46
< Syk>
it's been running about 8h so far
15:46
< Syk>
...mostly at full bore
15:46
< Pandemic>
could be any number of things then
15:46
< Pandemic>
chipset for example
15:46
< Syk>
that's at 32C
15:47
< Pandemic>
actively or passively cooled?
15:47
< Syk>
...no idea
15:47
< Pandemic>
ie fan or no fan
15:48
< Syk>
there's a fan in the case, and on GPU/CPU
15:48
< Syk>
nothin else
15:48
< Pandemic>
passive, so thats a possibility
15:48
< Pandemic>
as it the power componets of the motherboard
15:48
< Syk>
this is a gaming motherboard
15:48
< Pandemic>
is*
15:48
< Pandemic>
yeah, power hungry then
15:48
< Syk>
oh well
15:48
< Syk>
the smell is gone
15:48
< Pandemic>
I'd not worry about it then
15:49
< Pandemic>
limited exposure is probably not toxic :-P
15:49
< Syk>
>v> lol
16:03 celticminstrel [celticminst@Nightstar-e83b3651.cable.rogers.com] has joined #code
17:09 Vornicus [Vorn@Nightstar-35eb62f8.sd.cox.net] has joined #code
17:09 mode/#code [+qo Vornicus Vornicus] by ChanServ
17:29
< celticminstrel>
It's sorta vaguely funny how random number generators for cryptography need to be more likely to produce a number that was already produced than is the case for random number generators in general.
17:30
< celticminstrel>
Because if they don't, it's more obvious that the sequence is not truly random.
17:31
< auREAX>
Lol
17:31
< auREAX>
reading docs on an exposed skid kiddy
17:31
< auREAX>
>skid kiddy
17:31
< auREAX>
anyway, line flood incoming:
17:31
< celticminstrel>
?
17:31
< auREAX>
Anyway, next I moved onto his Dropbox.
17:31
< auREAX>
He put a very frightening legal notice inside his Dropbox folder:
17:31
< auREAX>
DROPBOX EMPLOYEE'S PLEASE NOTE: All items in this folder are protected by the Digital Millennium Copyright Act,
17:31
< auREAX>
Scanning, Decompiling, Executing, or Submitting these files to any entity without the expressed permission of Myself
17:31
< auREAX>
is ILLEGAL and a VIOLATION of the DMCA laws and If you violate these laws we will contact our lawyers
17:31
< auREAX>
I immediately stopped surveying the contents of the folder and DBAN'd my drive to avoid the risk of a lawsuit.
17:31
< auREAX>
Lol'd.
17:32
< celticminstrel>
DBAN?
17:33
< RichyB>
D.* Boot & Nuke.
17:33
< RichyB>
I forget what the D stands for, think it's someone's name.
17:33
< RichyB>
Darik's Boot And Nuke. It's a bootable CD that erases all information on all attached hard drives.
17:33
< auREAX>
Disk.
17:33
< auREAX>
oh
17:41
<@Syloq>
Its a good program for sure.
17:41
<@Syloq>
Every place I've worked at has used it for HD wiping.
17:49
< RichyB>
We don't.
17:50
< RichyB>
Where I work, we use drills and hammers for erasing data from hard drives.
17:55
< auREAX>
I just use shred.
17:55
< auREAX>
shred -zvn 25 /dev/sda does the job pretty well
17:56
<&jerith>
As long as your OS isn't on /dev/sda...
17:59
< RichyB>
You have to not have a filesystem mounted on /dev/sda at the time you do that.
17:59
< RichyB>
As jerith noted.
18:00
< RichyB>
Easy way to achieve that is to boot into a RAMdisk or off removable media or something.
18:00
< RichyB>
Helpful to boot from a CD because then you can't accidentally erase your boot media. ;)
18:06 Derakon[AFK] is now known as Derakon
18:28 Syk is now known as syksleep
18:41
< gnolam>
auREAX: "skid kiddy"?
18:41
< auREAX>
yeah
18:41
< auREAX>
I typo'd.
18:59 RichyB [richardb@Nightstar-3b2c2db2.bethere.co.uk] has quit [[NS] Quit: Leaving]
19:40 Kindamoody is now known as Kindamoody[zZz]
20:02 * Vornicus draws planets
20:11 * Vornicus can't draw spirally things for shit apparently
20:16
<~Vornicus>
ok that's better.
20:19
<~Vornicus>
okay that's planet set b.
20:19
<~Vornicus>
now I need set c and I can actually write the planet variant generation code
20:19
<~Vornicus>
(which is, of course, like three lines of additinal code but still)
21:09
<~Vornicus>
okay. planets made, let's add variant selection
21:35
<~Vornicus>
Victory
21:39
<~Vornicus>
http://www.flickr.com/photos/7861878@N06/8248478966/in/photostream
21:42
<&McMartin>
Woo
21:43
<&McMartin>
Meanwhile, I've gotten to the point where I can load in and save out mapsets
21:43
<&McMartin>
And turn them into functional maps that can be bulk-updated
21:43
<&McMartin>
My next step is to unleash brick
21:43
<~Vornicus>
BRIIIICK
21:44
<&McMartin>
Then I can *draw* Brick and then I'll have Material To Render With
21:46
<&McMartin>
And, as noted, I think I can skip culling for now
21:49
<~Vornicus>
Yeah I don't think you'll need to worry overmuch about that.
21:50
<&McMartin>
I was a bit concerned
21:50
<&McMartin>
Since Knytt Stories made ProtonJon's system chug~
21:51
<~Vornicus>
ProtonJon's system sucked, Knytt Stories' engine was not exactly well put together, and he was on the most performance-wise brutal level made for the game at the time
21:51
<&McMartin>
Sure
21:51
<&McMartin>
But by not having culling in my own engine I will also be not exactly well put together~
21:52
<&McMartin>
Speaking of
21:52
<&McMartin>
I did another playthrough of WaDF
21:52
<~Vornicus>
truth
21:52
<~Vornicus>
I do wonder if it's possible to get the balls in order.
21:53
<&McMartin>
Yes; that was the goal of that playthrough.
21:53
<&McMartin>
1 gets you 2, 2 gets you 3 and 4, 3 gets you 5 and 6, 6 gets you 7, 4 and 6 get you 8, 8 gets you 9, 9 gets you 10.
21:54
<~Vornicus>
It doesn't help that I don't even remember where any of the balls are though
21:54
<&McMartin>
That's more spoily, I'll go to PM for that
23:11 himi [fow035@Nightstar-bf0433d3.in-addr.csiro.au] has quit [Ping timeout: 121 seconds]
--- Log closed Thu Dec 06 00:00:09 2012
code logs -> 2012 -> Wed, 05 Dec 2012< code.20121204.log - code.20121206.log >

[ Latest log file ]