code logs -> 2009 -> Sat, 14 Mar 2009< code.20090313.log - code.20090315.log >
--- Log opened Sat Mar 14 00:00:27 2009
00:13
<@McMartin>
The jump mechanics you describe track the classic platformer.
00:13
<@Derakon>
Yes.
00:13
<@McMartin>
The ones that don't (Hi, Castlevania 1/2/3) are famed for brutal difficulty
00:13
<@McMartin>
Mega Man is *similar* but still manages to make presses count.
00:13
<@McMartin>
I'm not actually sure what it does.
00:13
<@McMartin>
My only guess is immensely short period for what you describe, controlling impulse amount.
00:14
<@Derakon>
Thoughts on the diagram I drew?
00:14
<@Derakon>
The basic approach is, instead of figuring out what areas are accessible, assume that walls with certain characteristics aren't accessible and add platforms to fix that.
00:14
<@Vornicus>
Mega Man as far as I am aware does "your upward velocity hits zero when you let go"
00:15
<@McMartin>
Oh, so, full impulse, then rocket down?
00:15
<@McMartin>
'cause he gets his parabolas.
00:19
<@McMartin>
Also, our UI designer hasn't been home in like a week.
00:19
<@McMartin>
And the UI keeps changing completely every other day
00:19
<@Derakon>
D:
00:19
<@McMartin>
... I'm beginning to think he may be in a Fey Mood.
00:20
<@McMartin>
Perhaps, by the time we ship, it can menace with spikes of pixels.
00:20
<@Derakon>
Tactile display~
00:20
<@McMartin>
(I'm not complaining, because it's actually pretty badass looking, but)
00:20
<@McMartin>
(And because I'm far enough away that I don't have to worry about when he showered last)
00:30 AnnoDomini [~farkoff@Nightstar-29250.neoplus.adsl.tpnet.pl] has quit [Quit: We sense... something... something ancient... a sickly smell... a chilling wind. My ancestors scream from within their chambers in my mind but I cannot understand their words. This feeling... a memory? It sickens us, and for the first time in our lives, for the first time in generations... We fear.]
00:31
<@Derakon>
Hmm...now I just have to figure out how to walk the walls of the map.
00:32
<@Derakon>
Fortunately my cleanup algorithm removes dead ends from the walls (width-1 lines, that is).
00:36
<@Derakon>
So I'm guaranteed at any given point that there will either be an available block to move to, or I've hit all the blocks I need to.
00:37
<@Derakon>
The question then becomes, which block do I move to if I have a choice?
00:42
<@Derakon>
Wait, duh, I should be walking the spaces adjacent to blocks, not the blocks themselves.
01:04 Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has quit [Quit: <Insert Humorous and/or serious exit message here>]
01:10
<@Derakon>
Failures in wall-walking: http://derakon.dyndns.org/~chriswei/games/jbrl/accessibility/01.gif
01:13
<@gnolam>
Derakon: Use marching squares?
01:13
<@Derakon>
I haven't heard of that one.
01:13
<@gnolam>
It's like Marching Cubes, but in 2D. ;-)
01:13
<@gnolam>
Algorithm for walking around arbitrary contours.
01:13
<@Derakon>
Awesome.
01:14
<@gnolam>
http://en.wikipedia.org/wiki/Marching_squares
01:14
<@McMartin>
That's not what I learned as Marching Squares
01:14
<@Derakon>
Yep, just found it.
01:14
<@McMartin>
I learned something much sillier
01:14
<@gnolam>
It's ridiculously fast and simple to implement, too.
01:15
<@Derakon>
Awesome.
01:15
<@Derakon>
Sadly, I must run to gaming night, pausing to install my new license plate on the way~
01:17 Derakon is now known as Derakon[AFK]
02:00 gnolam [lenin@Nightstar-1382.A163.priv.bahnhof.se] has quit [Quit: Z?]
02:14
<@Vornicus>
Once you /do/ manage to get through the opening sequence (which is arduous: you need to raid two vaults, open two land bridges, worship two heads, and then apply pretty much everything that the vaults and heads gave you to the first of three races, all while defending your home base from priests and spies and watching your mana supply and keeping your shaman moving and out of major fights) the game gets easy.
02:17
<@McMartin>
What is this?
02:18
<@Vornicus>
Set up a fire warrior hut to handle airborne threats, level enough terrain to make the shaman spawn on the plateau instead of below the cliff, and swamp the only other entrance, and you have plenty of time.
02:18
<@Vornicus>
P:tB, mission 14: Attacked From All Sides.
02:18
<@McMartin>
Oh, right
02:18
<@Vornicus>
You start in a little tiny flat area between a cliff and a whole bunch of really rough terrain.
02:19
<@Vornicus>
On the cliff there's the green guys, beyond the rough terrain is red, and on an island by themselves is orange.
02:25
< Moltare>
Peasant: the Burninating
02:25
<@Vornicus>
Noun: the Gerund.
02:43 ToxicFrog [~ToxicFrog@Admin.Nightstar.Net] has quit [Operation timed out]
02:47 ToxicFrog [~ToxicFrog@Admin.Nightstar.Net] has joined #code
02:47 mode/#code [+o ToxicFrog] by ChanServ
02:49
<@MyCatVerbs>
Populus: the Beginning. Was fun.
02:53 * MyCatVerbs 's favourite lelevs were the one where the shaman gets captured at the start and you must use followers to launch an expidition to save her, mainly because afterwards you get given the opportunity to drop avolcano in the middle on the enemy village; also the one where you drop like nine angels of death on the enemy; plus funniest was the final level at the end, after you become a god.
02:53
<@MyCatVerbs>
*levels
02:57
<@Vornicus>
The final level is great.
02:57
<@Vornicus>
I'm right now at the level with the capture.
03:22 ToxicFrog [~ToxicFrog@Admin.Nightstar.Net] has quit [Ping Timeout]
03:23
<@Vornicus>
...okay I cut that one close.
03:23
<@Vornicus>
Timer cleared at 3 seconds.
03:24 ToxicFrog [~ToxicFrog@Admin.Nightstar.Net] has joined #code
03:24 mode/#code [+o ToxicFrog] by ChanServ
03:33
<@Vornicus>
This is one of the few RTSes I've seen that has bossfights.
04:42 * McMartin gets to Haskell's functors.
04:42
<@McMartin>
This makes something like the fifth definition of "functor" I've learned in CS
04:42
<@McMartin>
And the first one that maps properly to what functors actually are. >_>
05:02 Syloqs-AFH [Syloq@Admin.Nightstar.Net] has quit [Connection reset by peer]
05:03 ToxicFrog [~ToxicFrog@Admin.Nightstar.Net] has quit [Operation timed out]
05:24 You're now known as TheWatcher
05:26 ToxicFrog [~ToxicFrog@Admin.Nightstar.Net] has joined #code
05:26 mode/#code [+o ToxicFrog] by ChanServ
05:29 ToxicFrog [~ToxicFrog@Admin.Nightstar.Net] has quit [Operation timed out]
05:31 ToxicFrog [~ToxicFrog@Admin.Nightstar.Net] has joined #code
05:31 mode/#code [+o ToxicFrog] by ChanServ
05:33
<@McMartin>
Augh why is my Huffman-fu so bad
06:11
<@Vornicus>
Because huffman coding is scary.
06:23
<@McMartin>
Yeah, but this is decoding, which is supposed to be easy
06:23 * McMartin pokes MyCatVerbs
06:31 Vornicus [~vorn@Admin.Nightstar.Net] has quit [Quit: ]
06:36
<@McMartin>
... hooray
06:36
<@McMartin>
*Utf8> putStrLn $ concatMap utf8_chr [12353, 12355, 12357, 12359, 12361]
06:36
<@McMartin>
?????
06:47
<@Reiver>
McM: I am afraid not, but purely because I have spent the entire rest of yesterday and all of today helping my young lady move house.
06:47
<@Reiver>
I will be doing an attempt at it tonight, however.
06:47
<@Reiver>
(Re: Filter thingy.)
06:48 * McMartin is, as you can see, writing a UTF-8 encoder. >_>
06:49
<@McMartin>
http://paste.ubuntu.com/130921/
06:55 You're now known as TheWatcher[afk]
07:01 Derakon[AFK] is now known as Derakon
07:03 * Derakon eyes McM's paste. "Why are you importing tits and hairy moobs?"
07:21 Rhamphoryncus [~rhamph@Nightstar-7184.ed.shawcable.net] has quit [Quit: Rhamphoryncus]
07:31 Derakon is now known as Derakon[AFK]
07:35
<@McMartin>
whut
07:36
<@McMartin>
... oy.
07:36
<@McMartin>
Those would be the bitwise AND and OR operators.
07:46 AnnoDomini [~farkoff@Nightstar-29250.neoplus.adsl.tpnet.pl] has joined #Code
07:46 mode/#code [+o AnnoDomini] by ChanServ
07:56
<@jerith>
That has to be a selling point: "Haskell! The language that lets you import tits!"
08:00
<@AnnoDomini>
Are they great tits?
08:02
<@jerith>
Bitwise tits, apparently.
08:42 * McMartin notices Haskell characters actually cover all of unicode, rewrites his library some.
11:25 itsmybigtoe [~gotshabbs@Nightstar-23462.hsd1.ca.comcast.net] has joined #code
11:27 itsmybigtoe [~gotshabbs@Nightstar-23462.hsd1.ca.comcast.net] has quit [Quit: ]
11:37 gnolam [lenin@Nightstar-1382.A163.priv.bahnhof.se] has joined #Code
11:37 mode/#code [+o gnolam] by ChanServ
13:23 Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has joined #code
13:23 mode/#code [+o Attilla] by ChanServ
14:18 crem_ [~moo@Nightstar-28703.adsl.mgts.by] has joined #code
14:18 crem [~moo@Nightstar-28703.adsl.mgts.by] has quit [Connection reset by peer]
14:20 crem_ [~moo@Nightstar-28703.adsl.mgts.by] has quit [Quit: Ep0xa 1.2v]
15:01 Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has quit [Ping Timeout]
15:02 Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has joined #code
15:02 mode/#code [+o Attilla] by ChanServ
15:03 Syloqs_AFH [Syloq@Admin.Nightstar.Net] has joined #code
15:04 Syloqs_AFH is now known as Syloqs-AFH
15:10
<@gnolam>
Happy Pi Day!
15:13 KBot [AnnoDomini@Nightstar-29557.neoplus.adsl.tpnet.pl] has joined #Code
15:14 AnnoDomini [~farkoff@Nightstar-29250.neoplus.adsl.tpnet.pl] has quit [Ping Timeout]
15:14 KarmaBot [AnnoDomini@Nightstar-29250.neoplus.adsl.tpnet.pl] has quit [Ping Timeout]
15:16 KBot is now known as KarmaBot
15:21 AnnoDomini [~farkoff@Nightstar-29557.neoplus.adsl.tpnet.pl] has joined #Code
15:21 mode/#code [+o AnnoDomini] by ChanServ
15:36 GeekSoldier_ [~Rob@Nightstar-8573.midstate.ip.cablemo.net] has joined #code
15:36 GeekSoldier [~Rob@Nightstar-8573.midstate.ip.cablemo.net] has quit [Ping Timeout]
15:38 Moltare [~moltare@Nightstar-16368.plus.com] has quit [Quit: Twisted, yes, but strangely fluffy.]
16:26 Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has quit [Ping Timeout]
16:27 Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has joined #code
16:27 mode/#code [+o Attilla] by ChanServ
16:29 Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has quit [Connection reset by peer]
16:29 Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has joined #code
16:29 mode/#code [+o Attilla] by ChanServ
16:39 GeekSoldier_ is now known as GeekSoldier
16:54 Derakon[AFK] is now known as Derakon
17:19 Vornicus [~vorn@Admin.Nightstar.Net] has joined #code
17:19 mode/#code [+o Vornicus] by ChanServ
17:36 crem [~moo@Nightstar-28703.adsl.mgts.by] has joined #code
17:53
<@Consul>
The ability to install fonts on Fedora 10 leaves an enormous amount to be desired.
18:55
<@Derakon>
Well, Marching Squares works superbly for wallwalking. Thanks, Gnolam!
18:55
<@Derakon>
Now I just have to figure out how to classify different configurations as wall/ceiling/floor.
18:59
<@McMartin>
Fedora 10 is trash
18:59
<@McMartin>
Fedora 11's alpha is more stable.
19:00
<@jerith>
Didn't Fedora follow the Star Trek Rule?
19:00
<@jerith>
Or was it even numbers that sucked instead of odd ones?
19:01
<@McMartin>
It was that
19:01
<@McMartin>
Exceptions: 6 and 8
19:01
<@jerith>
Ah, right.
19:01
<@McMartin>
But all of the ones pre-5 were before they got Serious, so there was hope that 5-9 was a trend and that then *none* of them would suck.
19:02
<@jerith>
I must admit to being impressed by FC6 and RHEL5.
19:02
<@jerith>
(Which are the ones I've used.)
19:03
<@jerith>
The only real suckage was the package manager and the lack of usable repos for obscure stuff.
19:05
<@McMartin>
6 was named Zod.
19:05
<@McMartin>
How could it not be awesome?
19:05
<@McMartin>
KNEEL BEFORE FEDORA CORE 6
19:05
<@jerith>
Quite.
19:05
<@jerith>
Except then it got Old.
19:06
<@McMartin>
Other Kryptonians beat it up and sent it to the Phantom Zone.
19:06
<@jerith>
So I replaced it with RHEL5.
19:06 * McMartin nods
19:06
<@McMartin>
Fedora's approach to PM is very different from Debian's.
19:07
<@McMartin>
And even though Fedora 10 was trash it still kept that up; the repos are small, but what's there is tightly synced and up to date.
19:07
<@jerith>
Yeah.
19:07
<@jerith>
But they're small enough that there's a bunch of stuff I have to build myself. :-/
19:07
<@McMartin>
Yeah.
19:08
<@jerith>
Or pull in from random third parties, all incompatible with each other.
19:08
<@McMartin>
Since I use Linux machines as devboxes this offends me less~
19:08
<@McMartin>
Oh god
19:08
<@McMartin>
If it's not livna, run fast.
19:08
<@McMartin>
(Or, uh, whatever livna merged into)
19:08
<@jerith>
Although I believe rpmfusion is improving matters.
19:08
<@McMartin>
The third parties have been slowly getting their act together.
19:08
<@McMartin>
Yeah
19:09
<@jerith>
I ended up with jpackage, livna, dag and something else.
19:09
<@jerith>
And a whole bunch of stuff compiled from source.
19:10
<@jerith>
Also eggs and gems.
19:10 * McMartin mostly compiled from source and maintained a ~/bin
19:12
<@jerith>
I got tired of building from source five years ago. :-/
19:13
<@jerith>
These days, anything I build from source gets packaged.
19:13
<@jerith>
Yay Launchpad! <3 <3 <3
19:15
<@Derakon>
...argh.
19:16
<@Derakon>
I declared a variable 'range' as part of a short loop at line 471. This causes Python to complain about my use of the range function on line 438 (in the same function).
19:16
<@jerith>
Lexical scoping ftw.
19:20
<@ToxicFrog>
OpenSUSE has the Build Service, which is nice.
19:26
<@McMartin>
Can't be arsed to find out whether or not portage is still horribly broken wrt upgrades.
19:26
<@McMartin>
yum can handle distro changes as part of ordinary operation, and apt can handle it with a little automation.
19:26
<@McMartin>
They're the only two I've seen that are remotely acceptable at this
19:27
<@jerith>
Last time I used portage, stuff broke horribly if there was more than a few days between updates.
19:27
<@jerith>
But that was repo quality more than anything else.
19:28
<@jerith>
When I ran Gentoo at varsity, I had several packages a day to update.
19:28
<@McMartin>
I'm referring to the days before slots
19:28
<@McMartin>
Or the days after slots where they weren't used properly
19:29
<@McMartin>
So "Oh hai I upgraded my X server but not yours now every time you upgrade I will die beause 90% of all my upgrades now or forevermore are blocked"
19:29
<@McMartin>
Also, revdev-rebuild, the undocumented command that was necessary to make update not break your system.
19:29
<@McMartin>
And by undocumented I don't mean "had no documentation"
19:29
<@McMartin>
I mean "was a secret"
19:29
<@McMartin>
And "was not installed by default"
19:29
<@jerith>
Yep, revdep-rebuild was the second line in my update script.
19:30
<@McMartin>
And the third!
19:30
<@McMartin>
Since it doesn't let you run it unless you've pretended to run it immediately prior
19:30
<@jerith>
There was also a better /etc updater than the documented one.
19:31
<@McMartin>
Then, one fine day I tried out Fedora 3.
19:31
<@McMartin>
Right-clicked an ISO, and found the "Burn to disc" option, just there.
19:31
<@McMartin>
Put in a blank disc, and found that it also had the "Drag files here, then push burn button" button.
19:32
<@McMartin>
All installed as part of Gnome, as opposed to whatever the fuck it is.
19:32
<@McMartin>
Then I left Gentoo behind forever.
19:32
<@McMartin>
Because I'd been using xcdroast because it was the only UI I could find for this.
19:32
<@jerith>
I left Gentoo behind forever the day an upgrade that moved shadow password stuff around broke my logins.
19:33
<@McMartin>
I put up with that kind of shit for much longer than I should have.
19:33
<@Derakon>
Oh hey, today's Pi Day!
19:34
<@jerith>
Quite.
19:34
<@jerith>
Pity he's not here these days.
19:37 * Derakon tries to come up with angle ranges that say "If you're traveling in this direction, then this means a wall and this means a ceiling."
19:37
<@Derakon>
This is easier than trying to simulate semiobstructed parabolic trajectories, but I'm still getting it wrong a lot.
19:42
<@Derakon>
Oh, wait...direction of travel isn't enough to know if I'm on a ceiling or floor. I also need to know where the wall is. :\
20:10 crem_ [~moo@Nightstar-28703.adsl.mgts.by] has joined #code
20:10 crem [~moo@Nightstar-28703.adsl.mgts.by] has quit [Connection reset by peer]
20:24 * Vornicus considers his planned CS-Lectures post on Long Division.
20:33
<@Derakon>
Hang on a second...Derakon, you idiot. Direction of travel is enough to know where the wall is if you always keep the wall on your left!
20:36
<@Derakon>
My problem has been that I assumed you could have ceilings both when goingi right to left, and when going left to right. But you can only have ceilings when traveling left to right. >.<
20:36
<@Derakon>
s/goingi/going/
20:38
<@Derakon>
...in fact, any time I'm traveling to the left, I'm dealing with a wall and/or ceiling!
20:38
<@Derakon>
Right?
20:38
<@Derakon>
Er, going to the right, that is.
20:39
<@Derakon>
I can still have walls when going to the left, but it's a guarantee that if I'm going right, it's a wall or ceiling.
20:39
<@Vornicus>
So, going counterclockwise around the world?
20:39
<@Derakon>
Clockwise/counterclockwise in the context of tunnels confuses me. Just take a look at this map: http://derakon.dyndns.org/~chriswei/games/jbrl/mapgen17b.png
20:39
<@Derakon>
And then start tracing it keeping the wall to your left.
20:42
<@Vornicus>
keeping the wall to your left... clockwise.
20:43
<@Derakon>
See, I can't easily map this tunnel system to a circle. I know it can be done...it just doesn't come easily to mind.
20:44
<@Derakon>
(And that map has a hole! I just noticed. It was made before my latest holepatching algorithm, though, so I'm not worried)
20:44
<@Derakon>
s/hole/loop/
20:50
<@Vornicus>
hrm.
20:52
<@jerith>
22:22 <@russell> "Monday will see the introduction of a database that will instruct all
20:52
<@jerith>
22:22 <@russell> internet service providers to keep a record of all their communications for
20:52
<@jerith>
22:22 <@russell> a year."
20:52
<@jerith>
22:22 <@russell> SELECT * FROM instructions;
20:52
<@jerith>
22:22 <@russell> +--------------------------------------------+
20:52
<@jerith>
22:22 <@russell> | From_the_government |
20:52
<@jerith>
22:22 <@russell> +--------------------------------------------+
20:52
<@jerith>
22:22 <@russell> Keep all your data for one year
20:52
<@jerith>
22:23 <@russell>
20:52
<@jerith>
22:23 <@russell> 1 Row returned
20:58
<@ToxicFrog>
Pffft
20:58
<@ToxicFrog>
Good luck implementing that
20:59
<@Derakon>
The database~?
20:59
<@Derakon>
(Intentionally stupid question)
21:03
<@Derakon>
...I just realized that I've been saying "slope" instead of "angle" throughout this function.
21:04
<@Derakon>
The two are not the same thing!
21:13 * Derakon mutters at Wikipedia's article on Bresenham's line algorithm, which is very specific about drawing a line between two points instead of drawing a ray. :\
21:25
<@Derakon>
....argh! And my clever idea of just drawing a really big line segment is foiled by the fact that Bresenham draws back-to-front sometimes. >.<
21:25
<@Derakon>
Which in fact renders it totally unsuitable to finding the nearest wall in a given direction from a given space.
21:30 * Vornicus tries to decide what numbers to use.
21:30
<@Vornicus>
37 and...
21:30
<@Derakon>
17.
21:30
<@Derakon>
17 is the most random number.
21:30
<@Vornicus>
No, I want a much bigger number; 5 digits like.
21:31
<@Derakon>
12345?
21:31
<@Vornicus>
!dice d90000 + 9999
21:31
< KarmaBot>
[Vornicus] rolled d90000 + 9999: (79612)+9999 = 89611.
21:31
<@Vornicus>
!dice 89611/37
21:31
< KarmaBot>
[Vornicus] rolled 89611/37: 89611/37 = 2421.918919.
21:31
<@Vornicus>
perfect.
21:31
<@Derakon>
Heh.
21:32
<@Vornicus>
I picked 37 because it has a repeat length of 3.
21:50
<@Derakon>
Well, this is progress...a bit buggy still, but progress! http://derakon.dyndns.org/~chriswei/games/jbrl/accessibility/02.gif
21:55
<@Vornicus>
Goes a little bit batshit in the big room.
21:56
<@Derakon>
Yeah.
21:56
<@Derakon>
Ditching the "build platforms near ceilings" logic helps a bit, but I still get this: http://derakon.dyndns.org/~chriswei/games/jbrl/accessibility/result1.png
21:57
<@Derakon>
(Also building 3-wide platforms instead of 1-wide)
21:57
<@Derakon>
Next step: don't build platforms near other platforms.
22:00
<@Derakon>
Ah ha! http://derakon.dyndns.org/~chriswei/games/jbrl/accessibility/result2.png
22:07
<@Vornicus>
That top area is gonna suck
22:07
<@Derakon>
Whyso?
22:07
<@Derakon>
Oh, hey.
22:08
<@Derakon>
Yeah, that's a problem. ¬.¬
22:08
<@Vornicus>
Also it looks like the left area is not jumpable by a 3-height jumper.
22:08
<@Derakon>
Height-3 is probably going to change, FWIW.
22:08
<@Derakon>
For that matter, the player's size will too, most likely.
22:08
<@Derakon>
10x30 is not very big.
22:08
<@Derakon>
These are small-scale maps, though, because testing is easier that way.
22:16
<@Derakon>
http://derakon.dyndns.org/~chriswei/games/jbrl/accessibility/result3.png
22:18 * Derakon eyes http://derakon.dyndns.org/~chriswei/games/jbrl/accessibility/result4.png
22:19
<@Derakon>
I'm gonna need to add some extra logic at tree branches, I see.
22:38
<@Derakon>
Starting to look like something! http://derakon.dyndns.org/~chriswei/games/jbrl/accessibility/result5.png
22:39
<@Derakon>
I'm a bit disappointed in the sequence of platforms along the main NE/SW arm...ideally they'd only be at the tree junctions since you can walk on the floor otherwise.
22:48 Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has quit [Quit: <Insert Humorous and/or serious exit message here>]
23:04 Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has joined #code
23:04 mode/#code [+o Attilla] by ChanServ
--- Log closed Sun Mar 15 00:00:39 2009
code logs -> 2009 -> Sat, 14 Mar 2009< code.20090313.log - code.20090315.log >