code logs -> 2007 -> Thu, 21 Jun 2007< code.20070620.log - code.20070622.log >
--- Log opened Thu Jun 21 00:00:34 2007
00:34 gnolam [lenin@85.8.5.ns-20483] has quit [Quit: Z?]
01:19 Vornicus is now known as Vornicus-Latens
01:25 Chalcedon [~Chalcedon@Nightstar-15747.ue.woosh.co.nz] has quit [Ping Timeout]
01:26 Chalcedon [~Chalcedon@Nightstar-15747.ue.woosh.co.nz] has joined #code
01:26 mode/#code [+o Chalcedon] by ChanServ
02:41 Derakon [~Derakon@Nightstar-12922.sea2.cablespeed.com] has joined #code
02:41 mode/#code [+o Derakon] by ChanServ
02:41 * Derakon mashes his brain against the problem of trying to algorithmically determine which areas of a chunk of terrain are accessible given a walk speed and jump height.
02:42
<@Derakon>
Keeping in mind that the terrain may be disconnected.
02:45 Syloq [Syloq@Admin.Nightstar.Net] has joined #code
02:47 Syloq is now known as Syloqs-AFH
02:57
<@Derakon>
Gahh...
02:57
<@Derakon>
JetBlade was never intended to be particularly inventive; just fun and remniscent of a gameplay style that I enjoy.
02:58
<@Derakon>
But this, this, if I can just pull it off, would be actually new!
02:58
<@Derakon>
Pulling it off is the hard part. >.<
03:18
<@ToxicFrog>
Hmm. Yeah, the gravity complicates thing.
03:18
<@ToxicFrog>
With something like Diablo it's just a simple exercise in graph theory.
03:18
<@Derakon>
Yeah.
03:18
<@Derakon>
I have some ideas, though...
03:18
<@Derakon>
I'll be posting one hell of an LJ post sometime this evening.
03:18 * ToxicFrog considers
03:19
<@ToxicFrog>
It's solvable, but it's not at all trivial.
03:19
<@ToxicFrog>
I think I'll stick to my brain-eating OO framework~
03:19
<@Derakon>
Right now I'm looking at representing the player's mobility from any given tile as a spheroid with tall radius = the player's jump height and wide radius = the player's walk speed.
03:19
<@Derakon>
Heh.
03:20
<@ToxicFrog>
I considered that, but you also have to take collisions into account; two tiles at the same height, one tile apart, but seperated by a high wall...
03:20
<@Derakon>
Yeah, I explicitly haven't considered walls yet.
03:20 * ToxicFrog 's instinct is to treat it as a digraph, where each node is the upper surface of a tile
03:21
<@ToxicFrog>
If we disregard walls, the rules for reachability actually aren't that complex.
03:21
<@Derakon>
Right.
03:21
<@ToxicFrog>
(well - walls, ceilings depending on how you handle jump physics, enemies, etc)
03:22
<@ToxicFrog>
(it would suck to generate a room that's topologically solvable but has unsolvable enemy placement)
03:22
<@Derakon>
Enemies can be assumed to be killable regardless of terrain features, as a general rule.
03:22
<@ToxicFrog>
Aah. Okthen.
03:22 * ToxicFrog fiddles with the OO framework some.
03:22
<@ToxicFrog>
I might even release it this week.
03:23
<@Derakon>
Heh. Originally I was going to just compute the potential actions a player could take from a starting tile to generate the connectivity...then I came to my senses.
03:23
<@ToxicFrog>
o.O
03:23
<@Derakon>
Nifty.
03:23
<@ToxicFrog>
Indeed.
03:23
<@ToxicFrog>
I've never done a framework like this before.
03:25
<@ToxicFrog>
And of course, I'll need test subjects...
03:25
<@Derakon>
Eep.
03:25
<@Derakon>
You're welcome to borrow Niobium, but I don't know if it'd necessarily be suited to your needs.
03:26
<@ToxicFrog>
I was thinking more of getting people to use it >.>
03:26
<@Derakon>
Heh.
03:26
<@ToxicFrog>
It is amazing how much more interesting counterstrike gets when the teams are large enough to take every path at once.
03:27
<@Derakon>
Is this voice-enabled counterstrike?
03:27
<@ToxicFrog>
Of course.
03:27
<@ToxicFrog>
HL (and by extension CS) has had voice support for years; CS:S had it out of the box.
03:28
<@ToxicFrog>
Interestingly, though, there isn't a lot of chatter; the minimap means that a lot of coordination happens automatically.
03:29
<@Derakon>
Okay, time to solve the walls and ceilings problem. ¬.¬
03:29
<@ToxicFrog>
(you did mention, a while ago, that you were interested in converting to my latest OO framework when I released it...)
03:30
<@Derakon>
Yes, I did...the question is what it gains me over what I'm doing now, and how complicated it is to use. ¬.¬
03:30 * Derakon considers making a small circle as a set of 40 points at the sprite's feet, and pushing them out until they encounter barriers.
03:31
<@ToxicFrog>
Gains: the ability to overload any operator - overload, not fallback; user-defined type()es; the ability to easily extend Class and thus modify the behaviour of the framework.
03:31
<@ToxicFrog>
How complicated: well, that's one of the things I want to find out. I think it's fairly simple, myself.
03:32
<@Derakon>
Heh.
03:32
<@ToxicFrog>
However, experience has shown that I'm not the best judge of such things.
03:32
<@Derakon>
Currently, I'm mainly using objects in Lua to represent game objects. They don't have much of a need for operator overloading, as a general rule.
03:32
<@Derakon>
Also, I'm, um, distracted at the moment. ¬.¬
03:32
<@ToxicFrog>
I find myself mostly overloading __len and __tostring, myself.
03:32
<@ToxicFrog>
??
03:33
<@ToxicFrog>
(oh, and implementing new operator overloads like __pairs)
03:33
<@Derakon>
I'm working more on models and actual implementation than I am on engines.
03:33
<@ToxicFrog>
(why yes, I love first-class functions, why did you ask?)
03:33
<@Derakon>
Well, and on grandiose schemes. I'm working on those, too.
03:33
<@ToxicFrog>
Well, who isn't working on a few grandiose schemes at any given time?
03:33
<@Derakon>
Heh.
03:37
<@Derakon>
Any thoughts on that expanding-circle technique I described?
03:39
<@ToxicFrog>
Not at this time of night.
03:39
<@Derakon>
Ahh, well.
03:51
<@ToxicFrog>
(also, most of my cycles are being spent on the OO framework)
03:51
<@Derakon>
Fair enough.
03:51
<@Derakon>
I will have Massive LJ Post in a minute.
03:54
<@Derakon>
Posted.
03:55
<@ToxicFrog>
I am this close {} to switching to metalua @.@
03:56
<@Derakon>
Hmmm...that post I just made? 1389 words.
03:56
<@Derakon>
...eep, metacoding! ¬.¬
03:56
<@ToxicFrog>
Mostly I just want the ability to extend the lexer.
03:56
<@ToxicFrog>
It'd make the class definition syntax much cleaner.
03:57
<@Derakon>
Drawbacks, beyond making it more headbreaky?
03:58
<@ToxicFrog>
class Foo [extends Bar] ....stuff goes here... end, as a sugar for Foo = Class("Foo", Bar) ... end, as a sugar for some function calls.
03:58
<@ToxicFrog>
You'd need Metalua to compile it.
03:58
<@ToxicFrog>
The resulting bytecode would run in a standard terp, though.
03:58
<@Derakon>
That's not so great.
03:58
<@Derakon>
So basically, you'd hand everyone some totally incomprehensible Lua code you'd compiled?
03:59
<@ToxicFrog>
Actually, I have a better plan.
04:00
<@ToxicFrog>
Specifically - the metalua wouldn't be part of the OO framework itself, it's a seperate lexer extension.
04:00
<@ToxicFrog>
So, I wait until metalua hits 1.0, write the extension for that, and release it alongside the OO framework.
04:00
<@ToxicFrog>
Don't want metalua, you can use the OO interface directly; and if you have metalua, you can use the new keywords instead.l
04:03
<@ToxicFrog>
Anyways. I'm holding off releasing anything that requires metalua until it hits 1.0. But I may still end up using it for my own convenience.
04:26 Derakon [~Derakon@Nightstar-12922.sea2.cablespeed.com] has quit [Ping Timeout]
04:34 Thaqui [~Thaqui@Nightstar-11535.jetstream.xtra.co.nz] has joined #code
04:34 mode/#code [+o Thaqui] by ChanServ
04:56 Derakon [~Derakon@Nightstar-12922.sea2.cablespeed.com] has joined #code
04:56 mode/#code [+o Derakon] by ChanServ
05:58 You're now known as TheWatcher
06:30 Syloqs-AFH [Syloq@Admin.Nightstar.Net] has quit [Connection reset by peer]
07:07 Derakon is now known as Derakon[AFK]
07:08 Raif [~corvusign@Nightstar-5406.hsd1.ca.comcast.net] has joined #Code
08:06 GeekSoldier_ is now known as GeekSoldier|Sleep
08:21 Thaqui [~Thaqui@Nightstar-11535.jetstream.xtra.co.nz] has quit [Ping Timeout]
09:00 KBot [~karma.bot@Nightstar-29360.neoplus.adsl.tpnet.pl] has joined #Code
09:00 UndeadAnno [~farkoff@Nightstar-29432.neoplus.adsl.tpnet.pl] has quit [Ping Timeout]
09:01 KarmaBot [~karma.bot@Nightstar-29432.neoplus.adsl.tpnet.pl] has quit [Ping Timeout]
09:02 KBot is now known as KarmaBot
09:06 AnnoDomini [~farkoff@Nightstar-29360.neoplus.adsl.tpnet.pl] has joined #Code
09:18 Chalcedon [~Chalcedon@Nightstar-15747.ue.woosh.co.nz] has quit [Quit: Gone]
09:53 Derakon[AFK] [~Derakon@Nightstar-12922.sea2.cablespeed.com] has quit [Operation timed out]
10:29 AnnoDomini [~farkoff@Nightstar-29360.neoplus.adsl.tpnet.pl] has quit [Quit: I am Yulaw! I am nobody's bitch! You - are mine.]
10:32 AnnoDomini [~farkoff@Nightstar-29360.neoplus.adsl.tpnet.pl] has joined #Code
10:32 mode/#code [+o AnnoDomini] by ChanServ
12:30 Vornicus-Latens is now known as Vornicus
14:10 gnolam [lenin@Nightstar-13557.8.5.253.se.wasadata.net] has joined #Code
14:10 mode/#code [+o gnolam] by ChanServ
14:49
<@ToxicFrog>
<Striker> !make
14:50
<@ToxicFrog>
<\dev\null> beer_pump.c:335: robust error in 'traffic_cone()' - 'traffic_light' is not a budgerigar
14:50
<@ToxicFrog>
<ToxicFrog>
14:50
<@ToxicFrog>
<Striker>
14:50
<@ToxicFrog>
<Stelz>
14:52
<@AnnoDomini>
14:53
<@TheWatcher>
14:53
<@TheWatcher>
/what/
14:58 GeekSoldier|Sleep is now known as GeekSoldier
14:58
<@ToxicFrog>
A bot that generates random build errors.
14:59
<@ToxicFrog>
Earlier there was "error in 'Magic_the_Gathering()': 'SpiceGirls' undeclared"
14:59
<@ToxicFrog>
But this one was more interesting.
14:59
<@AnnoDomini>
Oh. I almost wanted to find out if budgerigar is a real word.
15:02
<@TheWatcher>
It is
15:02
<@TheWatcher>
They're small parrots
15:02
<@AnnoDomini>
!dic budgerigar
15:02
< KarmaBot>
[AnnoDomini] http://dictionary.reference.com/browse/budgerigar
15:03
<@TheWatcher>
What's vaguely scary is that I couldn't actually decide whether or not that was a real error...
15:03
<@TheWatcher>
Given some of the things I've seen gcc spit out.... I wouldn't have placed money on it ¬¬
15:04 GeekSoldier_ [~Rob@Nightstar-2942.pools.arcor-ip.net] has joined #code
15:05 GeekSoldier [~Rob@Nightstar-6907.pools.arcor-ip.net] has quit [Ping Timeout]
15:36 Vornicus [~vorn@Admin.Nightstar.Net] has quit [Connection reset by peer]
15:43 Vornicus [~vorn@Admin.Nightstar.Net] has joined #code
15:43 mode/#code [+o Vornicus] by ChanServ
17:14 GeekSoldier_ is now known as GeekSoldier
17:23 You're now known as TheWatcher[afk[
17:23 You're now known as TheWatcher[afk]
18:30 You're now known as TheWatcher
19:15 Chalcedon [~Chalcedon@Nightstar-15747.ue.woosh.co.nz] has joined #code
19:15 mode/#code [+o Chalcedon] by ChanServ
20:17 You're now known as TheWatcher[afk]
20:18 GeekSoldier is now known as GeekSoldier|Sleep
20:20 Vornicus [~vorn@Admin.Nightstar.Net] has quit [Connection reset by peer]
20:30 Vornicus [~vorn@Admin.Nightstar.Net] has joined #code
20:31 mode/#code [+o Vornicus] by ChanServ
20:46 Vornicus [~vorn@Admin.Nightstar.Net] has left #code [Leaving]
20:46 Vornicus [~vorn@Admin.Nightstar.Net] has joined #code
20:46 mode/#code [+o Vornicus] by ChanServ
21:29 Chalcedon [~Chalcedon@Nightstar-15747.ue.woosh.co.nz] has quit [Quit: brb reboot]
21:32 Chalcedon [~Chalcedon@Nightstar-15747.ue.woosh.co.nz] has joined #code
21:32 mode/#code [+o Chalcedon] by ChanServ
21:34
<@ToxicFrog>
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaargh
21:34 * ToxicFrog locates blast door, applies forehead
21:34 * jerith runs around flapping ToxicFrog's arms.
21:34
<@ToxicFrog>
__index does not give me proper copy-on-write ;.;
21:35 * Chalcedon cookies TF
21:35 * jerith cooks ToxicFrog.
21:36
<@Chalcedon>
thats a bit mean
21:36 * Vornicus gives TF a cheese.
21:36
<@jerith>
Nah, I boiled the water fast so he jumped out.
21:37
<@ToxicFrog>
It works great unless the source table has subtables.
21:38
<@ToxicFrog>
But if it does, then of course this no longer works.
21:48
<@ToxicFrog>
Ok, API question.
21:49
<@ToxicFrog>
Should it be: tables are static by default, and if you want per-instance tables, you create them in the constructor?
21:49
<@ToxicFrog>
Or: tables are deep-copied by default, and if you want to copy by reference instead, you have to put that in the constructor?
21:50
<@jerith>
What's the common case?
21:50
<@ToxicFrog>
I have no idea.
21:50
<@ToxicFrog>
Probably the latter.
21:50
<@jerith>
What's the table for?
21:51
<@jerith>
(I'm a bit behind on your lua magic.)
21:51
<@ToxicFrog>
...holding structured data
21:51
<@jerith>
(This is the lua magic, right?)
21:51
<@ToxicFrog>
That's like asking "what's an array for"
21:51
<@ToxicFrog>
Aah. This isn't a specific table, it's tables in general.
21:51
<@jerith>
I know what the table is, I'm just asking for context.
21:51
<@jerith>
Ah.
21:52
<@ToxicFrog>
Ie, if someone creates a class definition that contains a table, when the class is instanced, does the instance get a reference to that table or a copy of it?
21:52
<@jerith>
Does it become a class or instance variable, you mean/
21:52
<@jerith>
?
21:52
<@ToxicFrog>
Yes.
21:52
<@jerith>
I'd say the former.
21:53
<@ToxicFrog>
Ok, why?
21:53
<@jerith>
Assuming there's a way to make instance variables as well.
21:53
<@ToxicFrog>
Well, anything not a table is by its nature an instance variable.
21:53
<@jerith>
Ah.
21:53
<@ToxicFrog>
Either because it can't be copied by reference, or because it's immutable.
21:53
<@jerith>
Is there a way to make class variables easily?
21:54
<@jerith>
If everything else is per-instance, then tables probably should be too.
21:54
<@ToxicFrog>
Yes. You just insert the reference into self inside the constructor.
21:54
<@ToxicFrog>
Alternately, you extend the Class class to support a static keyword or similar.
21:55
<@jerith>
Then instance variable it is.
21:56
<@ToxicFrog>
(being able to say "you extend the Class class" gives me a warm fuzzy feeling)
22:00 * Chalcedon eyes TF
22:03
<@jerith>
So, I was reading some code the other day.
22:04
<@jerith>
And I saw a couple of variables with "pung" in the name.
22:05
<@jerith>
I thought it was a typo. Until I realised it's the non-standard past tense for "ping".
22:05 * ToxicFrog blinks at Chalcedon
22:05 * Chalcedon cookies TF
22:08
<@ToxicFrog>
Cookies!
22:08 * ToxicFrog nrom
22:08
<@ToxicFrog>
Why did you eye me?
22:09
<@Chalcedon>
extend the Class class
22:10
<@Chalcedon>
then I read the rest of the discussion and it made sense
22:11
<@ToxicFrog>
Aah.
22:11
<@ToxicFrog>
(it gets better; not only is Class a class in its own right and an instance of itself, it's a subclass of Object. Which is an instance of Class.)
22:12
<@jerith>
"This is before you even take into account the double X chromosome situation."
22:13
<@Chalcedon>
hee
22:26
<@ToxicFrog>
They don't have chromosomes.
22:26
<@ToxicFrog>
Yet.
22:50
<@ToxicFrog>
("Also, I shot them so full of magic their chromosomes turned inside-out.")
23:18 You're now known as TheWatcher[zZzZ]
23:53 Derakon [~Derakon@Nightstar-12922.sea2.cablespeed.com] has joined #code
23:53 mode/#code [+o Derakon] by ChanServ
--- Log closed Fri Jun 22 00:00:40 2007
code logs -> 2007 -> Thu, 21 Jun 2007< code.20070620.log - code.20070622.log >