• What are you working on? v67 - March 2017
    3,527 replies, posted
That song is hysterical.
[QUOTE=bootv2;52997085]Any chance you're open sourcing this? I'm working with beat detection to drive Rgb led strips but my current algorithm is only about 80% accurate.[/QUOTE] Babe, [url=https://github.com/DrLuke/easyShader] why don't you fork me on Github?[/url] [editline]22nd December 2017[/editline] [QUOTE=Adelle Zhu;52996864]That song is hysterical.[/QUOTE] Enjoy: [url]https://www.mixcloud.com/dj_spock/dj-spock-liveset-at-gpn17/[/url] [editline]22nd December 2017[/editline] [t]https://my.mixtape.moe/xsoivl.jpg[/t] It's hard to develop like this
[media]https://www.youtube.com/watch?v=g2Jt-vzuQuI[/media] Nice, it kinda works
Sorry for the triple post [sp]post more stuff you lazy bums[/sp], but I tweaked it a bit and found it to work pretty well on music with a very pronounced beat. It also sometimes triggers on claps, which is an unintended albeit welcome feature. [media]https://www.youtube.com/watch?v=jkdlxHVMiWg[/media] Now to prepare the actual show!
[QUOTE=DrDevil;52998590][sp]post more stuff you lazy bums[/sp][/QUOTE] its more that what I'm working on isn't really worth showing off and is completely fucking [I]exhausting[/I]. I'm dealing with a performance bug from hell. After ~3500 seconds of simulation time, my simulation begins to slow down and experience hitches. At this time, the calculated data also goes haywire. [t]https://i.imgur.com/7gTLUJ8.png[/t] Given that the slowdowns are uniform in length, Tamschi pointed out that it might be denormals causing microcode/FP assist usage in the pipeline, slowing down math operations by easily 100x. After thoroughly profiling in VTune though, and setting flush-to-zero and denorm-to-zero modes on this is not the problem at all. So I fixed what was potentially the issue - a particularly awful mistake I made with threaded data - and it turns out that was not the issue. Oh, and when I said the simulation goes haywire I really meant it: [t]https://i.imgur.com/MrU28Zk.png[/t][t]https://i.imgur.com/d4ajgPD.png[/t][t]https://i.imgur.com/TFWJ5fZ.png[/t] Looking at the first graph, it seems like the problem isn't in the gravity sim - where the program spends the [I]vast[/I] majority of its time but somewhere in the tension math. Before things on that graph go mental, the oscillations in the tension calm down slightly and probably reach near-zero values. Presumably, something might be getting repeatedly divided by zero until it explodes into a fuckhuge value and everything begins exploding and dissolving. Regardless, I've been stuck on this bug/issue for four days. The contract for this project ends in ~4wks, and I need at least 2 of those to run simulations and adjust parameters to make the final trajectory and feasibility study actually work. I used to program when I got home from work, since I liked working on personal projects - now I just pour a glass of good bourbon and play war thunder until I have to sleep :v:
Implemented some crude and shitty python class hotloading [media]https://www.youtube.com/watch?v=CfcXL66ZxUw[/media]
[QUOTE=Sam Za Nemesis;53001349]Merry Christmas you beautiful people :][/QUOTE] Don't scare me like that, it's still only the 24th.
[QUOTE=Lumaio;53002200]Don't scare me like that, it's still only the 24th.[/QUOTE] Well here we celebrate it the 24th.
Added/fixed some stuff to my shitty editor, altough still gotta add the gizmos to the vertex/edge manipulation only thru inputfloat atm. [video=youtube;0GtSJ8HolQ4]https://www.youtube.com/watch?v=0GtSJ8HolQ4[/video]
Working on a toon/anime shader for Unity: [img]http://puu.sh/yNdey.jpg[/img] [img]https://puu.sh/yNd8C.gif[/img] [img]https://puu.sh/yNd8Z.jpg[/img] [editline]Edited:[/editline] Testing with another character: [img]http://puu.sh/yNl4E.jpg[/img]
[QUOTE=fewes;53003253]Working on a toon/anime shader for Unity: [img]http://puu.sh/yNdey.jpg[/img] [img]https://puu.sh/yNd8C.gif[/img] [img]https://puu.sh/yNd8Z.jpg[/img] [editline]Edited:[/editline] Testing with another character: [img]http://puu.sh/yNl4E.jpg[/img][/QUOTE] Oh you're that guy on twitter then
[QUOTE=fewes;53003253] [img]http://puu.sh/yNl4E.jpg[/img][/QUOTE] The left one looks much imho [editline]25th December 2017[/editline] *better [editline]25th December 2017[/editline] [media]https://www.youtube.com/watch?v=_gB0OXZdk9Y[/media] Shader hotloading. It feels like I've implemented this like 20 times before, but this time I used inotify instead of just reading and comparing the entire file's content every few frames. Much more efficient, only works on unix systems though. But seeing how I will only ever use this on unix systems I don't care. Another problem I ran into is that intel GPUs only support opengl 1.3, so some nice glsl features are missing. [editline]25th December 2017[/editline] [media]https://www.youtube.com/watch?v=X2SxswrNWPs[/media] Now I also got uniforms I can control from a simple UI I clobbed together with tkinter. Simple but effective!
[QUOTE=DrDevil;52996333]34c3 (anyone else going?)[/QUOTE] I'll be there this year again, but good grief Leipzig is a mess of a location compared to Hamburg.
[QUOTE=Tobba;53005414]I'll be there this year again, but good grief Leipzig is a mess of a location compared to Hamburg.[/QUOTE] hmu if you wanna vape some weed, my dect number is LUKE [editline]26th December 2017[/editline] Intel GPUs sure are a nice joke. For example, when the argument for Trig functions is bigger than 4096, some weird sign flipping shenanigans happen. [img]https://my.mixtape.moe/eqlzoo.png[/img] However if you do mod(x, 2*3.14159) on the argument, it works perfectly fine: [img]https://my.mixtape.moe/fdxcig.png[/img] Thanks
Using trigonometry and BASIC to unlock the secrets of the universe on my 3DS [media]https://youtu.be/Qd2wcZ9wZnw[/media] Not sure how I did this but I'll post the BASIC code later
[QUOTE=DrDevil;53006710]hmu if you wanna vape some weed, my dect number is LUKE[/QUOTE] You gonna be at the fairground for the rest of the night? I'm there in an hour or two; god knows if my old sim card still functions though, it barely did last year and it's sorta beaten to hell now. I feel like I should brew up some content to go with these posts :v:
[QUOTE=Tobba;53007088]You gonna be at the fairground for the rest of the night? I'm there in an hour or two; god knows if my old sim card still functions though, it barely did last year and it's sorta beaten to hell now. I feel like I should brew up some content to go with these posts :v:[/QUOTE] There are tickets for DECT registration, and my ticket will come up in like 12 hours :v: So uh... I will be doing live VJ-ing tonight from midnight at chaos west, which is the big black cube in front of the Clarke lecture hall, feel free to drop by
[QUOTE=DrDevil;53008693]There are tickets for DECT registration, and my ticket will come up in like 12 hours :v: So uh... I will be doing live VJ-ing tonight from midnight at chaos west, which is the big black cube in front of the Clarke lecture hall, feel free to drop by[/QUOTE] Oh nice; if you're around there and recognize me I'm set up by the second long row of tables off the right side of the Chaos West stage (though I'll probably wander off). Honestly though, I can barely remember how most FPers I met last year actually look, I'm godawful with faces :v:
[QUOTE=Tobba;53008828]Oh nice; if you're around there and recognize me I'm set up by the second long row of tables off the right side of the Chaos West stage (though I'll probably wander off). Honestly though, I can barely remember how most FPers I met last year actually look, I'm godawful with faces :v:[/QUOTE] I'm coming for you [editline]27th December 2017[/editline] I'm standing next to the camera with a laptop in my hand
I started writing a [url=https://github.com/futurice/unity-good-practices]'good practices' guide for Unity[/url]. If you have suggestions on things in Unity to do, please throw them at me. Some things I'm going to talk more about is Text Mesh Pro, coding style, object pooling, LINQ and perhaps Zenject if I ever get around to actually using it. I know LINQ is just csharp and not Unity but you would be surprised how many foreach loops I've seen looking for 1 specific object where you could have just used FirstOrDefault and made your life easier.
I decided to call my shader 'Celery'. Here's the mascot: [img]http://puu.sh/yOV4o.jpg[/img] And yes, it was rendered in Celery :downs:
[QUOTE=war_man333;53009182]I started writing a [url=https://github.com/futurice/unity-good-practices]'good practices' guide for Unity[/url]. If you have suggestions on things in Unity to do, please throw them at me. Some things I'm going to talk more about is Text Mesh Pro, coding style, object pooling, LINQ and perhaps Zenject if I ever get around to actually using it. I know LINQ is just csharp and not Unity but you would be surprised how many foreach loops I've seen looking for 1 specific object where you could have just used FirstOrDefault and made your life easier.[/QUOTE] While LINQ in general is a very good feature, you may want to consider the performance implications. I think it should be generally avoided in hot paths like Update and OnRenderObject. It needlessly allocates a non-trivial amount of memory and causes unwanted GC pressure. A single .Select or .Where in Update is not the end of the world, but overusing it can cause frequent GC pauses.
Trying to add bhops [video=youtube;KX0Y4KpkPvc]https://www.youtube.com/watch?v=KX0Y4KpkPvc[/video]
I am filled with quite a bit of irritation atm, due to what I'm fixing: I'm trying to replace the horribly outdated matrix class, which is honestly horrifying since it looks a bit like this: [cpp] class Matrix { Matrix(int n_rows, int n_cols); Matrix* matrixTimesReturned(Matrix* m0, Matrix* m1); Matrix* scalarTimes(Number value); void operator+=(Number val); void getColumnVectorElement(int j); void setRowColumnVecElement(int i, int j, Number value); private: Number m[d_MatrixArrayColumns][d_MatrixArrayColumns], ge_M[d_MatrixArrayColumns][d_MatrixArrayColumns]; }; [/cpp] what are operators? why the jagged seemingly-but-not-actually dynamically-allocated arrays? why the awful method naming, and usage of pointers for no real reason? Also, it [I]fucking indexes from 1[/I]. [I]That[/I] is the worst part beyond the fixed size defined as "d_MatrixArrayColumns": key code outside of the matrix class uses this offset indexing, so I have to make sure to fix that everywhere its bloody used now. The fixed size is also used for [I]brilliant[/I] things like this: [cpp] ptr_F_Array = Matrices.F_un.GetDataPtr(); for (size_t n = 0; n <= NumElements; n++) { const size_t n1 = (n * 3 + 1) * d_MatrixArrayColumns + 1; const size_t n2 = (n * 3 + 2) * d_MatrixArrayColumns + 1; const size_t n3 = (n * 3 + 3) * d_MatrixArrayColumns + 1; // New pointer versions - BMM 7/23/2001 // set F[n1] *(ptr_F_Array + n1) = (*(ptr_F_Array + n1)) + (TetherElements[n].PerturbForce[_x]) + num_RemainingLoadFactor * (*(ptr_F_dm_Array + n1)); // set F[n2] *(ptr_F_Array + n2) = (*(ptr_F_Array + n2)) + (TetherElements[n].PerturbForce[_y]) + num_RemainingLoadFactor * (*(ptr_F_dm_Array + n2)); // set F[n3] *(ptr_F_Array + n3) = (*(ptr_F_Array + n3)) + (TetherElements[n].PerturbForce[_z]) + num_RemainingLoadFactor * (*(ptr_F_dm_Array + n3)); // loads more of this shit... } [/cpp] "new pointer versions" - FUCK you BMM. That fucker keeps haunting me, and goddamn do I despise him. I'm also not quite sure what actual elements "n1,n2,n3" are supposed to be. Like yeah it offsets by d_MatrixArrayColumns, but why does it add + 1 as well to each element? Its also not entirely clear if this is supposed to be row or column-major access, since some methods seem to act like row-major and others act like column-major? I dunno. It hurts my head. Additionally, instead of overloading operators to accept the vector type already in this codebase the choice was made to use column vectors instead. This clouds things more, since you're not left entirely sure if you want to be using or working with a matrix or column-vector (thats declared as a matrix). And since it's "dynamically" sized you can't look at the declaration of the variable in the header to puzzle that out, either, and instead have to find where it is constructed (and potentially re-built and resized) everywhere it's used. this stuff just bums me out, when it's not making me really really annoyed. its exhausting to have all these things to fix. [editline]27th December 2017[/editline] i've not even really mentioned the absolutely fucking mental quantities of duplicated code, yet
[QUOTE=Simspelaaja;53009292]While LINQ in general is a very good feature, you may want to consider the performance implications. I think it should be generally avoided in hot paths like Update and OnRenderObject. It needlessly allocates a non-trivial amount of memory and causes unwanted GC pressure. A single .Select or .Where in Update is not the end of the world, but overusing it can cause frequent GC pauses.[/QUOTE] Valid points and one should in general be careful with misusing loops in update cycles.
[media]https://www.youtube.com/watch?v=H6KzVlgMJfg[/media] Going smooth
[QUOTE=war_man333;53009437]Valid points and one should in general be careful with misusing loops in update cycles.[/QUOTE] I think there's an allocation-less (or at least cached) LINQ implementation specifically for Unity somewhere. Using it should be a matter of simply replacing the [I]using[/I] directive, since the extension methods and duck typing make the implementation so modular. The one thing you'll need to pay attention to are capturing lambdas, since those won't be cached and will always incur an instantiation (and with that eventually a collection). I don't know how much this really is an issue now, though. Is the garbage collector in Unity not threaded?
Working on a love2d template so I can quickly just grab it when I wanna make a game. Originally it was just a basic project that was converted to an actual project template/basis for people to use. I just did some networking things with it, and decided to add the network libs to the official project. It's pretty basic but it has map loading (you can use tiled), player movemement (top down) and some other dumb stuff. Its not that good right now, but oh well. This will probably help someone here. [URL="https://github.com/Beastinlosers/Love2dTopDownEngine"]https://github.com/Beastinlosers/Love2dTopDownEngine[/URL]
Hooray for AABB physics :toot: [img]https://i.imgur.com/CCNttZj.gif[/img]
I'm working on a Discord bot that allows people to interact with an Omegle user in a story-like format. It's going to use Rant to generate four messages, and people can vote on which one to send. Getting the formatting down at the moment... [img]https://i.imgur.com/ICdgKZZ.png[/img]
Sorry, you need to Log In to post a reply to this thread.