Switch to DuckDuckGo Search
   May 13, 2018  
< | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | >

Toggle Join/Part | bottom
[00:19:50] *** bryan` <bryan`!bryan`@gateway/vpn/privateinternetaccess/bryan/x-44341077> has quit IRC (Remote host closed the connection)
[00:21:18] *** cnidario <cnidario!~dont@cli-5b7ec28e.ast.adamo.es> has quit IRC (Remote host closed the connection)
[00:22:47] *** Xoppa <Xoppa!~Xoppa@5468961A.cm-12-1c.dynamic.ziggo.nl> has quit IRC (Quit: Leaving)
[00:43:52] *** blahblah <blahblah!~bigtest@78.192.105.72> has quit IRC (Ping timeout: 256 seconds)
[01:30:32] *** codi^r <codi^r!~CoDi@ip4d179dca.dynamic.kabel-deutschland.de> has quit IRC (Quit: Gone to sleep. ZZZzzz…)
[01:52:02] <bhldev> do we have utility to convert java.util.map to libgdx objectmap ?
[01:52:23] <TEttinger> not sure there's much reason to?
[01:53:25] <TEttinger> I've so far only benchmarked insertion, but the GDX hashed collections aren't anything too special on that task
[01:54:01] <TEttinger> they use less memory, but if you have a Map then use that, rather than copying
[01:55:25] <TEttinger> it's kinda annoying that ObjectMap doesn't implement any standard interface
[01:59:40] <AsukaLSoryu> If you wanted to get a darkening effect like in this example https://sr.ht/R6dw.jpg, would you implement that with an overlay or would it be easier to do directly through the orthogonalcamera?
[02:01:08] <AsukaLSoryu> from my research it looks like you can make a second camera and have the light to dark fade, but I don't know how well it would sync up if I decided to implement interpolation
[02:09:59] <TEttinger> not sure what a second camera would do there, I think multiple cameras are really weird and don't affect light/color anyway
[02:10:49] <TEttinger> I've used them but they're just hard to get working
[02:11:23] <TEttinger> I think an overlay in the UI layer might be easiest
[02:11:37] <TEttinger> since UI is always in the same place on thee screen
[02:12:01] <TEttinger> transparency gradient ahoy!
[02:14:35] <AsukaLSoryu> UI being the map?
[02:14:39] <AsukaLSoryu> like, add another map?
[02:14:42] <AsukaLSoryu> or layer to the map?
[02:16:47] <TEttinger> no, the user interface
[02:16:52] <TEttinger> there's a text box there
[02:17:06] <TEttinger> usually people use Stage in scene2d for UI
[02:17:39] <AsukaLSoryu> A text box where?
[02:17:46] <TEttinger> in your screenshot
[02:17:47] <AsukaLSoryu> I'll look into scene2d though, thanks
[02:17:51] <AsukaLSoryu> ohhh
[02:18:12] <AsukaLSoryu> so have scene2d rendering overtop of everything all the time
[02:18:23] <AsukaLSoryu> and have that transparency gradient generated
[02:18:25] <TEttinger> yep, that's pretty common. even if nothing's shown
[02:18:47] <TEttinger> probably an image saved in an image editor. it could be 1px tall and stretched
[02:18:53] <AsukaLSoryu> sweet. That would also solve my problem of figuring out how to make a pause menu/dialog box
[02:19:31] <AsukaLSoryu> The transparency gradient?
[02:19:57] <AsukaLSoryu> wouldn't making a premade filter not work if you change resolutions/screen size/etc...
[02:20:17] <TEttinger> it can still stretch
[02:20:46] <TEttinger> you could also make one with pixmap at runtime
[02:21:01] <TEttinger> which also only needs to be one pixel tall
[02:21:46] <AsukaLSoryu> I don't see how I could make that fade from one pixel
[02:22:00] <TEttinger> one tall, not wide
[02:22:02] <AsukaLSoryu> if you stretched it, it would be the same all across the screen right?
[02:22:17] <AsukaLSoryu> even so, I don't see how it would work
[02:22:31] <TEttinger> look at your screenshot...
[02:23:22] <TEttinger> if there's a thin line going from solid black on the left to partly-transparent black in the middle to clear on the right, you could stretch that all the way from the top left to bottom left
[02:24:23] <TEttinger> it could be 100 wide and 1 tall as a texture, and rendered to 100 wide and as tall as the screen
[02:24:45] <AsukaLSoryu> but the transparency values change depending on how far away it is from the sprite
[02:24:59] <AsukaLSoryu> here's a crude diagram of what I mean https://sr.ht/mcE3.png
[02:25:17] <TEttinger> huh, I didn't see that and still don't see it in the screen...
[02:25:20] <AsukaLSoryu> if you stretched one pixel across the screen, it wouldn't change transparency values
[02:25:20] <TEttinger> it could be there
[02:25:54] <TEttinger> the screenshot only shows it on the left side, so I thought it was used to fade the left and right sides
[02:26:12] <TEttinger> if it's a circle of fading light, that's interesting
[02:26:15] <AsukaLSoryu> oh, my bad
[02:26:18] <AsukaLSoryu> it's supposed to be a circle
[02:26:34] <AsukaLSoryu> it's supposed to be like looking in a dark room
[02:26:40] <AsukaLSoryu> you can only see so far around you
[02:26:57] <TEttinger> some games with atmospheric light have objects block lighting and cast shadows, which is, uh, a little harder to implement
[02:28:48] <AsukaLSoryu> here's a better example I just recorded https://sr.ht/NBmX.mp4
[02:29:12] <AsukaLSoryu> I can convert to webm if your browser doesn't support mp4 embed
[02:29:42] <AsukaLSoryu> see what I mean by the circle fade out though? it seems tricky
[02:30:02] <AsukaLSoryu> I can't see getting the flicker effect through a static overlay image
[02:30:04] <TEttinger> it sounds like this is mostly a "bright in center, darkening in an expanding circle, black at edges" type of situation. that could be done quick-and-dirty with a stretched medium-resolution circular gradient as a big square, and you could use a bigger gradient texture if you only used a quarter-circle and flipped it on x, on y, and on both to get the 4 rotations
[02:30:13] <TEttinger> oh there's a flicker
[02:30:20] <TEttinger> shaders
[02:31:44] <TEttinger> dynamic effects like this usually use shaders or cycle through a seris of overlays
[02:32:04] <TEttinger> with this you could actually just randomly choose a size of overlay
[02:32:25] <TEttinger> or randomly stretch the overlay square bigger or smaller
[02:33:21] <TEttinger> normally shaders are cheaper, but if there's only so many possible shapes the overlay can have, then it becomes very easy for the computer to draw it
[02:33:37] <TEttinger> also easier to code
[02:33:48] <AsukaLSoryu> shaders sound more difficult than cycling through some pictures
[02:33:53] <TEttinger> yes
[02:34:11] <TEttinger> cycling, especially randomly, would make it look how you have it in that video I think
[02:34:25] <TEttinger> that could be how they did it, depending on the console
[02:34:44] <AsukaLSoryu> that was made for the PSP
[02:34:45] <TEttinger> like the GBA couldn't possibly handle shaders
[02:35:00] <TEttinger> PSP might handle a little, I don't know
[02:35:35] <TEttinger> computers today are extremely fast at computing shaders for every pixel, but the PSP probably was not at all fast at it
[02:36:07] <TEttinger> so that effect could easily have been a randomly chosen image
[02:36:51] <AsukaLSoryu> I honestly know nothing about shaders, so it would probably be the least painful to do that
[02:36:53] <AsukaLSoryu> what do you think though
[02:46:13] <TEttinger> I think randomly choosing an image should be good for that effct
[02:46:42] <TEttinger> it would help to learn shaders but it isn't exactly the easiest thing and there's bigger stuff to do
[02:47:15] <TEttinger> shaders use their own language, GLSL, and libGDX uses the GLSL ES 2.0 variety usually
[02:47:33] <TEttinger> there are so many weird quirks of GLSL not being the same as GLSL ES...
[02:48:19] <TEttinger> I've written a little bit of shader code, which is all most applications need
[03:46:26] *** mutilator <mutilator!muti@c-73-144-231-9.hsd1.mi.comcast.net> has joined #libgdx
[04:35:05] <AsukaLSoryu> this is the most tedious thing I've had to do over this entire project
[04:35:41] <AsukaLSoryu> drawing pixel perfect frames < actually programming
[04:59:02] <FattyOwl> most of the time when you're programming, you're probably making a mistake
[05:05:20] *** DB219 <DB219!4344a212@gateway/web/freenode/ip.67.68.162.18> has joined #libgdx
[05:08:46] <grim001> people are talking about shaders and I almost missed the conversation
[05:11:45] <grim001> AsukaLSoryu, you're just looking for a vignette effect
[05:12:09] <AsukaLSoryu> sounds fancy
[05:12:27] <grim001> best way is a shader, which is worthwhile to learn for the long term benefit of your project. otherwise you can overlay a simple vignette image onto your screen but you'll have less control
[05:12:52] <grim001> also, what is this about drawing pixel perfect frames
[05:12:59] <AsukaLSoryu> I'll look up some shader tutorials because making vignette images sucks
[05:14:05] <AsukaLSoryu> I was making 10 frames of a 640x480 overlay, where I was going through the entire thing pixel by pixel and inserting different levels of opaque #000000
[05:14:15] <AsukaLSoryu> depending on how close I was to the center
[05:14:24] <grim001> libgdx should make it relatively painless to apply shaders to a sprite batch
[05:14:37] <grim001> if you want an animated vignette, that's always going to look shitty unless it's shader-controlled
[05:16:56] <grim001> is this vignette supposed to simulate the player using a light source of some kind?
[05:17:21] <AsukaLSoryu> Kind of. It's supposed to represent visibility in a dark room
[05:17:31] <AsukaLSoryu> I guess the player would be the light source?
[05:17:37] <AsukaLSoryu> even though there is no light
[05:17:58] <grim001> yeah, you can use it pretty well for a purpose like that
[05:18:25] <AsukaLSoryu> oh nooooo
[05:18:33] <AsukaLSoryu> this tutorial is talking about interpolation for the shader
[05:18:48] <AsukaLSoryu> I just spent 4 months unsuccessfully trying to implement interpolation to my sprite
[05:18:57] <AsukaLSoryu> I ended up just giving up
[05:19:09] <grim001> what do you mean by interpolation in your sprite
[05:19:25] <grim001> interpolation between frames of animation?
[05:19:28] <grim001> i.e. crossfading?
[05:21:21] <AsukaLSoryu> no, interpolating position between X and X'
[05:22:21] <grim001> you mean... movement?
[05:22:39] <AsukaLSoryu> I guess? smooth movement
[05:22:59] <grim001> so what do you have now? teleportation-based movement?
[05:23:14] <AsukaLSoryu> yeah :( I never could figure out smooth movement
[05:23:50] <grim001> you might want to invest some time into studying the basics of vector math, it is essential to doing anything that isn't incredibly basic with a game
[05:24:17] <AsukaLSoryu> https://sr.ht/WBBT.webm
[05:24:23] <AsukaLSoryu> what I mean by not smooth
[05:24:51] <grim001> yeah, that hurts to look at
[05:25:02] <grim001> the artwork is nice though
[05:25:55] <AsukaLSoryu> I can get it to not do that, but the trade off is that it doesn't fully move
[05:26:00] <AsukaLSoryu> which breaks my collision detection
[05:26:50] <grim001> and why would it not fully move
[05:27:19] <AsukaLSoryu> something is wrong with my math, I'm not a math major!
[05:27:30] <AsukaLSoryu> https://sr.ht/ACyf.webm
[05:27:37] <grim001> this is algebra 1 level stuff
[05:28:04] <AsukaLSoryu> I'm certain it's something with my progress check line that I wrote
[05:28:29] <grim001> it looks like you know how to make it move, you just don't have a good algorithm for figuring out when the movement is complete
[05:29:02] <AsukaLSoryu> possibly
[05:29:23] <AsukaLSoryu> interpolation confused me a lot, which is why I never made any progress
[05:29:37] <grim001> ok, then you have a math problem first
[05:29:47] <AsukaLSoryu> I'm pretty sure it's this https://github.com/TomokoK/libGDX-CorpseParty-Clone/blob/master/core/src/com/groupofseven/model/Player.java#L136
[05:29:57] <grim001> I'm going to be honest for a second
[05:30:05] <grim001> if you can't understand this level of math, you can't make a game
[05:30:12] <grim001> and a child can understand this level of math
[05:30:21] <grim001> so put some effort into learning the basics
[05:31:16] <grim001> as far as the algorithm itself goes... you're checking for quality on a floating point value
[05:32:03] <grim001> it is very unlikely your interpolation will result in the player landing on that exact spot if you're using delta time
[05:32:13] <grim001> *checking for equality
[05:35:25] *** DB219 <DB219!4344a212@gateway/web/freenode/ip.67.68.162.18> has quit IRC (Ping timeout: 260 seconds)
[06:04:13] *** cackling_ladies <cackling_ladies!~cackling_@171.253.112.55> has joined #libgdx
[06:09:18] <AsukaLSoryu> holy shit I did it
[06:09:38] <AsukaLSoryu> kind of
[06:11:23] <AsukaLSoryu> I just need to figure out how to get the sprite to move 24px instead of completely stopping when I let go of the key
[06:42:08] *** []J <[]J!~Z@115.63.169.215> has quit IRC (Ping timeout: 256 seconds)
[07:04:22] *** jayhost <jayhost!~ian@c-174-60-11-126.hsd1.pa.comcast.net> has joined #libgdx
[07:08:47] *** mujjingun <mujjingun!uid228218@gateway/web/irccloud.com/x-nqtlkpfiptqwpsdb> has joined #libgdx
[07:10:26] *** []J <[]J!~Z@115.63.175.201> has joined #libgdx
[07:14:24] *** OtakuSenpai <OtakuSenpai!~OtakuSenp@117.194.193.8> has joined #libgdx
[07:28:28] <jayhost> What's ne.w
[08:14:33] <TEttinger> hey hey
[08:14:56] <TEttinger> happy with this RNG, it's still scorching a path of ruin
[08:18:13] <TEttinger> I'm running a test on it that's going through 5.3 to 5.5 TB per hour; the former fastest RNG I've found fails it at 8TB, mine has succeeded at at least 30TB
[08:19:08] <TEttinger> vigna changed a bunch of stuff on his site but mostly by recommending slower RNGs. guess who went the other way
[08:20:04] <TEttinger> what's new with you jayhost?
[08:53:18] *** jayhost <jayhost!~ian@c-174-60-11-126.hsd1.pa.comcast.net> has quit IRC (Read error: Connection reset by peer)
[08:53:56] <cackling_ladies> TB?
[08:54:01] <cackling_ladies> as in terabyte?
[08:54:07] <TEttinger> yes
[08:54:14] <TEttinger> it's done 40TB
[08:54:21] <cackling_ladies> 40TB of what tho
[08:54:39] <TEttinger> random numbers, it generates, gets stats, and immediately discards
[08:54:51] <TEttinger> so I don't have 40TB of RAM
[08:54:53] <cackling_ladies> how big is one such random number?
[08:54:57] <TEttinger> 8 bytes
[08:55:27] <cackling_ladies> so that's around 5 trillions number generatated
[08:55:31] <TEttinger> yep
[08:55:38] <cackling_ladies> over how long?
[08:55:41] <TEttinger> it's a pretty fast test and generator
[08:56:01] <TEttinger> "2.69e+04 seconds"
[08:56:19] <cackling_ladies> I dont quite understand that notation
[08:56:59] <myke> 7.5 hours
[08:57:02] <TEttinger> 448 minutes
[08:57:45] <TEttinger> I don't know why it uses scientific notation there... that's 26,900 minutes
[08:57:52] <TEttinger> err secnds
[08:58:07] <TEttinger> 26900 seconds is about 448 minutes is about 7 and a half hours
[08:58:18] <cackling_ladies> 186m numbers/s that's very fast
[08:59:11] <TEttinger> I have a version in Java and Rust as well as the original C. I haven't benchmarked C really since it can probably be written better, but the Rust (which i am super noob at) was 7x faster than Java
[08:59:11] <cackling_ladies> does your ram use sawtooth?
[08:59:24] <TEttinger> no idea, DDR4
[09:00:02] <cackling_ladies> it's more of a thing with the garbage collector, which probably cause it to sawtooth regardless of ram speed
[09:00:22] <TEttinger> not sure, C and Rust don't have garbage collectors
[09:00:43] <TEttinger> I don't allocate new objects in the benchmark loops
[09:01:08] <TEttinger> Rust is runnable online which is nice https://play.rust-lang.org/?version=nightly&mode=release
[09:01:32] <TEttinger> shows the time in ns to generate 20 billion 64-bit numbers, then the last result to verify
[09:01:35] <cackling_ladies> java primitives are immutable tho, so you keep generating new copies regardless
[09:01:57] <TEttinger> they're heap primitives, there's nothing to copy or references to GC
[09:02:12] <TEttinger> err was it stack
[09:02:26] <TEttinger> primitives are treated differently from objects
[09:02:34] *** SuckyNoob <SuckyNoob!~SuckyNoob@2607:fea8:7d1f:fd54:add4:69e5:c9ad:3d94> has joined #libgdx
[09:02:36] <TEttinger> I'm not making new references
[09:03:57] <TEttinger> if you're avoiding primitives for performance reasons you are doing it very wrong
[09:04:25] *** cackling_grandma <cackling_grandma!~cackling_@171.253.112.55> has joined #libgdx
[09:04:48] <cackling_grandma> hmm looks like some fundaments have been lost to me
[09:07:53] *** cackling_ladies <cackling_ladies!~cackling_@171.253.112.55> has quit IRC (Ping timeout: 265 seconds)
[09:10:09] <TEttinger> it's a really confusing topic in general, as evidenced by my confusion of stack and heap
[09:11:23] <TEttinger> but primitives like int are massively faster than boxed numbers like Integer, even though they can convert relatively quickly compared to how they used to be in older Java versions
[09:11:48] <TEttinger> something like 10x to 100x faster to add or multiply ints than Integers
[09:12:02] <TEttinger> it's why libGDX has IntArray and IntIntMap
[09:13:33] *** ariejan <ariejan!~ariejan@2a02:a456:8ad:1:9cf2:87d8:704:38ba> has joined #libgdx
[09:13:44] <TEttinger> not all languages even have the concept of primitives being different from objects. C# has something like it where int and float and all those are defined as structs, and structs act like primitives in Java
[09:13:52] <TEttinger> not exactly, I think
[09:14:02] <bomb> sir, you're truly active 24 hours a day :)
[09:14:34] <TEttinger> hahaa. I will sleep a normal human timespan in approximately 2 hours
[09:15:17] <bomb> that sounds wonderful!
[09:16:45] <cackling_grandma> and then you wake up one day late
[09:17:13] <TEttinger> C++ has uh more stuff going on and it's confusing. you can have a reference to any variable, and that reference acts like a Java object does. you can also have a pointer, which is an ordinary int in C++ but has the position in memory of another variable, and arrays are just pointers
[09:18:10] <cackling_grandma> c++ reference afaik is an analogue of assembly pointer
[09:19:59] <TEttinger> but C and C++ have no GC and you are free to do: unsigned long long counter = 0ULL; for(; counter < 4000000000ULL; counter++) {} printf("%d", counter);
[09:20:17] <TEttinger> and that will print 4000000000 and not use up 4 billion numbers of memory
[09:25:37] <cackling_grandma> sorry I do not understand any of that
[09:42:10] *** SuckyNoob <SuckyNoob!~SuckyNoob@2607:fea8:7d1f:fd54:add4:69e5:c9ad:3d94> has quit IRC (Quit: Leaving)
[09:59:44] <TEttinger> oh, it loops from 0 to 4 billion but it doesn't need to GC 4 billion numbers
[10:00:02] <TEttinger> because numbers don't do that
[10:00:30] <[twisti]> well, thats no different than java though
[10:15:19] *** codi^r <codi^r!~CoDi@ip4d179dca.dynamic.kabel-deutschland.de> has joined #libgdx
[10:21:54] <grim001> I would be more concerned about the string generation in that loop
[10:22:18] <[twisti]> there is no string generation in the loop
[10:23:12] <grim001> if you're printing floats...
[10:23:22] <[twisti]> there is no printing in the loop
[10:23:25] <[twisti]> look closer
[10:23:37] <[twisti]> the loop is empty, the print only happens once, after the loop is finished
[10:23:46] <grim001> alright then, I misread it
[10:25:37] <TEttinger> :D
[10:25:58] <TEttinger> yeah printf apparently has very messy internals
[10:26:13] <TEttinger> I suppose that's why GWT doesn't bother with it
[10:27:13] <TEttinger> [twisti]: yeah exactly, there was some confusion about whether ints would need GC
[10:27:34] <TEttinger> I think they exist the stack after their scope ends, not sure
[10:28:06] <[twisti]> still, that code doesnt create more than 1 int
[10:29:28] <TEttinger> the idea was that since ints are immutable, which they are, they were being copied
[10:31:20] <[twisti]> thats a weird idea. why would ints be immutable ? are you talking about a different language from java ?
[10:31:37] <TEttinger> no,I mean you can't make 1000 a different valu
[10:31:52] <[twisti]> no, but you can make an int a different value
[10:32:04] <[twisti]> are you mixing up int with Integer ?
[10:32:12] <[twisti]> because Integer is actually immutable
[10:32:15] <TEttinger> no, I am referring to the int values
[10:32:22] <TEttinger> eh?
[10:32:31] <TEttinger> Integer x = 10; x = 20; should work
[10:32:46] <[twisti]> right, but that creates a new Integer, and replaces the old reference
[10:33:10] <TEttinger> same as int, it's just that int doesn't need references
[10:33:10] <[twisti]> Integer x = 10; Integer y = x; Integer x = 20; // y will still be 10
[10:33:18] <[twisti]> no, ints are mutable
[10:33:34] <TEttinger> the values are immutable, the variables aren;t
[10:33:36] <[twisti]> int x = 10; x = 20; does not create a new int
[10:34:00] <[twisti]> saying values are immutable has no meaning
[10:34:06] <[twisti]> are you trolling me bro
[10:34:20] <TEttinger> ok, a List can have a value
[10:34:25] <TEttinger> say an ArrayList
[10:35:42] <TEttinger> and that ArrayList has an identity, which is the reference to that ArrayList in particular, and a state, such as holding "u mad", "bro", where the state has a current value
[10:36:20] <TEttinger> so that value can't change, but the state can by adding or removing stuff, and the reference can't change but can become garbage
[10:36:37] *** ariejan <ariejan!~ariejan@2a02:a456:8ad:1:9cf2:87d8:704:38ba> has quit IRC (Quit: My MacBook has gone to sleep. ZZZzzz…)
[10:36:57] <[twisti]> (actually, as an aside, the jvm is free to move references around)
[10:37:04] <TEttinger> oh neat
[10:37:17] <[twisti]> also, while its true that Strings in particular are immutable, many other objects can have values that can change
[10:37:20] <TEttinger> but they'll still be thesame iddentity
[10:37:23] <[twisti]> i.e. a list of PointS
[10:37:33] <[twisti]> yes
[10:37:33] <TEttinger> I'd refer to that as the state
[10:38:14] <TEttinger> the value of a Point might be x=10, y=20 , and its state could be that value at one point in time and change to be a different value later
[10:38:35] <TEttinger> but yeah a String doesn't have a state that changes
[10:38:41] <[twisti]> ok, im not sure where you are going with this. the point is, the code "int i = 0; for (;i < Integer.MAX_VALUE; i++) {}" has one int-sized memory slot, and that slots value gets set over and over
[10:39:07] <[twisti]> there is no garbage collection involved, nor creating of new ints
[10:39:26] <TEttinger> [twisti]: I was trying to explain what you are saying to cackling_whatever
[10:39:53] <TEttinger> the said "java primitives are immutable tho, so you keep generating new copies regardless"
[10:40:13] <TEttinger> and I was trying to figure out which parts of that are correct and which aren't
[10:40:28] <[twisti]> ah ok
[10:40:43] <[twisti]> well, ill go ahead and say 'all parts of that are incorrect'
[10:40:45] <TEttinger> GC was just before that
[10:40:46] <TEttinger> hehe
[10:41:23] <[twisti]> you could make immutable primitives, by the way, by marking them final
[10:41:34] <TEttinger> but an important thing to note is that a final int is immutable but a final ArrayList is not
[10:41:55] <TEttinger> a final ArrayList can be changed all you want as long as the reference is the same
[10:42:14] <[twisti]> ish
[10:42:46] <[twisti]> the way to make something like an ArrayList immutable would be to wrap it with an ImmutableList wrapper
[10:42:59] <[twisti]> which of course still says nothing about its contents, which may or may not be mutable
[10:45:42] <TEttinger> hehe I have absolutely hit this hurdle before
[10:46:13] <TEttinger> first time was in C# with the then-new shiny .NET immutable classes
[10:46:17] <[twisti]> immutability is pretty awesome, especially when you get into multithreading
[10:46:35] <TEttinger> yep, also pooling/caching
[10:46:58] <[twisti]> for pooling its sort of a double edged sword
[10:47:41] <TEttinger> if you have a limited set of possible objects that can be pooled...
[10:47:46] <[twisti]> if you have a low amount of states, its neat, but if you have near infinite states, youre better off with a pooled mutable thing where you can reuse the object by updating its state
[10:47:49] <[twisti]> hah
[10:47:50] <TEttinger> yes
[10:48:01] <[twisti]> in germany, we say "one thought between two idiots"
[10:48:11] <[twisti]> ("zwei dumme, ein gedanke")
[10:48:33] <TEttinger> two dummies, one thinking?
[10:48:37] <[twisti]> yes
[10:48:45] <[twisti]> one thought
[10:48:57] <TEttinger> gedakedank
[10:48:59] <[twisti]> denken = thinking, gedanke = (one) thought
[10:49:01] <TEttinger> gedankedank
[10:49:06] <Oddmonger> zwei dummies , kein danke
[10:49:06] <[twisti]> gedanken = thoughts
[10:49:23] <TEttinger> badonkadonk = ?
[10:49:35] <[twisti]> sex, i think ?
[10:49:48] <TEttinger> "nice butt"
[10:49:56] <[twisti]> oh ok
[10:50:03] <[twisti]> thats not a german thing though
[10:50:06] <TEttinger> no
[10:50:12] <TEttinger> germans are assless
[10:50:20] <[twisti]> (we dont have a word for 'nice butt', because german women dont have nice asses)
[10:50:54] <TEttinger> hein der fraulein
[10:52:46] <TEttinger> weltschmerz is supposed to be one of those un-translatable words from German, where any other language has it not mean the whole thing
[10:53:15] <TEttinger> "sad nostalgia"
[10:53:50] <[twisti]> the world has in the past few years gotten kind of excited about german words that dont translate, but its the other way around too
[10:54:14] <[twisti]> nostalgia, for example, doesnt translate either
[10:54:38] <[twisti]> we have 'Nostalgie', but thats not the same, the meaning is distinctly different
[10:55:27] <[twisti]> languages rarely overlap 100% in the meanings of their words
[10:56:31] <TEttinger> it's neat
[10:56:45] <TEttinger> time to learn more languages, puta
[10:58:33] <TEttinger> andale, conchadores! caballamos ayende!
[11:07:00] <[twisti]> i am, in fact, currently learning spanish
[11:07:46] <[twisti]> only had 5 classes yet though, so im not really capable of anything more than 'que tal' and 'donde eres'
[11:35:01] <TEttinger> callete!
[11:55:17] <bomb> since Azul Zulu is certified OpenJDK build, it has to contain Swing, right?
[11:55:22] <bomb> i mean, even on ARM?
[12:27:52] *** blahblah <blahblah!~bigtest@78.192.105.72> has joined #libgdx
[12:54:14] *** mujjingun <mujjingun!uid228218@gateway/web/irccloud.com/x-nqtlkpfiptqwpsdb> has quit IRC (Quit: Connection closed for inactivity)
[13:32:42] <bomb> hmm https://adoptopenjdk.net/
[13:40:38] <cackling_grandma> ye seen that
[13:42:04] <grim001> looks like making an anti-bloom effect won't be nearly as easy as I hoped
[13:43:06] <grim001> almost everything breaks with negative color values in physically based formulas or blending, and even if it doesn't break it looks gross
[13:44:01] <grim001> only proper way to do this will be to track it as a completely separate effect produced by a new shader plugin and rendered to a new render target
[13:45:08] *** codi^r <codi^r!~CoDi@ip4d179dca.dynamic.kabel-deutschland.de> has quit IRC (Quit: Gone to sleep. ZZZzzz…)
[13:45:45] <grim001> track the "darkness values" produced by objects as they're rendered, do a guassian blur, interpret the value in the end as the intensity of a multiplicative darkening effect
[13:46:27] <grim001> so fairly heavy performance cost, but I can turn it all off when no "darkness producing" objects are onscreen
[14:01:32] *** codi^r <codi^r!~CoDi@ip4d179dca.dynamic.kabel-deutschland.de> has joined #libgdx
[14:27:51] *** Agnel <Agnel!cbd4dc7e@gateway/web/cgi-irc/kiwiirc.com/ip.203.212.220.126> has joined #libgdx
[14:28:19] <Agnel> Hey Guys!
[14:29:26] <bomb> hi
[14:32:16] <Agnel> I am using behavior trees to run tasks. I wrapped a sequence task in a repeater and I set it to repeat 3 times. But it only executes once and then moves on.
[14:33:07] <Agnel> I will share the code
[14:33:19] *** Xoppa <Xoppa!~Xoppa@5468961A.cm-12-1c.dynamic.ziggo.nl> has joined #libgdx
[14:33:19] *** ChanServ sets mode: +o Xoppa
[14:33:37] <Agnel> https://thepasteb.in/p/3lh7PY5LmP6F1
[14:39:22] *** Agnel1 <Agnel1!cbd4dc7e@gateway/web/cgi-irc/kiwiirc.com/ip.203.212.220.126> has joined #libgdx
[14:39:44] *** Agnel <Agnel!cbd4dc7e@gateway/web/cgi-irc/kiwiirc.com/ip.203.212.220.126> has quit IRC (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
[14:43:33] *** Agnel1 is now known as Agnel
[14:44:55] <Agnel> I dont know what I did wrong. I added the IntegerDistribution and the sequence task to the wrapper. I tried calling repeater.start() too but it didn't work
[14:52:41] *** dsbk <dsbk!~Bokudesu@79-69-48-194.dynamic.dsl.as9105.com> has joined #libgdx
[14:53:12] *** dsbk <dsbk!~Bokudesu@79-69-48-194.dynamic.dsl.as9105.com> has quit IRC (Client Quit)
[15:01:05] *** hextileX <hextileX!~Thunderbi@2001-4dd7-9b8b-0-b99b-b6cd-38f6-605.ipv6dyn.netcologne.de> has joined #libgdx
[15:01:46] *** hextileX <hextileX!~Thunderbi@2001-4dd7-9b8b-0-b99b-b6cd-38f6-605.ipv6dyn.netcologne.de> has quit IRC (Client Quit)
[15:26:16] *** megasoft78 <megasoft78!~megasoft7@net-109-115-245-121.cust.vodafonedsl.it> has joined #libgdx
[15:32:47] *** ariejan <ariejan!~ariejan@2a02:a456:8ad:1:88df:4c79:af59:9a97> has joined #libgdx
[16:15:59] <megasoft78> hi guys, anyone working on exporting libgdx game to Google Play Instant?
[16:16:23] <megasoft78> https://developer.android.com/topic/google-play-instant/getting-started/game-instant-app
[16:16:27] <Tomski> yup
[16:16:39] <megasoft78> Hi Tomski
[16:16:43] <megasoft78> any success?
[16:16:44] <Tomski> howdy
[16:17:02] <Tomski> yup
[16:17:15] <megasoft78> Can you share with me
[16:17:16] <megasoft78> ?
[16:17:35] <megasoft78> I'm looking to export my games
[16:17:43] <Tomski> I cant share the project
[16:17:55] <Tomski> What problems are you having?
[16:19:33] <megasoft78> I'm not an expert with gradle
[16:19:48] <megasoft78> if you can share the project you'll help me a lot
[16:19:52] <Tomski> I cant
[16:22:10] <megasoft78> I need just an empty libgdx project with the Instant Play configured
[16:22:34] <megasoft78> the main problems I'm experiencing are about gradle
[16:23:19] <megasoft78> Are you able to share just the basic gradle configuration
[16:23:34] <megasoft78> or just the changes you made to the default libgdx configuration?
[16:23:41] <Tomski> Its not a default project
[16:23:57] <Tomski> You can make one, follow guide to convert existing game to an instant app
[16:25:06] <megasoft78> that's what I'm trying to do
[16:25:16] <megasoft78> Do I need multiple gradle?
[16:25:28] <Tomski> what do you mean?
[16:25:50] <megasoft78> I mean in the documentation talk about apply multiple plugin
[16:26:02] <megasoft78> base, feature and instantapp
[16:26:14] <megasoft78> but libgdx has just one gradle
[16:28:33] <Tomski> The structure is mostly different, you will want to separate and add a module for the instant flavour
[16:28:44] <Tomski> I just use
[16:28:45] <Tomski> com.android.instantapp
[16:30:26] <Tomski> megasoft78: check out these https://github.com/googlesamples/android-instant-apps
[16:31:28] <megasoft78> is instantapp alone enough?
[16:31:38] <megasoft78> without base and feature at all?
[16:32:10] <Tomski> You need to separate it from the main app
[16:32:40] <Tomski> if you want to deploy anyway
[16:33:03] <megasoft78> this mean on libgdx project I use android module as base?
[16:33:23] <megasoft78> and create 2 modules one for installed and on for instantapp?
[16:40:02] *** ariejan <ariejan!~ariejan@2a02:a456:8ad:1:88df:4c79:af59:9a97> has quit IRC (Quit: My MacBook has gone to sleep. ZZZzzz…)
[16:44:49] <Tomski> megasoft78: yeah, thats one way
[16:45:29] *** ariejan <ariejan!~ariejan@2a02:a456:8ad:1:88df:4c79:af59:9a97> has joined #libgdx
[16:45:35] <megasoft78> Tomski : have you did that way? Are you using latest gradle 4.4?
[16:45:59] <Tomski> im using 4.6
[16:46:02] *** ariejan <ariejan!~ariejan@2a02:a456:8ad:1:88df:4c79:af59:9a97> has quit IRC (Client Quit)
[16:46:16] <Tomski> And yes
[16:47:27] <megasoft78> good, let me try :)
[16:53:59] *** jwinterm <jwinterm!~quassel@unaffiliated/jwinterm> has quit IRC (Ping timeout: 276 seconds)
[16:58:23] *** jwinterm <jwinterm!~quassel@unaffiliated/jwinterm> has joined #libgdx
[17:00:09] *** ariejan <ariejan!~ariejan@2a02:a456:8ad:1:88df:4c79:af59:9a97> has joined #libgdx
[17:05:29] *** arbos <arbos!~arbos@unaffiliated/arbos> has joined #libgdx
[17:18:30] *** ariejan <ariejan!~ariejan@2a02:a456:8ad:1:88df:4c79:af59:9a97> has quit IRC (Quit: My MacBook has gone to sleep. ZZZzzz…)
[17:20:16] <megasoft78> Tomski, I was able to run my game as instantapp
[17:20:28] <megasoft78> I'm having an issue with in-app
[17:20:32] <Tomski> nice
[17:20:36] <megasoft78> are you using gdxpay?
[17:21:39] <Tomski> no
[17:22:23] <megasoft78> what are you using for in-app?
[17:22:30] <Tomski> just the native apis
[17:22:36] <megasoft78> oh :(
[17:22:52] <megasoft78> could you give me an url to the api?
[17:24:52] <Tomski> for android?
[17:25:09] <Tomski> https://developer.android.com/google/play/billing/billing_overview
[17:26:13] <megasoft78> thank you ;)
[18:06:11] *** Agnel <Agnel!cbd4dc7e@gateway/web/cgi-irc/kiwiirc.com/ip.203.212.220.126> has quit IRC (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
[18:21:18] *** jwinterm <jwinterm!~quassel@unaffiliated/jwinterm> has quit IRC (Ping timeout: 265 seconds)
[18:26:23] *** jwinterm <jwinterm!~quassel@unaffiliated/jwinterm> has joined #libgdx
[18:38:06] *** cnidario <cnidario!~dont@cli-5b7ec28e.ast.adamo.es> has joined #libgdx
[18:46:11] <grim001> behold the new "shadow bloom" effect: http://i.cubeupload.com/inazla.png
[18:55:34] <FattyOwl> nice
[18:56:45] <myke> neat
[19:24:21] *** jwinterm <jwinterm!~quassel@unaffiliated/jwinterm> has quit IRC (Ping timeout: 240 seconds)
[19:44:10] *** OtakuSenpai <OtakuSenpai!~OtakuSenp@117.194.193.8> has quit IRC (Ping timeout: 264 seconds)
[19:55:33] *** cnidario <cnidario!~dont@cli-5b7ec28e.ast.adamo.es> has quit IRC (Read error: Connection reset by peer)
[20:06:18] *** ariejan <ariejan!~ariejan@2a02:a456:8ad:1:88df:4c79:af59:9a97> has joined #libgdx
[20:07:21] *** ariejan <ariejan!~ariejan@2a02:a456:8ad:1:88df:4c79:af59:9a97> has quit IRC (Client Quit)
[20:08:01] *** ariejan <ariejan!~ariejan@2a02:a456:8ad:1:88df:4c79:af59:9a97> has joined #libgdx
[20:21:27] *** jwinterm <jwinterm!~quassel@unaffiliated/jwinterm> has joined #libgdx
[20:49:32] *** cackling_grandma <cackling_grandma!~cackling_@171.253.112.55> has quit IRC (Read error: Connection reset by peer)
[20:59:59] <TEttinger> woah, grim001
[21:08:17] <TEttinger> hm, Agnel keeps leaving a little while before I can try to answer :|
[21:18:20] <Ashiren> you keep being too late as he is leaving before you react
[21:57:27] *** hextileX <hextileX!~Thunderbi@2001-4dd3-8716-0-9160-3780-891c-268e.ipv6dyn.netcologne.de> has joined #libgdx
[21:57:34] *** hextileX <hextileX!~Thunderbi@2001-4dd3-8716-0-9160-3780-891c-268e.ipv6dyn.netcologne.de> has quit IRC (Client Quit)
[21:57:52] *** ariejan <ariejan!~ariejan@2a02:a456:8ad:1:88df:4c79:af59:9a97> has quit IRC (Quit: My MacBook has gone to sleep. ZZZzzz…)
[22:50:01] *** megasoft78 <megasoft78!~megasoft7@net-109-115-245-121.cust.vodafonedsl.it> has quit IRC (Read error: Connection reset by peer)
[22:56:01] *** ariejan <ariejan!~ariejan@2a02:a456:8ad:1:88df:4c79:af59:9a97> has joined #libgdx
[23:10:19] <AsukaLSoryu> TEttinger: grim001: I DID IT
[23:10:29] <AsukaLSoryu> sprite interpolation works
[23:10:52] <AsukaLSoryu> I did it all myself, but I stayed up until 2am last night doing it, then worked for an hour just now
[23:10:59] <grim001> cool, did you figure out the math?
[23:11:02] <AsukaLSoryu> Yes
[23:11:07] <AsukaLSoryu> 4 months of work
[23:11:25] <AsukaLSoryu> it looks kind of shitty, but I think it's because of the camera interpolation
[23:12:00] <grim001> are you using delta-based everything?
[23:12:58] <AsukaLSoryu> camera isn't delta based
[23:13:01] <AsukaLSoryu> sprite is
[23:13:16] <AsukaLSoryu> https://sr.ht/XXvc.webm
[23:13:25] <grim001> if your camera stays perfectly locked onto the player there should be no jitter
[23:14:04] <AsukaLSoryu> yeah, I'll give it a try. It's not really jittery, it's just odd
[23:14:06] <AsukaLSoryu> I can't really explain it
[23:14:10] <grim001> slow down the movement a bit
[23:14:18] <grim001> you have super fast movement and then the camera catches up later
[23:14:21] <grim001> so it feels jerky
[23:15:15] <AsukaLSoryu> it's still jerky when you move slower, I'll probably change the camera
[23:16:30] <AsukaLSoryu> https://sr.ht/gnO3.webm
[23:16:32] <AsukaLSoryu> slower movement
[23:18:35] <AsukaLSoryu> no camera interpolation feels weird, but better?
[23:19:16] <AsukaLSoryu> https://sr.ht/ovdH.webm
[23:21:15] <AsukaLSoryu> I think I like the no camera interpolation one better, but something still feels off
[23:21:47] <AsukaLSoryu> kind of like my sprite is sliding on ice or something
[23:57:39] *** Xoppa <Xoppa!~Xoppa@5468961A.cm-12-1c.dynamic.ziggo.nl> has quit IRC (Quit: Leaving)
[23:57:52] *** ecv <ecv!55311905@gateway/web/cgi-irc/kiwiirc.com/ip.85.49.25.5> has quit IRC (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
top

   May 13, 2018  
< | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | >