--- 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 |