Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Avenging Dentist
Oct 1, 2005

oh my god is that a circular saw that does not go in my mouth aaaaagh
I hate VTK, but that's because I'm forced to use it in VisIt instead of the native readers for my meshes.

Adbot
ADBOT LOVES YOU

Avenging Dentist
Oct 1, 2005

oh my god is that a circular saw that does not go in my mouth aaaaagh
Got bored, wrote a simple implementation of the chaos game using Boost.GIL:

Avenging Dentist
Oct 1, 2005

oh my god is that a circular saw that does not go in my mouth aaaaagh
Oh, and here's a quickie using a couple different variation functions:

Avenging Dentist
Oct 1, 2005

oh my god is that a circular saw that does not go in my mouth aaaaagh

tripwire posted:

Avenging Dentist, how are you getting those pics out of the chaos game algorithm? I was inspired to try and duplicate that effect yesterday from reading about it on mathworld but the pictures it's been spitting out look nothing like what you've posted. It's possible my implementation is really buggy, but are you doing anything different algorithmically to get that look?

I'm just using regular chaos game stuff plus variation functions stolen from the fractal flame thing. It's really easy to choose bad transform functions for your iteration though.

Avenging Dentist
Oct 1, 2005

oh my god is that a circular saw that does not go in my mouth aaaaagh
Stealing more poo poo from the fractal flame algorithm (log scaling and colors):

Avenging Dentist
Oct 1, 2005

oh my god is that a circular saw that does not go in my mouth aaaaagh

tripwire posted:

On a related note, can you think of any way to shoehorn the fractal flame colouring algorithm into the original regular polygon chaos game algorithm?

Instead of just working with random vertices and a fraction for interpolating between your points, use a random function. It's easy to create functions that do the same thing as the polygonal version. From Wikipedia:

quote:

The term ["chaos game"] has been generalized to refer to a method of generating the attractor, or the fixed point, of any iterated function system (IFS). Starting with any point x0, successive iterations are formed as xk+1 = fr(xk), where fr is a member of the given IFS randomly selected for each iteration.


tripwire posted:

Do you think it might work to colour the points generated from a standard chaos game by some category, like which vertex they were drawn towards maybe?

This is exactly the coloration scheme that fractal flames use. What I do (again stolen from fractal flame stuff since I haven't gotten around to adding my own weird poo poo) is take the average of the current color and the new color (based on which function I picked).

Technically, I'm not doing it 100% right yet, since the starting color is black, and it really should be "nothing", but that'll get dominated by the sheer repetitiveness of the algorithm.

Avenging Dentist
Oct 1, 2005

oh my god is that a circular saw that does not go in my mouth aaaaagh
It's probably more-or-less trivially parallelizable except for contention with the output buffer (which may not be an issue anyway if you're good with lockless programming - I could probably do a grayscale version locklessly), but you can just operate on multiple buffers and merge when you're done.

I think a better question is why you are appealing to an "authority" (i.e. the SA forums) instead of edifying yourself by trying to devise a solution on your own, especially when you seem to have experience with GPGPU. Or is this just a case of "When the only buzzword you have is 'GPU', everything is a potentially parallelizable problem"?

Avenging Dentist
Oct 1, 2005

oh my god is that a circular saw that does not go in my mouth aaaaagh

drcru posted:

I couldn't come up with ways to show they're connected to each other :smith:

Well I mean it's basically a graph, right? You can travel between squares (nodes) along equals-signs (edges). If you turned it into a graph representation with little stars for each node and little hyperspace lanes for each edge, it would probably look pretty cool.

Avenging Dentist
Oct 1, 2005

oh my god is that a circular saw that does not go in my mouth aaaaagh

LOLLERZ posted:

Well I mean it's basically a sparse matrix, right? You can travel between squares (rows) along equals-signs (ones). If you turned it into a sparse matrix representation with little stars for each row and little hyperspace lanes for each column, it would probably look pretty cool.

Oh, you mean it's like one of the standard implementations of a graph? Oh ok.

Avenging Dentist
Oct 1, 2005

oh my god is that a circular saw that does not go in my mouth aaaaagh

drcru posted:

It's supposed to have little space stations and crap visible there too though. Imagine there are pictures there instead:

That shouldn't be any harder, really.

drcru posted:

I like the hyperspace lane idea though, not sure how I can make it work yet though.

The reason I suggest a graph is because there are known algorithms for graph layouts that make sure the graph looks "nice", meaning you can focus on the data for your game and not have to worry about where to put everything. Here's a paper describing some of it, with references to other papers you can look up for more detail: http://www.cs.brown.edu/~rt/papers/gd-tutorial/gd-constraints.pdf

Avenging Dentist
Oct 1, 2005

oh my god is that a circular saw that does not go in my mouth aaaaagh
Yeah, I'm actually a little surprised you chose to use triangles instead of just convex polygons. Do you actually need to render onto those exact shapes or could you use textures with an alpha channel?

Avenging Dentist
Oct 1, 2005

oh my god is that a circular saw that does not go in my mouth aaaaagh
You can use the separating axis theorem to detect collision between any two convex polygons. Basically, any two convex shapes are non-intersecting if and only if there is a line that can be drawn between them without intersecting either shape. For convex polygons, this can be simplified: the line must be parallel to one of the edges.

Then the procedure is: for every edge, draw a line parallel to that edge. Next, draw a line orthogonal to that line: this is your axis. Project both polygons onto the axis. If the projections are disjoint, the two polygons are non-intersecting. If you don't find any disjoint projections, the two polygons are intersecting.

This technique is especially useful because it can easily be generalized to moving polygons, and in the moving case, the separating axis can give you useful information about how and where the objects collided.

Avenging Dentist fucked around with this message at 00:30 on Apr 24, 2010

Avenging Dentist
Oct 1, 2005

oh my god is that a circular saw that does not go in my mouth aaaaagh

Gnack posted:

Wait... what the hell is that? Backstory? More info?

It's an emoji.

Avenging Dentist
Oct 1, 2005

oh my god is that a circular saw that does not go in my mouth aaaaagh

Shalinor posted:

Uh, that's how it is right now ;) the bubbles at the bottom aren't speech, those are the keywords the player is choosing. Or am I misunderstanding? (If not - that confusion is why I need to tint the keyword bubble, etc)

Maybe have the "stuff you're going to say" bubble be a thought bubble, at least until you select the dialog option?

Avenging Dentist
Oct 1, 2005

oh my god is that a circular saw that does not go in my mouth aaaaagh

Shalinor posted:

It doesn't quite work that way. The second you press the speech bubble, it disappears. There is no "saying it." Clicking it says it, the bubble disappears, and it instantly moves you to the next conversation node (with new keywords).

Sorry, to explain more, I was thinking something like so:
  • Speech bubble for the NPC pops up
  • ~100ms later, a thought bubble for the player pops up
  • Player picks a dialog choice
  • Thought bubble fades into a speech bubble
  • Both NPC and player speech bubbles fade out
  • Repeat

You could pretty easily add some transitions like that and keep the added time spent under a second. Another option instead of "thought bubble" would be to have a translucent speech bubble for stuff you haven't said yet, or give them a dotted outline.

Avenging Dentist
Oct 1, 2005

oh my god is that a circular saw that does not go in my mouth aaaaagh

hendersa posted:

But, I can't say that I've ever been upset about acquiring Bob as a follower. That guy is incredible.

Bob is way cooler than the random email or two I got from some dude convinced that aliens were going to invade earth and so we needed to use his ~*~magical fusion technology~*~ (I used to work in nuclear research before I realized I could get paid literally twice as much to work in industry, and still get to do interesting things). The crazy part is that my email address wasn't actually published anywhere, so I'm not sure how he found me.

Avenging Dentist
Oct 1, 2005

oh my god is that a circular saw that does not go in my mouth aaaaagh
You fools have awakened me from my slumber. Now, reap what you have sown.

Let's be honest here: Megaman is never going to finish his game. He should pick the language that is going to teach him the most useful poo poo. A bad/newbie programmer might actually learn something about memory management? Heavens to Betsy, we've got to stop him!!

Avenging Dentist
Oct 1, 2005

oh my god is that a circular saw that does not go in my mouth aaaaagh
Whatever you do Megaman, please don't learn C/C++ though. Trying to learn both C and C++ at the same time will probably turn you into a schizophrenic nutcase...



LIKE ME!! *shines flashlight under my chin, makes spooky ghost sounds*

Avenging Dentist
Oct 1, 2005

oh my god is that a circular saw that does not go in my mouth aaaaagh

Xik posted:

Yep, I totally understand that. But the actual "rules" (the official standard) for Javascript is horrible and/or broken. I'm also not working within a team so have no personal mentors to guide me. If this was any other modern, popular language I could just read the official docs/api and just be fine.

If that's your opinion of Javascript (it's the correct opinion to have too!), then perhaps Javascript is not the ideal language for you to gain experience in?

As penance for language-chat, here are some pics from an old project that I'm starting to update to C++11:

Avenging Dentist
Oct 1, 2005

oh my god is that a circular saw that does not go in my mouth aaaaagh

Annoying Jerk posted:

Working on a "game engine" with c++14 and modern OpenGL. Having some fun with polygons, random colors, and rotation/translation matrices:

http://gfycat.com/WideImaginativeHyena

Nice, I was gonna mess around with this at some point soon.

Avenging Dentist
Oct 1, 2005

oh my god is that a circular saw that does not go in my mouth aaaaagh
I like flame fractals.



Avenging Dentist fucked around with this message at 07:42 on Dec 1, 2014

Avenging Dentist
Oct 1, 2005

oh my god is that a circular saw that does not go in my mouth aaaaagh
I added multithreaded calculation and pseudo-HDR to my fractal generator. It blends multiple "exposures" (really, different scaling functions and gamma for the sample count):

Before


After (high-pass gamma = 0.8)


After (high-pass gamma = 1.0)

Avenging Dentist fucked around with this message at 06:27 on Jan 3, 2015

Avenging Dentist
Oct 1, 2005

oh my god is that a circular saw that does not go in my mouth aaaaagh

Jo posted:

Surprisingly, a mean filter didn't do much to improve quality.

Maybe you should try a nice filter instead.

Avenging Dentist
Oct 1, 2005

oh my god is that a circular saw that does not go in my mouth aaaaagh

LP0 ON FIRE posted:

Rendering Sierpinski's Triangle using the Chaos Game method. I find the initial random point inside the triangle's three points by getting Barycentric coordinates.

:hfive: Chaos Game bro. Here's my Chaos Game shits: http://forums.somethingawful.com/showthread.php?threadid=3676849#post441073931

e: Hopefully I'll have some new Chaos Game progress in September, since I'm about finished with some of my (non-screenshot-worthy) projects.

Avenging Dentist fucked around with this message at 19:16 on Aug 27, 2015

Avenging Dentist
Oct 1, 2005

oh my god is that a circular saw that does not go in my mouth aaaaagh

LP0 ON FIRE posted:

Those are actually amazing looking! Are those Lorenz Attractors too? And holy crap, the post above that. (Though totally different kind of fractal.)

Not specifically Lorenz, but obviously they are attractors. I'm using this paper as a basis for my project.

Avenging Dentist
Oct 1, 2005

oh my god is that a circular saw that does not go in my mouth aaaaagh

Snapchat A Titty posted:

AD&D 2nd Ed. My boner gets harder the more dice i roll.

Then let me tell you about Age of Sigmar! Roll dice to see what dice you roll to see what dice you roll to see...

Avenging Dentist
Oct 1, 2005

oh my god is that a circular saw that does not go in my mouth aaaaagh
The grid on the first picture is really making me think of Marble Madness.

Avenging Dentist
Oct 1, 2005

oh my god is that a circular saw that does not go in my mouth aaaaagh
I'd imagine the Matrix uses a lot of simplifications for stuff people aren't currently looking at closely (read: 99% of the ocean). It's obviously got to be able to simulate things with extremely high fidelity, since the simulation takes place in an era with electron microscopes. However, it can't be a full simulation down to fundamental particles, since the Matrix's servers are all just on Earth; a simulation can't be larger than the system it runs on. They must be simulating only part of the planet, either by approximating lots of stuff, or by only simulating a small region of Earth, like in the 13th Floor.

Avenging Dentist
Oct 1, 2005

oh my god is that a circular saw that does not go in my mouth aaaaagh

Purple Prince posted:

Hell, having 3 gravitating bodies (I asked about this for a game project) is a pain to implement in real time, as you need numerical analysis to get anything close to accurate.

I believe numerical analysis is only necessary if you want to skip forward m timesteps in constant (-ish) time. Otherwise, you can just evaluate all the gravitational interactions at O(m*n2). I actually did an N-body gravitational simulation in Mathematica back in college and it wasn't especially difficult, although it scaled pretty poorly.

Avenging Dentist
Oct 1, 2005

oh my god is that a circular saw that does not go in my mouth aaaaagh
How are you creating the images? I didn't see any code that does that I your repo. Are you using an external tool? I was thinking about doing something similar, but never decided on what to do for the rendering side. Maybe just use OpenGL?

Avenging Dentist
Oct 1, 2005

oh my god is that a circular saw that does not go in my mouth aaaaagh

hendersa posted:

On the bright side, I did get that Christmas present that I've been wanting for the past few years:



Dr. hendersa! :science:

Now just one more decade of occasional nightmares that you didn't actually graduate and you'll be home free! (I still get the odd nightmare that I never actually graduated high school.)

Adbot
ADBOT LOVES YOU

Avenging Dentist
Oct 1, 2005

oh my god is that a circular saw that does not go in my mouth aaaaagh

Munkeymon posted:

There was an original Xbox game that was some sort of full-contact basketball-type-thing set in a dystopian future.

Deathrow? It was dystopian Ultimate Frisbee, but otherwise sounds like the same thing.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply