« first day (1716 days earlier)      last day (3306 days later) » 
00:00 - 17:0018:00 - 00:00

12:03 AM
I liked the first and third movies
 
12:18 AM
I thought the first had a nice subtlety to the story that most didn't appreciate
but II and III lost all that
though i thought it was cool they put the words of george bush into the mouth of palpatine
 
I think the other thing is I don't watch SW for a really deep story
it's a space western with a bit of mysticism
 
ep IV and V did that better
I II III just concentrated too much on fx
though I will say the podrace is a masterful action scene
 
podrace and darth maul
also general grievous
 
man
garen vs talon
i did horrible
:(
 
orly? seems like garen would win that one.
 
12:26 AM
yeah well I probably didn't know what to build or how to play it
i went like 3/10 for the game or something
talon finished like 15/1
 
ouch
 
at one point when he had 10 kills 7 were on me
 
Pip
ouch
 
12:57 AM
now i'm 7/2 teemo :)
8/3
finish 12/4 teemo :)
 
Sneaky bear alert!
rigging works :D
 
oh damn, there's gonna be a couple organizations looking at the final projects for my capstone class
I should've put more effort into it XD
I mean, it's about 2300 loc (mostly pre-existing but that's okay for this project), but most of it is backend stuff that is hard to show off
 
1:15 AM
This is really cool :p
 
1:29 AM
Nice
 
SMOOTH OR ROUGH?
 
yet another person infected by Kung Fu Panda. so tragic. :'(
 
hahaha
i'm just testing with rigging
this is like my first time rigging anything
 
2:00 AM
:)
 
 
4 hours later…
6:03 AM
um lol
 
6:24 AM
Much better
 
7:14 AM
Nice!
 
7:27 AM
they look so much smoother in unity
 
 
1 hour later…
8:40 AM
Looks nice
I think you're missing a few vertices in your rigging though =p
 
9:02 AM
yeah idk why it does that
alright
i'm having an issue it slows down in unity in one spot
 
9:58 AM
this android/google play plugin crashing the app with no error message is pretty cool
meh to achievements lol
 
dem downvotes
 
@Jon oh gods, it's spreading
DON'T BE THE BRIDGE PLZ
 
Jon
 
lol
 
10:06 AM
I blame @fredley for this travesty
 
@KevinvanderVelden I blame @Sterno
 
@fredley seems legit, still blaming you though
 
Jon
10:47 AM
I don't understand how that robot can roll
 
Magic
Also magnets probably
 
Jon
my guess is, the head is a seperate module that re-adjusts itself on tracks
magnets don't make sense
when it rolls, how would that work?
i guess if the magnet hovered just right.
still cool
 
Something like that
The wheels being those cool omnidirectional wheels would allow it pretty much arbitrary rotation
 
Jon
11:08 AM
seems plausible
 
One of my friends did his final school project (in product engineering) on a thing like this, if without the head
Hmm, the servo for moving the magnet is probably a dumb idea, easier to keep that rigid and move a matching magnet around in the head bit actually
 
Pip
morning all
 
Pip
@Jon No school for me today, quarter just ended :D
 
Jon
yay
 
Pip
11:21 AM
Ikr
programming all day
 
Jon
haha, life, its so beautiful
 
Pip
exactly
so is Daft Punk by Pentatonix
addicted to this song
 
Jon
whoa... major gayness in that band
 
<3
 
Jon
i prefer the daft punk version
 
Pip
11:29 AM
@Jon only one of them
interesting article
 
Jon
isn't black hole the center of a galaxy?
 
Pip
Yeah
Not always, but all galaxies are centered around one
 
> At Least Not Like We Think
 
Pip
<3
 
Jon
its basically gargantuan masses of energy that we know nothing about
 
Pip
11:31 AM
yep
 
Well, energy in the sense of E=mc^2, it's a lot of very dense mass
 
Jon
Einstein's well-tested "equivalence principle," which implies that crossing a black hole's event horizon should be an unremarkable event. A hypothetical astronaut passing across an event horizon would not even be aware of the transit.
Hawking proposes that black holes possess "apparent horizons" that only temporarily entrap matter and energy that can eventually reemerge as radiation. This outgoing radiation possesses all the original information about what fell into the black hole, although in radically different form.
Since the outgoing information is scrambled, Hawking writes, there's no practical way to reconstruct anything that fell in based on what comes out. The scrambling occurs because the apparent horizon is chaotic in nature, kind of like weather on Earth.
 
Pip
yep
 
Jon
i'm picturing hawking googling about black holes for the past 10 years
"I have an opinion on black holes now, you can read about it in my book"
 
Pip
lol
 
11:41 AM
Right? He is really well known for being a great physicist, you do know that?
 
Jon
i thought he was an alcoholic
 
If hawking radiation exists, then it will be a great time for physicist
 
@Jon it's probably pretty hard for someone who literally can't lift a bottle to be an alcoholic
 
@Jon The perfect one-way hash.
 
@KevinvanderVelden
 
11:57 AM
so I finally found time to do some force-directed graphing
 
@Hjorthenify still hard to use if you can't put it on your own head =p
 
Or fill it, or, well, anything
 
@KevinvanderVelden He has a helper.. Just put vodka og stronger in it and you're good to go :P
 
Jon
what they need is a giant mech to hold it upright
 
12:01 PM
Giant mechs are always the proper solution
@Hjorthenify we're not talking about him drinking alcohol, we're talking about being an alcoholic, it's really hard to drink without stopping if others can easily stop you by not assisting you
 
@KevinvanderVelden He's one of the worlds smartest scientists.. I'm sure he can figure something out :P
 
Like not being an alcoholist?
 
Exactly!
 
'Morning, All
 
user92578
Good Day!
 
12:07 PM
Hello!
 
user92578
I'll do one last run of the game and then I'm off to breaking it for a while again
 
your own game?
 
Jon
own your game.
 
user92578
yeah
 
I Soviet Russia game owns you
 
user92578
The BCR: The Big Collision Refactor
 
:P
I won't be coding this weekend..
 
user92578
y?
 
I'll be in Sweden without electricity :D
 
user92578
oh
 
user92578
12:10 PM
y?
 
Sometimes you just gotta go be one with nature
 
user92578
In Sweden?
 
Pip
@Jon hahaha nice
 
Yeah?
 
user92578
Why there? Don't you live like in Denmark?
 
12:12 PM
Yes, but Sweden has way more undisturbed nature
 
user92578
ah
 
I cant wait till I can play my game.. More than just ramming into the enemy's hitbox and watch it float away :P
 
12:41 PM
one day we'll have crowds that don't suck
 
Jon
Yeah, i was looking at how the crowds doesn't seem to care about anything
lol
they are all looking at random spots and doing their own thing
 
3 models as animated billboards
 
1:02 PM
so how about writing code for a "wild bunch of drunk steven hawkings" crowd? Shoud be fun and it's surely better than all the FIFA crowds until now summed up.
 
Jon
1:13 PM
done.
 
Jon
1:26 PM
heartstone plays good on android
 
Is that some cheap Hearthstone knock off? :P
 
Jon
shuddap
 
Don't worry. I won't tell anyone you can't afford the real Hearthstone.
 
user image
5
 
Amazing
 
1:35 PM
lol
 
Jon
why even have a logout option
 
Well ... it's not like this is a new kind of error message. We had stuff like this for ages.
> suicide
You need to be alive to do that.
 
Jon
1:50 PM
> poop
You haven't eaten in 27 days.
 
2:01 PM
@Hjorthenify why is this image backward?
 
user92578
Aight I believe that the collision logic is in
 
user92578
Then onto changing all the references and class stuff etc
 
user92578
look at the errors flowing in
 
user92578
argh
 
user92578
Anyone around? I need some class structure help
 
2:15 PM
What's up?
 
Put properties and methods inside classes.
That should do it
 
user92578
So basically I've changed from using CBoundingBox everywhere to instead using CBounding everywhere, where CBounding can be instanced as either a circle or a box.
 
user92578
CBounding itself cannot do anything
 
Your own classes, or an API?
 
user92578
All the child classes of CBounding, CBoundingBox and CBoundingCircle need to implement collision methods for all the other types
 
user92578
2:17 PM
My own classes
 
user92578
But as I store all the collision items as CBounding pointers, I cannot call m_Bounding->Collide(other->m_Bounding) as they are both in the base type, not the actual collider type
 
user92578
That's my current problem
 
user92578
I'll put up an example pastebin to make it more clear
 
Make Collide virtual, and overload it (e.g. Collide(CBoundingBox* other) {...} and Collide(CBoundingCircle* other) {...} )
 
The collision is not a property or capability of either bounding box, so how about a Collision class? The individual Bounding classes would have a geometry type and geometry parameters stored, and the collision has to make sense of them
 
user92578
2:20 PM
@TreDubZedd That's what I have
 
ah, ok; I understand now, I think
 
user92578
In the basics the problem is kinda described here: pastebin.com/Vq4NeCxs
 
user92578
This is starting to look like I'm going to need an enum for the type
 
You need to determine the actual hitbox geometry at runtime. You're doing that implicitly by adding a layer of abstraction, which is not wrong but won't get you anywhere without further introspection. You can add a method that tells you about the size of the hitbox geometry in a certain direction, and then see if two hitboxes overlap
 
user92578
But the data that is required for a box and the data for a circle are different
 
user92578
2:33 PM
I don't think a uniform geometry solution will work here
 
user92578
Unless I just can't think this right (which maybe be possible), in which case could you maybe give me an concrete example of this in use?
 
I'm sketching, hold on
There are two objects: a rectangle and a circle, representing two different hitbox geometries. The red line is the path between the two centers (if you can construct such a path, we're in luck).
 
According to my test, line 50 should know what to do...
 
I've added two red circles for the rectangle: the outer is the largest circle around it. The black circle (other hitbox) intersects this circle, so it is at least close to our rectangle - but it doesn't touch the rectangle
 
user92578
@TreDubZedd It shouldn't. There's no method that takes in a CBounding*
 
user92578
2:39 PM
At least I believe so
 
user92578
Casting to a parent explicitly is a thing in C++, but not casting into a child class is not
 
user92578
So here's how I was thinking about doing it (but not 100% satisfied with the solution, but it's something that would definitely work): pastebin.com/TqJrHuaq
 
am I doing anything differently there?
 
user92578
Yeah
 
user92578
2:40 PM
You're taking in a Base* instead of a Sub*
 
yet line 49 prints out "Test: Sub Sub"
 
user92578
Virtual implementations do get passed with the base class
 
the other red circle crosses the intersection of the center-to-center line and the rectangle. Your hitbox classes could at least provide those two distances for a given direction to another hitbox
 
user92578
@Christoph But I cannot simulate/test box vs box or box vs circle collisions with two circles instead of a box
 
circles are actually easier than boxes because you only compare r1 + r2 vs distance
in the circle case, both red circles are the same
 
user92578
2:44 PM
@Christoph I know that
 
You could (probably) make it a two-step approach. other->PreCollide(this) with virtual void PreCollide(CBoundingBox* other) { other->Collide(this); }
 
user92578
@Christoph
 
user92578
 
user92578
See? The green circle does collide with the box
 
user92578
But it doesn't collide with the min circle of the box
 
user92578
2:47 PM
Hence no collision would be detected
 
the smaller red circle is too small - it doesn't cross the intersection of the center-to-center line with the rectangle
in this situation it would be almost as large as the larger red circle
 
user92578
what is a "center-to-center" line?
 
The problem is that the parameter passed to Collide doesn't recognize what type it is...so flip it again, and call the virtual function on that object, forcing it to recognize its context
 
user92578
BTW Thanks for pointing out sketch.it for me :)
 
user92578
@TreDubZedd Doesn't work
 
2:50 PM
bummer
 
the "center-to-center" line is the line between the centers of object a and object b. the red line in my sketch
 
user92578
@Christoph and how does the smaller circle "cross" that
 
user92578
Or "how does it not cross that line in my picture?"
 
user92578
 
user92578
2:52 PM
That's the line, right?
 
yes, that's the line. the smaller red circle should cross the right edge of your rectangle
 
user92578
I'm sorry if I'm turning out like an total idiot and ass, but I'm just not getting how this works
 
user92578
@Christoph okay
 
user92578
So I'd need to dynamically re-position the smaller circle for every collision?
 
yes. I've marked the intersection in my original sketch (blue circle)
Now if the black, large circle gets closer, it will eventually cross the point marked with a blue circle. Then you can be absolutely sure that the two boxes collide
 
user92578
2:56 PM
How about a case like this? Is the smaller one correctly positioned?
 
user92578
 
no, smaller circle's center is at the center of the object ot belongs to - just the radius changes
 
user92578
okay
 
can your rectangle rotate?
 
user92578
So like this then?
 
user92578
2:57 PM
 
user92578
@Christoph No.
 
user92578
Or do I need to figure out the closest point on the edge?
 
user92578
And set the radius to that?
 
I'll do it step by step, starting with two objects:
figure out center-to-center line
find largest circle that contains the rectangle:
actually you can do that before figuring out the center-to-center line, because it is a property of the rectangle only
 
user92578
yeah
 
user92578
3:02 PM
i gotta go eating, but ill brb
 
user92578
thanks for your patience
 
the black circle is outside this red circle, so no collision. I'm now moving the black circle closer to the rectangle
the black circle and the red one intersect, so it's a might-be-collision
 
@Jon @Chris Unity question for you guys
0
Q: What does the number in TextMesh.lineSpacing refer to?

AlmoI have a TextMesh with some text, and mutliple lines. The 4 examples have these settings: lineSpacing = 220, characterSize = 10 lineSpacing = 220, characterSize = 25 lineSpacing = 220, characterSize = 30 lineSpacing = 110, characterSize = 25 I don't understand what the lineSpacing number s...

 
now we figure out the smaller circle. it has the same center as the rectangle, and intersects the rectangle at the same point as the center-to-center line:
 
Jon
@Almo If I had to guess, it has somethign to do with the size of the textures AND the character size setting
because if you adjust the texture size that it generates from a font -- it completely changes everything
 
3:09 PM
the black circle is outside this circle, so it's a "might-be-not-collision". It actually is no collision, the black rectangle and the black circle don't intersect. If the black circle moves closer, it will eventually intersect the smaller red circle:
 
@Jon you're probably right there.
 
that's definitely a collision. If you want to get better results in that "might-be-collision" region, you need a different algorithm. From an implementation point of view, it's easy to calculate the radii for both red circles by implementing a virtual function for each geometry.
 
user92578
ah
 
user92578
ty for this
 
user4704
Still no new profiles for GDSE :(
 
user92578
3:18 PM
you're a mod. do somethiing!
 
user4704
It's all on SE.
 
user92578
"GIFF NEW PROFILES OR RIOT"
2
 
the next step could be to implement a plane separation algorithm (see here: en.wikipedia.org/wiki/Hyperplane_separation_theorem). Again, any geometry you implement could provide a projection method for a given plane
gotta go now too
 
user92578
aight bye and thanks a lot @Christoph
 
user4704
3:31 PM
@Almo I would have guessed percentage-of-point-size initially
 
user4704
But your image seems to disprove that.
 
yeah, it's pretty weird.
 
Jon
its one of those unity internal secrets
 
user4704
I'm assuming it's some kind of similar typography-related unit.
 
user4704
The docs really do suck though.
 
3:32 PM
they do
 
user4704
I guess you could Reflector (or similar) the DLL defining TextMesh?
 
lineSpacing: the spacing between the lines.
 
user92578
@TreDubZedd Hmm so that kind of flipping
 
user4704
And maybe see what they do to the value before they pass it to whatever underlying API?
 
Jon
like i said, don't rule out texture size
it might do some funky calculation with that vlue
 
user4704
3:33 PM
@Tyyppi_77 Double-dispatch isn't really "flipping."
 
yeah
 
user92578
@JoshPetrie I would actually value your opinnion on this architectural issue I'm having
 
user92578
And okay, right.
 
user4704
Which is?
 
user92578
3:34 PM
I've written a small example case there
 
user4704
Okay. So what is it you want to solve?
 
user92578
A way to call the correct Collide() method based on not the current type of the "bulletCircleOrWhatever" in this case, but the actual type of the object
 
user4704
Double dispatch is a typical method of doing that.
 
user4704
While it's a typical academic example, I'd rather avoid the issue outright and choose a different design for bounding objects and collision.
 
user4704
One that does not involve virtual methods on every collision check (and thus double-dispatch, which adds an extra level of indirection).
 
user92578
3:42 PM
While I'm reading about how I'd use double dispatch, I also thought about fixing it with a type enum and casting to a correct type.
 
user92578
But I guess this is not that good: pastebin.com/VwiUytrf
 
user92578
...than using either double dispatch or avoiding the problem?
 
user4704
Type-switching like that is less than ideal.
 
what is the ideal way to resolve collisions?
 
user92578
...with multiple collision geometry types
 
user92578
3:49 PM
That's pretty much the question behind all this
 
user4704
Avoid many collision geometry types.
 
user4704
Or at least avoid testing them against eachother.
 
user92578
I can't be the only one with a need for both boxes and circles
 
user92578
Stored in a uniform matter
 
user4704
Sure, but there's a couple things:
 
user4704
Double-dispatch for collision detection is predicated on the idea that you will have a many-to-many relationship between collision types, and that "many" is large or will become large over time.
 
user4704
It's preferable in that case to type-switching because it's more extensible.
 
user4704
But in practice you can get away with far fewer collision primitives.
 
user4704
In which case you can say that you understand the maintainability risks of type-switching and just do it.
 
user4704
Or opt for a system where you, for example, only do collision tests between same shapes, or do them that way but in a hierarchy of increases accuracy, et cetera.
 
user4704
3:52 PM
(depending on the needs of your game)
 
user92578
I understand the maintainability risks of type-switching, and I'm suggesting that someone will shout at me when I months from now come with some annoying maintaining problem with the type-switching system.
 
user4704
Yea, they will.
 
user4704
It's a fact of life.
 
user4704
Sometimes people "shout at me" for using bare pointers and I have to explain to them why std::shared_ptr is a shit default choice.
 
user4704
But that's a digression.
 
user4704
3:54 PM
Once you understand the concept between double-dispatch you can optimize a good portion of it away.
 
user4704
You can contrive, for example, a set of flags that represent the collision type used by a thing.
 
user4704
A bitwise or mathematical combination of those flags can create an index into a table referring to the appropriate collision resolution routine.
 
user4704
This reduces the cost back to a single indirection.
 
user4704
Further, I've found it useful to put collision tests into actual types.
 
user4704
Such that there is a "LineCircleCollision" class or similar.
 
user4704
3:57 PM
This can let you store certain aspects of some computations that you will repeat, thus avoiding repeated work. You can simply store the appropriate object in the appropriate slot in the "table" (typically just a switch, at this point)
 
user4704
You can then further optimize this by trying, if it doesn't otherwise impact the rest of your logic, to sort collision checks so objects with the same bitwise combination of collision primitves are all checked first
 
user92578
Suddenly:
 
user92578
 
user92578
@JoshPetrie Aight, I've got all that copied to a text file for later use :)
 
Pip
Such answer
0
A: I want to blit a standing man on pygame

PipYour problem here is that you are re-initializing the running_man variable inside of the while loop to zero every single frame. I suggest moving it to the outside of the loop so that it is only initialized once. Another problem that I see right off of the bat is that your event loop is inside o...

I haven't used pygame in FOREVER
Can't believe that I actually remember how it works
@Tyyppi_77 lol
 
Jon
4:18 PM
gotta love it when specs are wrong
throws an entire project off its bearing
This guy is really good with vectors
 
Jon
4:36 PM
anyone else wanna see the new star wars?
 
I'll admit that seeing Solo and Chewbacca at the end of that trailer gave me goosebumps.
 
Jon
hell yeah, the the falcon flying into the debris
shieeeeeettt
made me feel like they might really not mess it up, and bring it back to its roots
me and my son were talking this morning, about the possibility of a sith chewbacca
 
I'm hopeful. J.J. Abrams has a fairly solid track record...but, then, so did Lucas.
 
Jon
Lucas peaked and then he continued making movies after
imo lucas did a really great move selling everything, he's done :)
 
lucas did not have a good track record
howard the duck
indiana jones 2
 
Jon
4:44 PM
howard the duck was awesome
 
I think the merchandising got away from him...the original trilogy was targeted at adults, while the prequels were targeted at kids
 
Jon
indiana jones and the temple of doom was awesome
 
return of the jedi kids
fuck that shit
ewoks
 
Jon
return of the jedi was awesome
ewoks were awesome
 
parts of it were awesome
ewoks can fuck right off
 
Jon
4:44 PM
lol
ewok can suck my balls i agree
 
Almo's also afraid of chihuahuas.
(ok, maybe not)
(but they freak me out)
 
I didn't realize that my raspberrypi was still logged in :)
 
00:00 - 17:0018:00 - 00:00

« first day (1716 days earlier)      last day (3306 days later) »