code logs -> 2015 -> Tue, 29 Dec 2015< code.20151228.log - code.20151230.log >
--- Log opened Tue Dec 29 00:00:12 2015
00:10 Derakon_ [chriswei@Nightstar-5mvs4e.ca.comcast.net] has joined #code
00:10 * Derakon_ prods love2d, tries to figure out how to tell it where additional dependencies (required to run tutorial games) are located.
00:13
< Derakon_>
...oh, wait, they're embedded into the example, and the example just isn't compatible with the version of love2d I'm using...I think.
00:13 Ogredude [quassel@Nightstar-dm1jvh.projectzenonline.com] has joined #code
00:13 mode/#code [+o Ogredude] by ChanServ
00:14
< Derakon_>
Which is odd; it's failing because love.graphics.drawq is a nil value, and that function should be available as of love2d 0.8.0, and I'm on 0.10.0.
00:17
< Derakon_>
...derp, and removed in 0.9.0. That's what I get for skimming documentation.
00:18
<&jeroud>
Yay API churn?
00:19
< Derakon_>
I guess.
00:19
< Derakon_>
This platforming game example is kind of disappointing, though. It doesn't have jumping or proper handling of a grounded state, so the "player" vibrates constantly while on the floor.
00:20
<&McMartin>
Oh God, they're using Box2D for their platforming physics aren't they
00:23
< Derakon_>
http://www.headchant.com/2012/01/06/tutorial-creating-a-platformer-with-love-par t-1/
00:23
< Derakon_>
HardonCollider, evidently.
00:23
<&McMartin>
Ah yes, Love2d and its fine tradition of having all its libraries be HR violations.
00:25
< Derakon_>
I'm just trying to find a platforming game framework where I can muck around with gravity and player speed and add Metroid powerups and so on. ;_;
00:25
<&McMartin>
How much of Jetblade survives?
00:26
<&McMartin>
At some point I should write the full implementation of my generic platforming equation, except for the part where it would have like thirty dials -_-
00:26
< Derakon_>
Jetblade is still around somewhere.
00:26
< Derakon_>
But its asset management is kind of a nightmare, to be honest.
00:27
<&McMartin>
12
00:27
<&McMartin>
https://hkn.eecs.berkeley.edu/~mcmartin/games/DD/platformer.txt
00:27
<&McMartin>
This was my set of "dials" and even that is dodging a lot of special cases.
00:28
< Derakon_>
Neato.
00:28 Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has joined #code
00:28 mode/#code [+qo Vornicus Vornicus] by ChanServ
00:28
<&McMartin>
As well as a bunch of subtleties that entirely too many people get wrong, but maybe Shovel Knight and Freedom Planet will convince people otherwise.
00:28
< Derakon_>
One of the things I'd want to do for this experiment is implement a speed booster as a button you tap to discretely increase your maximum and current speed.
00:28
< Derakon_>
It turns out that good-feeling platforming physics is kind of hard!
00:29
<&McMartin>
Like the rules that if you're running and jumping, even in a closed space, your x velocity component should stay constant
00:29
<&McMartin>
Otherwise it doesn't merely feel wrong, there's a visible animation hitch
00:29
< Derakon_>
Jumps should not slow down or speed up, no.
00:30
<&McMartin>
Right, the issue is that when you collide with the ceiling, you need to slide along it in an unnatural manner according to physics engines
00:30
<&McMartin>
Right now my most usable system doing this is still in GameMaker. I need to finish the C++ port of that at some point, that's in second place behind the Atrocitron and my VIC-II project. -_-
00:31
<~Vornicus>
A Boy And His Blob (the original for NES) had it so if you hit the ceiling your yvel zeroes and then lets physics take over. I never hit it with enough xvel to tell what it does
00:31
<&McMartin>
Yeah.
00:32
<&McMartin>
Since most modern engines are based on rigid body physics hitting the ceiling makes your vel zero, full stup.
00:32
<&McMartin>
stop
00:32
<&McMartin>
You really have two options for this, and either can work
00:32
<&McMartin>
In one you bounce off the ceiling; yvel zeroes, xvel unaffected, gravity takes over
00:32
<&McMartin>
In another your intended y velocity doesn't change except by gravity so holding jump in a low ceiling lets you stick to it
00:33
<&McMartin>
That one's weird, but if you're clear about what's happening it can be made to feel natural
00:33
<&McMartin>
That one is keeping air time constant for any jump on level ground.
00:33
< Derakon_>
This reminds me of one really weird oddity in Super Metroid.
00:34
< Derakon_>
In Maridia there are sandfalls -- streams of sand falling from the ceiling.
00:34
< Derakon_>
These apply a constant downward force on Samus when she jumps through them.
00:34
< Derakon_>
But AFAICT they work by directly affecting your position each frame, so as soon as you exit them, you resume normal movement.
00:34
< Derakon_>
Which means you can go from a downward vector to an upward vector.
00:34
<&McMartin>
Yeah, that sounds like a similar mechanic to my option 2
00:35
<&McMartin>
in that one what you're doing is handling parabolic jumps as usual but then adjusting the position each frame so you're on the correct side of the wall.
00:35
<&McMartin>
And if you're jumping too soon to get out from underneath something you'd indeed go up/flat/up.
00:35
<~Vornicus>
iirc mario actually bounces off the ceiling
00:35
<&McMartin>
Yep
00:36
<&McMartin>
I treat Mario and Mega Man as the type species, because, well, I would
00:36
<&McMartin>
Sonic's violations of gravity are well documented as well, but documenting that is literally to spec out the engine they used for the Sonic and Ristar games.
00:36
< Derakon_>
Ristar has significantly snappier jumps than Sonic does.
00:36
<&McMartin>
But with that one past a certain fairly modest horizontal speed gravity stops existing
00:37
<&McMartin>
And you are then glued to the ground
00:37
<&McMartin>
Turns out even non-sonic speed requires that for running on bumpy terrain if you don't want them to go flying every time they hit a gentle slope.
00:37
< Derakon_>
Super Metroid does that too.
00:37
<&McMartin>
Yeah
00:37
< Derakon_>
I believe it's basically as simple as adding your horizontal velocity to gravity each frame.
00:38
< Derakon_>
And not allowing running down slopes more than 45° steep.
00:38
<&McMartin>
Well, Sonic requires more than that because he can run on ceilings, etc
00:38
< Derakon_>
Really that's probably too steep too.
00:38
<&McMartin>
Yeah
00:38
< Derakon_>
Ye-es.
00:39
<&McMartin>
The book I read that built a decent platform engine in Game Maker was using the Amiga game Zool (himself something of a Sonic clone but without the stuff like loop running)
00:39
<&McMartin>
Dealing with Zool covers a lot of ground
00:39 * Derakon_ mutters at that HardonCollider thing, which is complaining that "self" is a nil value in one of its internal methods.
00:39
< Derakon_>
Maybe this system isn't as well-put-together as I want it to be. >.>
00:39
<~Vornicus>
there is no sonic only zool
00:39
<&McMartin>
... doesn't Lua use unlimited extent objects
00:39
<&McMartin>
(that is, aren't dangling pointers supposed to be impossible)
00:39
< Derakon_>
It's trying to access a field of "self", but "self" is nil.
00:40
< Derakon_>
Well okay, the actual error is "attempt to index local 'self' (a number value)".
00:40
<&McMartin>
... good work
00:40
<&McMartin>
Yeah, pygame maybe?
00:40
< Derakon_>
Oh, and I see what I did wrong.
00:40
< Derakon_>
hero.move is not hero:move.
00:40
<&McMartin>
Somebody must have had Ludum Dare work in pygame with basic platforming
00:40
<&McMartin>
Oh right
00:41
< Derakon_>
I'm just kind of bummed that this stuff isn't easier.
00:41
<&McMartin>
That is fair, especially since these are the bullshit parts
00:41
< Derakon_>
I really expected to just be able to, like, download one of the millions of game engines, maybe buy a "platformer framework" add-on, and be set to go.
00:42
<&McMartin>
My bummed-nessa bout this stuff is that the stuff I think really is the hard stuff is the stuff people going in aren't even considering
00:42
< Derakon_>
I.e. the specific details of how physics ought to work?
00:42
<&McMartin>
Yeah, and level design and what values mean for that etc
00:42
<&McMartin>
Which is why I'm always a little skeptical of the notion of a "platform framework" that's actually good enough to do what you want
00:42
< Derakon_>
Heh.
00:42
< Derakon_>
Those are in fact the things I wanted to play with.
00:42
<&McMartin>
This is a place where I'd be thrilled to be wrong
00:43
<&McMartin>
But it's also one where my estimate of the difficulty of the problem is at the level of "you could get hundreds of dollars a seat for that"
00:43
< Derakon_>
I'd be happy enough with something that would let me build basic levels out of simple blocks, handle prevention of intersection, and tell me when the player is grounded.
00:43 * McMartin nods
00:43
<&McMartin>
One neat trick from that book that I've appropriated
00:43
<&McMartin>
"player on ground", "player in air", and "player falling" are effectively three different engines
00:44
<&McMartin>
In GM you do that by morphing the type of the player object, because it's easy and safe to do that in its (otherwise pretty alien) object system
00:44
< Derakon_>
Three different states with different physics rules, you mean?
00:44
<&McMartin>
In C++ I'd use a state switch in update() and friends
00:44
<&McMartin>
Yeah
00:44
< Derakon_>
Yeah, that makes sense.
00:44
<&McMartin>
But in GM because of the way it works, the easiest way to do that is actually to effectively have three different *classes*
00:44
< Derakon_>
While rising, you have control of when gravity kicks back in, and possibly better air control; when falling, you may have less air control and stricter speed limits.
00:44
< Derakon_>
...okay.
00:45
<&McMartin>
(They're using a dynaimcally typed, prototype-based system, it works there)
00:45
<&McMartin>
(Yes, I am a language geek)
00:45
<&McMartin>
(Morphing is possible in C++ but please don't)
00:45
<&McMartin>
(I bet you could make it happen in Python or Ruby via controlled in-place monkeypatching)
00:46
< Derakon_>
Python, I'd probably do that by having logic modules that I can swap in and out.
00:46
< Derakon_>
Create each module by handing it the methods it needs to do whatever, then tell the current active module "okay, do your thing.".
00:46
< Derakon_>
Functions as first-class objects is so nice.
00:46
<&McMartin>
Yeah
00:47
<&McMartin>
And indeed, that's basically the trick in C++; you overwrite the vtable pointer at runtime to something with an identical method and data layout. >_>
00:47
< Derakon_>
Most of the data is stuff like velocity, position, hitbox, etc. which should be shared across modules, but each module can store its own internal state if necessary (e.g. for "remaining rise time before I force gravity back on").
00:48
<&McMartin>
Yeah
00:48
<&McMartin>
The generic case is "holding the jump button reduces gravity by X", incidentally
00:48
<&McMartin>
So it looks kinda parabolic all the way up if you want
00:48
<&McMartin>
It's usually a good idea to cap X at g, though >_>
00:48
< Derakon_>
Yyyyes.
00:48
< Derakon_>
Unless you have a jetpack!
00:49
<&McMartin>
One of my game ideas that I probably won't implement is a game where you have a jetpack with an uncontrollable burn rate - so it's like shooting a rocket strapped to your back
00:49
<&McMartin>
And while flying collision with terrain hurts you
00:50
< Derakon_>
An SRB jetpack.
00:50
<&McMartin>
Kerbal Platforming Program
00:50
<&McMartin>
Yes
00:50
< Derakon_>
Heh.
00:52
< Derakon_>
Bleh, I'm finding myself wanting to just implement the fucking physics myself.
00:52
< Derakon_>
But that way madness lies.
00:52
< Derakon_>
And I should know.
00:52
< Derakon_>
Jetblade's physics never did get all of the kinks satisfactorily sorted out.
00:52
<&McMartin>
I don't have access to my archives just now but I can hand you the Dapper Delver source once I get it >_>
00:52
<&McMartin>
That one's tuned to Mega Man though
00:52
< Derakon_>
That's fine.
00:53
< Derakon_>
Like I said, I wanted to tweak physics and see what happens.
00:53
<&McMartin>
Actually, hrm
00:53
<&McMartin>
I *might* have my dial program even
00:53
< Derakon_>
Honestly if/when I do start implementing something, I'll probably start from a Spelunky base instead of a Super Metroid one.
00:53
< Derakon_>
The issue with GameMaker, though, is that the Mac version is only GM7.
00:53
< Derakon_>
So I can't load GM8/GMS files.
00:53
<&McMartin>
Yeah :/
00:54
< Derakon_>
And I don't have a Windows VM/dual boot on this machine, nor convenient way to set up such.
00:54
<&McMartin>
And yet to do GMS Mac output you need to ssh into one!
00:54
<&McMartin>
The nice part of GMS though is that everything is neatly-organized XML and JS-ish files.
00:54
<&McMartin>
So it's easy to rip stuff out of
00:54
<&McMartin>
But the thing is
00:54
<&McMartin>
I remember writing a program that let you hit keys to alter constants
00:54
<&McMartin>
I just can't, well, find it.
00:54
<&McMartin>
It's somewhere on Astatine, which is powered off and hundreds of miles away, though.
00:55
< Derakon_>
That is somewhat suboptimal.
00:55
<@Tamber>
That's what WoL is for!
00:55
< Derakon_>
(Earlier today I thought "I'll just SSH onto my machine, turn on remote desktop, remote onto it, reboot into Windows, and...wait."
00:55
<&McMartin>
*sad trombone*
00:56
< Derakon_>
(Notwithstanding that currently I can't reboot without being physically present to select the drive to boot off of)
00:56
<@Tamber>
At least you had your "...wait" moment before doing that.
00:56
<&McMartin>
I deliberately crippled my computing capability for my vacation so that I could not work remotely
00:56
< Derakon_>
(I should probably turn on the default-to-Mac-after-timeout thing)
00:56
<&McMartin>
On the plus side, that means Osmium is getting a workout and its new components are working pretty well.
00:56
<&McMartin>
Maybe I won't need an upgrade in April after all.
01:05
< Derakon_>
Okay, that's enough mucking around with this stuff for now. Dinner calls.
01:05 Derakon_ is now known as Derakon[AFK]
01:09 Crossfire [Z@Nightstar-r9lk5l.cust.comxnet.dk] has joined #code
01:09 mode/#code [+o Crossfire] by ChanServ
01:16 ion [Owner@Nightstar-gmbj85.vs.shawcable.net] has joined #code
01:33 * ToxicFrog upreads
01:34
<&ToxicFrog>
Re different classes for ground/jumping/falling: in lua you can do that with the monkeypatching, or with the python approach Derakon describes, or with __index tricks. Which one is best probably depends on how the rest of your object system is wired up.
01:38
<&ToxicFrog>
Re the platforming physics dials, I would like to see the source for that published.
01:38
<&ToxicFrog>
I now kind of want to implement it for love2d based on platformer.txt, but that sounds like it might be actual work
01:44 Turaiel[Offline] is now known as Turaiel
01:45
<~Vornicus>
orrrr, you can have your dude just contain the three classes and dispatch on mode
01:45 McMartin [mcmartin@Nightstar-rpcdbf.sntcca.sbcglobal.net] has quit [[NS] Quit: leaving]
01:45 McMartin [mcmartin@Nightstar-rpcdbf.sntcca.sbcglobal.net] has joined #code
01:45 mode/#code [+ao McMartin McMartin] by ChanServ
03:07 Derakon[AFK] is now known as Derakon_
03:07
< Derakon_>
TF: if/when I manage to get an acceptable setup, I'll implement that formula and publish the source.
03:14
<~Vornicus>
Seems like the kind of thing that would make sense to just take a configuration object
03:17
<&McMartin>
Well, depending on how focused you are
03:17
<&McMartin>
I mean, some of these things cancel out so that you get to remove entire chunks of engine if you don't use them
03:17
<&McMartin>
Meanwhile: I got a raster stabilizer working for the C64
03:17
<&McMartin>
Maybe I can get that posted tonight.
03:20 * Derakon_ gets jumping working in the love2d demo.
03:21
< Derakon_>
For the longest time, I was just getting the player to vibrate when the jump button was pressed.
03:21
< Derakon_>
I eventually figured out that the jump button was in fact implemented as a "ram player further into the ground" button.
03:57
<&McMartin>
:bravo:
03:58 * Alek snerks.
04:02
<&McMartin>
In similar news, it turns out when implementing a stack frame, and in particular cleaning up a stack frame
04:02
<&McMartin>
It is very important to move the stack pointer in the *correct direction*.
04:02
<@Tamber>
Indeed! Funny how that works.
04:18 * McMartin may have gotten wrecked by that earlier today.
04:29
< Derakon_>
I think I've implemented most of platformer.txt.
04:29
< Derakon_>
But my collision response is causing the player to not walk properly, so it's kind of hard to test.
04:36 * Derakon_ digs up Jetblade's source code, since he's pretty sure he managed to solve this problem before.
04:36
< Derakon_>
Heh. It's about 4k lines of Python. I remember when that represented a huge project.
04:37
< Derakon_>
Oh wait, and another 4k for map generation and probably some more elsewhere, okay.
04:40
< Derakon_>
Ahh, my solution was to back out horizontally by (gravity) units if I had a horizontal ejection from a block that had no block above it.
04:43
< Derakon_>
Probably a better solution would be to compare the top of the block's bounding box to the bottom of the player's bounding box.
04:44
< Derakon_>
Hey TF, why would someone put this at the top of their file? "local math_abs, math_floor, math_min, math_max = math.abs, math.floor, math.min, math.max"
04:44
< Derakon_>
Are they ideologically opposed to having syntax highlighting?
04:46
<&McMartin>
They don't trust the optimizer to not do an extra two indirections each time those functions are called, maybe?
04:48
< Derakon_>
Bah, there's no pre-existing "get bounding box of this shape" method in the HardonCollider library, so I'll have to implement it for each of the different types.
04:48
< Derakon_>
Or maybe I should look into using a different collision detection system.
04:49
<&McMartin>
A caveat, albeit one Jetblade probably already hit: Do not let the bounding box change with animation
04:49
<&McMartin>
That's just asking for oscillating steady states.
04:49
<&McMartin>
Er, not bounding box
04:49
<&McMartin>
hitbox
04:50
< Derakon_>
Yeah.
04:51
< Derakon_>
Jetblade allowed hitboxes to vary with animation, but IIRC I mostly intended that for stuff like hurtboxes, which shared collision detection logic with hitboxes.
04:51 macdjord is now known as macdjord|slep
04:51
< Derakon_>
Right now my protagonist is just a square though.
04:57
< Derakon_>
Feh, modifying the collider code is a pain in the ass.
04:57
< Derakon_>
I should probably just use a different collider library. love.physics is a thin wrapper around box2d, looks like.
05:13 Turaiel is now known as Turaiel[Offline]
05:24
<&McMartin>
FallOver isn't online except through the Wayback Machine now :(
05:29
< Derakon_>
I would assume you can use box2d for collision detection and not collision response.
05:29
< Derakon_>
HardonCollider basically does AABBs, spheres, convex polygons, and compounded types, but it doesn't tell me any locational information about its colliders.
05:39
<&McMartin>
Fun fun.
05:40
<~Vornicus>
/me pokes at blender to figure out how to bake this texture
05:41
<@Tamber>
Gas mark 6 for 30 minutes.
05:42 Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has quit [Connection closed]
05:42 Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has joined #code
05:42 mode/#code [+qo Vornicus Vornicus] by ChanServ
05:55
<~Vornicus>
well, anyway. relevant to McM's interest: http://imgur.com/3rXYmp0
06:01
<&McMartin>
*projection!*
06:02
<~Vornicus>
So I got bored and decided to throw things at blender
06:39 Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has quit [Connection closed]
07:24 Kindamoody[zZz] is now known as Kindamoody
07:28 celticminstrel is now known as celmin|sleep
08:03
<&McMartin>
New Bumbershoot post. https://bumbershootsoft.wordpress.com/2015/12/29/stabilizing-the-vic-ii-raster/
08:44 Kindamoody is now known as Kindamoody|afk
09:01 gizmore [kvirc@Nightstar-s38o3n.dip0.t-ipconnect.de] has joined #code
09:04 gizmore|2 [kvirc@Nightstar-s38o3n.dip0.t-ipconnect.de] has quit [Ping timeout: 121 seconds]
11:20 macdjord|slep [macdjord@Nightstar-r9vt2h.mc.videotron.ca] has quit [Ping timeout: 121 seconds]
11:21 macdjord|slep [macdjord@Nightstar-r9vt2h.mc.videotron.ca] has joined #code
11:21 mode/#code [+o macdjord|slep] by ChanServ
11:51 Crossfire [Z@Nightstar-r9lk5l.cust.comxnet.dk] has quit [Ping timeout: 121 seconds]
12:25
<&ToxicFrog>
Derakon: accessing locals is faster than accessing globals or table contents, and the math.* library is both
12:26
<&ToxicFrog>
I would say "also it's faster to type abs than math.abs, so if they're using those functions a lot it may just be a concision thing", but then they go and call it math_abs :9
12:26
<&ToxicFrog>
:(
12:27
<&ToxicFrog>
love.physics is indeed a very thin wrapper around box2d, and last time I used it the only real way to understand it was to read the box2d documentation. That may have been improved.
12:30
<&ToxicFrog>
McMartin: PUC-Lua doesn't have an optimizer, so in hot code, localizing things is often worthwhile. that turns it from two hash lookups to a single register lookup.
12:32
<&ToxicFrog>
LuaJIT does, and it may be smart enough to deal with those, but there's at least some subtlety because the contents of _G can in principle change at runtime
12:33
<&ToxicFrog>
So localizing them up front is an unambiguous signal that the functions being called won't change
13:12 Emmy is now known as Emmy-Out
13:38 jerith [jerith@ServerAdministrator.Nightstar.Net] has quit [Ping timeout: 121 seconds]
13:44 Crossfire [Z@Nightstar-r9lk5l.cust.comxnet.dk] has joined #code
13:44 mode/#code [+o Crossfire] by ChanServ
14:01 jerith [jerith@Nightstar-ip7ar2.slipgate.net] has joined #code
14:01 mode/#code [+ao jerith jerith] by ChanServ
14:03 Crossfire [Z@Nightstar-r9lk5l.cust.comxnet.dk] has quit [Ping timeout: 121 seconds]
14:09 jerith [jerith@Nightstar-ip7ar2.slipgate.net] has quit [Ping timeout: 121 seconds]
14:11 jerith [jerith@Nightstar-ip7ar2.slipgate.net] has joined #code
14:12 mode/#code [+ao jerith jerith] by ChanServ
14:16 jerith [jerith@Nightstar-ip7ar2.slipgate.net] has quit [Ping timeout: 121 seconds]
14:18 jerith [jerith@Nightstar-ip7ar2.slipgate.net] has joined #code
14:18 mode/#code [+ao jerith jerith] by ChanServ
14:19
< Derakon_>
TF: thanks for the explanations.
14:27 jerith [jerith@Nightstar-ip7ar2.slipgate.net] has quit [Ping timeout: 121 seconds]
14:30 jerith [jerith@Nightstar-ip7ar2.slipgate.net] has joined #code
14:30 mode/#code [+ao jerith jerith] by ChanServ
14:30 catadroid [catalyst@Nightstar-2k0p46.dsl.teksavvy.com] has quit [Ping timeout: 121 seconds]
14:34 jerith [jerith@Nightstar-ip7ar2.slipgate.net] has quit [Ping timeout: 121 seconds]
14:35 jerith [jerith@Nightstar-ip7ar2.slipgate.net] has joined #code
14:35 mode/#code [+ao jerith jerith] by ChanServ
14:36
< Derakon_>
McM: this should be relevant to your interests: http://forums.somethingawful.com/showthread.php?noseen=0&threadid=3506853&perpag e=40&pagenumber=545#post454350218
14:36
< Derakon_>
(Someone porting their game to the C64)
16:37 macdjord|slep is now known as macdjord
16:40 celmin|sleep is now known as celticminstrel
17:17 gnolam_ [lenin@Nightstar-oru2ae.priv.bahnhof.se] has joined #code
18:33 Crossfire [Z@Nightstar-r9lk5l.cust.comxnet.dk] has joined #code
18:33 mode/#code [+o Crossfire] by ChanServ
19:00 gnolam__ [lenin@Nightstar-oru2ae.priv.bahnhof.se] has joined #code
19:02 gnolam_ [lenin@Nightstar-oru2ae.priv.bahnhof.se] has quit [Ping timeout: 121 seconds]
20:47 Turaiel[Offline] [Brandon@Nightstar-7mqsi0.mi.comcast.net] has quit [Ping timeout: 121 seconds]
20:50 Turaiel[Offline] [Brandon@Nightstar-7mqsi0.mi.comcast.net] has joined #code
20:59 gizmore|2 [kvirc@Nightstar-s38o3n.dip0.t-ipconnect.de] has joined #code
21:00 gizmore|3 [kvirc@Nightstar-s38o3n.dip0.t-ipconnect.de] has joined #code
21:01 catadroid [catalyst@Nightstar-2k0p46.dsl.teksavvy.com] has joined #code
21:01 gizmore [kvirc@Nightstar-s38o3n.dip0.t-ipconnect.de] has quit [Ping timeout: 121 seconds]
21:03 gizmore|2 [kvirc@Nightstar-s38o3n.dip0.t-ipconnect.de] has quit [Ping timeout: 121 seconds]
21:05 gizmore [kvirc@Nightstar-s38o3n.dip0.t-ipconnect.de] has joined #code
21:08 gizmore|3 [kvirc@Nightstar-s38o3n.dip0.t-ipconnect.de] has quit [Ping timeout: 121 seconds]
21:08 gizmore|2 [kvirc@Nightstar-s38o3n.dip0.t-ipconnect.de] has joined #code
21:11 gizmore|3 [kvirc@Nightstar-s38o3n.dip0.t-ipconnect.de] has joined #code
21:11 gizmore [kvirc@Nightstar-s38o3n.dip0.t-ipconnect.de] has quit [Ping timeout: 121 seconds]
21:13 gizmore [kvirc@Nightstar-s38o3n.dip0.t-ipconnect.de] has joined #code
21:13 gizmore|2 [kvirc@Nightstar-s38o3n.dip0.t-ipconnect.de] has quit [Ping timeout: 121 seconds]
21:15 gizmore|2 [kvirc@Nightstar-s38o3n.dip0.t-ipconnect.de] has joined #code
21:16 gizmore|3 [kvirc@Nightstar-s38o3n.dip0.t-ipconnect.de] has quit [Ping timeout: 121 seconds]
21:18 gizmore [kvirc@Nightstar-s38o3n.dip0.t-ipconnect.de] has quit [Ping timeout: 121 seconds]
21:18 gizmore [kvirc@Nightstar-s38o3n.dip0.t-ipconnect.de] has joined #code
21:21 gizmore|2 [kvirc@Nightstar-s38o3n.dip0.t-ipconnect.de] has quit [Ping timeout: 121 seconds]
21:29 gizmore [kvirc@Nightstar-s38o3n.dip0.t-ipconnect.de] has quit [Ping timeout: 121 seconds]
21:34 gizmore [kvirc@Nightstar-s38o3n.dip0.t-ipconnect.de] has joined #code
21:35 gizmore|2 [kvirc@Nightstar-s38o3n.dip0.t-ipconnect.de] has joined #code
21:39 gizmore [kvirc@Nightstar-s38o3n.dip0.t-ipconnect.de] has quit [Ping timeout: 121 seconds]
21:39 gizmore [kvirc@Nightstar-s38o3n.dip0.t-ipconnect.de] has joined #code
21:41 gizmore|3 [kvirc@Nightstar-s38o3n.dip0.t-ipconnect.de] has joined #code
21:42 gizmore|2 [kvirc@Nightstar-s38o3n.dip0.t-ipconnect.de] has quit [Ping timeout: 121 seconds]
21:44 gizmore [kvirc@Nightstar-s38o3n.dip0.t-ipconnect.de] has quit [Ping timeout: 121 seconds]
21:44 gizmore [kvirc@Nightstar-s38o3n.dip0.t-ipconnect.de] has joined #code
21:45 gizmore|2 [kvirc@Nightstar-s38o3n.dip0.t-ipconnect.de] has joined #code
21:47 gizmore|3 [kvirc@Nightstar-s38o3n.dip0.t-ipconnect.de] has quit [Ping timeout: 121 seconds]
21:48 gizmore|3 [kvirc@Nightstar-s38o3n.dip0.t-ipconnect.de] has joined #code
21:48 gizmore [kvirc@Nightstar-s38o3n.dip0.t-ipconnect.de] has quit [Ping timeout: 121 seconds]
21:49 gizmore [kvirc@Nightstar-s38o3n.dip0.t-ipconnect.de] has joined #code
21:49 gizmore [kvirc@Nightstar-s38o3n.dip0.t-ipconnect.de] has quit [A TLS packet with unexpected length was received.]
21:50 gizmore|2 [kvirc@Nightstar-s38o3n.dip0.t-ipconnect.de] has quit [Ping timeout: 121 seconds]
21:52 gizmore|3 [kvirc@Nightstar-s38o3n.dip0.t-ipconnect.de] has quit [Ping timeout: 121 seconds]
21:53
< Azash>
https://freedom-to-tinker.com/blog/aylin/when-coding-style-survives-compilation- de-anonymizing-programmers-from-executable-binaries/
22:14 Kindamoody|afk is now known as Kindamoody
22:29
< Derakon_>
...right, Lua is 1-indexed, because it hates you.
22:42
< [R]>
Yup
22:52 catadroid [catalyst@Nightstar-2k0p46.dsl.teksavvy.com] has quit [Connection closed]
22:52 catadroid [catalyst@Nightstar-2k0p46.dsl.teksavvy.com] has joined #code
22:56 catadroid [catalyst@Nightstar-2k0p46.dsl.teksavvy.com] has quit [Connection closed]
22:56 catadroid` [catalyst@Nightstar-2k0p46.dsl.teksavvy.com] has joined #code
22:58 catadroid` [catalyst@Nightstar-2k0p46.dsl.teksavvy.com] has quit [Connection closed]
22:59 * Derakon_ mutters at box2d.
23:00
< Derakon_>
Your "contact" class doesn't give me enough information to be able to resolve collisions myself. What the hell.
23:09 Turaiel[Offline] is now known as Turaiel
23:18
<@macdjord>
Azash: Be interesting to see that actually applied in the wild. E.g. using it on some famous virus of unknown authorhood.
23:20 catadroid [catalyst@Nightstar-2k0p46.dsl.teksavvy.com] has joined #code
23:21
< Derakon_>
Bah, looks like box2d doesn't have a way to get a callback saying "I'm about to move your objects around by these vectors to keep them from overlapping."
23:21
< Derakon_>
What the hell.
23:25 Emmy-Out is now known as Emmy-zZ
23:25 Emmy-zZ is now known as Emmy-zZz
23:26 catadroid [catalyst@Nightstar-2k0p46.dsl.teksavvy.com] has quit [[NS] Quit: Bye]
23:32 nico [NSwebIRC@Nightstar-j0v.c7m.95.2.IP] has joined #code
23:33 nico [NSwebIRC@Nightstar-j0v.c7m.95.2.IP] has left #code [""]
23:35 catadroid [catalyst@Nightstar-2k0p46.dsl.teksavvy.com] has joined #code
--- Log closed Wed Dec 30 00:00:28 2015
code logs -> 2015 -> Tue, 29 Dec 2015< code.20151228.log - code.20151230.log >

[ Latest log file ]