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
Ethereal
Mar 8, 2003

MononcQc posted:

So hey, it might be interesting to some of you to know what kind of stuff we do in the RTB world :)

The no stack/queue thing rings true for our service infrastructure as well. We originally had queues on our load balancers but with a massive surge this caused all requests to fail. Instead we just fail immediately if we're at load which helps keep our overall latencies down at the expense of slightly higher error rates on the client side.

Adbot
ADBOT LOVES YOU

Valtis
Sep 21, 2009
I've been working with simple tile based rpg game as an excuse to learn more about SDL and common algorithms like line of sight and pathfinding. It's pretty simple but nevertheless it's probably the most complicated program I have created thus far as I normally mess around with simple console applications.



The original pathfinding code probably should be in coding horror thread though as worst case scenario was ~600ms run time per call.

Progressive JPEG
Feb 19, 2003

A couple months ago I contributed a couple visualizations for Banshee's "OpenVP" extension. Here's one of them:



Spectrum on the top, the rest moves downward. There's also a rotated version where the spectrum is on the right and the voiceprint moves leftward.

The layout was an idea I'd had since first seeing Winamp 2.x's Voiceprint viz over a decade ago:

peepsalot
Apr 24, 2007

        PEEP THIS...
           BITCH!

beoba posted:

A couple months ago I contributed a couple visualizations for Banshee's "OpenVP" extension. Here's one of them:



Spectrum on the top, the rest moves downward. There's also a rotated version where the spectrum is on the right and the voiceprint moves leftward.

The layout was an idea I'd had since first seeing Winamp 2.x's Voiceprint viz over a decade ago:



Now do that aphex twin song with the face in the spectrum.

Progressive JPEG
Feb 19, 2003

peepsalot posted:

Now do that aphex twin song with the face in the spectrum.



I didn't scale up the bass too much since things quickly end up looking pixellated. As a result the image scaling is apparently quite off from what they expect. The curved lines on the left would be straight with the "correct" scale factor.

Progressive JPEG fucked around with this message at 20:11 on Apr 8, 2012

Internet Janitor
May 17, 2008

"That isn't the appropriate trash receptacle."
Looks like that's supposed to be shown on a log scale, if you're plotting the spectrum linearly.

Progressive JPEG
Feb 19, 2003

Yeah, my scale factor isn't quite base-whatever-it-wants.

MononcQc
May 29, 2007

Ethereal posted:

The no stack/queue thing rings true for our service infrastructure as well. We originally had queues on our load balancers but with a massive surge this caused all requests to fail. Instead we just fail immediately if we're at load which helps keep our overall latencies down at the expense of slightly higher error rates on the client side.

Yeah, a friend sent me a link to an interview on bufferbloat, which follows the same pattern, but with TCP buffers. It's kind of disconcerting how many things we have to rediscover through ignorance.

Jo
Jan 24, 2005

:allears:
Soiled Meat
Some images from an explosion generator. Posting about it on #gamedevgoons.



Opinion Haver
Apr 9, 2007

I hate WordPress because it's written in PHP and PHP loving sucks. But there's already like 40 Python blog engines. The solution?



Write one in Haskell, duh.

PS: the background is pure CSS from this gallery.

EDIT: And apparently that background murders Firefox if I don't replace it with an image. Goddamnit this is why we can't have nice things.

Opinion Haver fucked around with this message at 15:50 on Apr 11, 2012

Dijkstracula
Mar 18, 2003

You can't spell 'vector field' without me, Professor!

Interrupt posted:



Been working on a dungeon crawler engine inspired by blending roguelikes with Ultima Underworld, to the end of making an iOS / Android game. The world is tile based with per tile ceiling and floor heights, which has made implementing AABB collision super simple and should also allow me to piece together randomly generated floors. Basic combat and pathfinding is in, I'm now mulling over whether to implement an inventory system or do things Hack/Slash/Loot style and just let you swap out items.
Just in case you didn't see this, Interrupt, Notch tweeted about your walkthrough video this morning. Congratulations!

MaverickEX
Mar 18, 2012

Dijkstracula posted:

Just in case you didn't see this, Interrupt, Notch tweeted about your walkthrough video this morning. Congratulations!

And it looks like a total kick. How fun!

steckles
Jan 14, 2006

Spent a bit of time fixing bugs and optimizing my ray tracer. A stupid bug in my KD-Tree traversal code was causing a ~30% slow down. Likewise, scheduling jobs so that complex ones always come in an even multiple of the number of threads lead to a 10% speed up.

The only light source in the scene is the filament of the light and it's behind the glass of the bulb. Most ray tracers can't render this scene correctly.

steckles fucked around with this message at 10:37 on Apr 12, 2012

Mongolian Queef
May 6, 2004

steckles posted:


The only light source in the scene is the filament of the light and it's behind the glass of the bulb. Most ray tracers can't render this scene correctly.

This looks awesome as always but I just have to ask if it really is rendered correctly? I think the bulb looks wrong somehow.
All your renders look very real but the bulb just looks.. two dimensional?

steckles
Jan 14, 2006

tunah posted:

This looks awesome as always but I just have to ask if it really is rendered correctly? I think the bulb looks wrong somehow.
I am fairly confident in its accuracy. The glass is very thin so the distortion caused by refraction is not visible. The major component of its appearance is Fresnel reflection. Except at grazing angles Fresnel reflectance is quite faint, so the only reflection visible in the bulb is the reflection visible in the far side where it's reflecting the bright patch on the floor and the inside of the light bulb itself.

In any case, the transparent material system is one of the most extensively tested in the whole program and hasn't produced an incorrect or unexpected result in quite some time.

Hubis
May 18, 2003

Boy, I wish we had one of those doomsday machines...
How thick is the glass holding the water? Do you simulate non-air interfaces (i.e. glass-water) properly?

Modern Pragmatist
Aug 20, 2008

steckles posted:

Spent a bit of time fixing bugs and optimizing my ray tracer. A stupid bug in my KD-Tree traversal code was causing a ~30% slow down. Likewise, scheduling jobs so that complex ones always come in an even multiple of the number of threads lead to a 10% speed up.

The only light source in the scene is the filament of the light and it's behind the glass of the bulb. Most ray tracers can't render this scene correctly.

These really are fantastic. So it looks like you have a wall behind the bulb, but there isn't really any reflection off of that it appears.

Is it possible to change the intensity of the filament glow? I guess we're just used to seeing bulbs that are so bright and this bulb has a very dim filament so maybe that's where the discrepancies come from?

steckles
Jan 14, 2006

Hubis posted:

How thick is the glass holding the water? Do you simulate non-air interfaces (i.e. glass-water) properly?
The sides of the glasses are 1.5-2mm thick and the glass-liquid interface is handled correctly. The glass in the bulb is .1mm thick. This is perhaps a bit thicker than in real life, but it's necessary to avoid numerical precision issues.


Modern Pragmatist posted:

Is it possible to change the intensity of the filament glow?
The glow around lights is caused by aperture diffraction which currently isn't supported, but applying a Gaussian blur to the filament gives a similar appearance:

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

steckles posted:

The sides of the glasses are 1.5-2mm thick and the glass-liquid interface is handled correctly. The glass in the bulb is .1mm thick. This is perhaps a bit thicker than in real life, but it's necessary to avoid numerical precision issues.

The glow around lights is caused by aperture diffraction which currently isn't supported, but applying a Gaussian blur to the filament gives a similar appearance:


I think these are great.

How come the water in the glass looks like it's wider than the glass itself? My first thought was that the water, instead of stopping at the interior surface of the glass was stopping at the exterior surface, but on looking closer it certainly seems it comes a little bit further than that...

That Turkey Story
Mar 30, 2003

Thermopyle posted:

I think these are great.

How come the water in the glass looks like it's wider than the glass itself? My first thought was that the water, instead of stopping at the interior surface of the glass was stopping at the exterior surface, but on looking closer it certainly seems it comes a little bit further than that...

It's magic, you idiot.

Vanadium
Jan 8, 2005

Thermopyle posted:

I think these are great.

How come the water in the glass looks like it's wider than the glass itself? My first thought was that the water, instead of stopping at the interior surface of the glass was stopping at the exterior surface, but on looking closer it certainly seems it comes a little bit further than that...

There's light reflecting off the glass above the water, making it bright enough to just about blend with the background, I guess?

steckles
Jan 14, 2006

Thermopyle posted:

How come the water in the glass looks like it's wider than the glass itself?
The actual interface between the glass and liquid is invisible in most cases, thus it gives the appearance that the liquid stops right at the exterior of the glass. Try filling a real glass with water, it'll look very similar. As for the water appearing to pop out of the glass, it's just an illusion.

Jick Magger
Dec 27, 2005
Grimey Drawer
I always feel odd posting in here, because I always seem to post after the "here's some awesome 3d raytracing I just did for funsies" guy.

Anyway, instead of doing the work I'm getting paid to do, I decided to finish up a small project I'd started a few months ago.

After bitching and complaining about the onscreen keyboard provided by Netflix, I finally decided to see if I could do it any better. Not that this would change Netflix or anything, but now when I'm bitching about it, I can say for certain that there is a better way.



http://www.doublebeatshowcase.com/CK

So I'm trying out keyboard layouts for use with controller-style input. I know this certainly isn't the best layout, but so far it's quicker than trying to use the QWERTY version. Any suggestions? I think what I need to do is try to line up the most common 3-letter sets, next. I didn't bother trying this is firefox, but it works fine in Chrome.

God, I don't think I've ever taken a white-people problem so far before.

Cubiks
Aug 31, 2005
I wish I had something witty to put here...

Jick Magger posted:

-- Controller input keyboard --

Interesting work! I always hate interacting with virtual keyboards where you have to slide your cursor over a standard QWERTY keyboard. For rearranging like you're doing, you might even try an automated approach, where you have a decent sized corpus of sample text and measure the minimum button presses needed to type each string, while varying the layouts in some way (randomly, ordered, or some smarter method).

Another idea would be using Chords. The general idea is to combine multiple presses into a single result: i.e. holding down buttons 1 and 2 at the same time produces the letter 'A', 1 + 3 => 'B', 2 + 3 => 'C', etc.

That may not work depending on your input device; a standard remote is not able to send two or more signals at once (as far as I know, anyway). In that case, you could use a sequential series of buttons to arrive at a result: 1 followed by 2 results in 'A', for example. If you had 4 directions to choose from, then you could divide your search area in 4 every click, and so reach any key in at most 3 clicks.

Scaevolus
Apr 16, 2007

Conway's game of life for 0x10c.

Uses stupid tricks to pretend it has a pixel device by rendering to the character font.

Internet Janitor
May 17, 2008

"That isn't the appropriate trash receptacle."
Scaevolus: That's pretty spiffy. It looks like the display tiles- is that because you don't have enough characters to fill the whole screen that way?

As it so happens I've also been fiddling with cellular automata. Here's a minimalist implementation of the binary "wolfram rule" 1D systems:


code:
:const               RULE 30
:const clear-color   0xFFAA99FF
:array grid-tiles 64 0xFF0000AA

: >>      dup if 1 - for 2 / next else drop then   ; ( a bits -- b )
: pat     0 2 for 2 * over i + @ or next swap drop ; ( addr -- pattern )
: rule    pat RULE swap >> 1 and                   ; ( addr -- new-value )
: cell    41 * + GP @ +                            ; ( y x -- addr )
: get     1 - swap 1 + cell                        ; ( y x -- addr )
: put         swap     cell !                      ; ( val y x -- )
: row     39 for dup i get rule over i put next    ; ( y -- y )
: draw    28 for r> row >r next                    ;
: main    1 29 19 put draw loop sync again         ;

Scaevolus
Apr 16, 2007

Internet Janitor posted:

Scaevolus: That's pretty spiffy. It looks like the display tiles- is that because you don't have enough characters to fill the whole screen that way?
Yeah, I only have 128 4x8 "sprites", so I just tile the display-- it's a toroidal simulation anyways.

quote:

As it so happens I've also been fiddling with cellular automata. Here's a minimalist implementation of the binary "wolfram rule" 1D systems:


Neat, though seeing this upside-down is really weird :v:

Internet Janitor
May 17, 2008

"That isn't the appropriate trash receptacle."
It's actually upside-down and backwards as a consequence of my having a primitive "count down to zero" loop handy and wanting to keep everything as simple as possible. :)

Deus Rex
Mar 5, 2005

Internet Janitor posted:

Scaevolus: That's pretty spiffy. It looks like the display tiles- is that because you don't have enough characters to fill the whole screen that way?

As it so happens I've also been fiddling with cellular automata. Here's a minimalist implementation of the binary "wolfram rule" 1D systems:


code:
:const               RULE 30
:const clear-color   0xFFAA99FF
:array grid-tiles 64 0xFF0000AA

: >>      dup if 1 - for 2 / next else drop then   ; ( a bits -- b )
: pat     0 2 for 2 * over i + @ or next swap drop ; ( addr -- pattern )
: rule    pat RULE swap >> 1 and                   ; ( addr -- new-value )
: cell    41 * + GP @ +                            ; ( y x -- addr )
: get     1 - swap 1 + cell                        ; ( y x -- addr )
: put         swap     cell !                      ; ( val y x -- )
: row     39 for dup i get rule over i put next    ; ( y -- y )
: draw    28 for r> row >r next                    ;
: main    1 29 19 put draw loop sync again         ;

that's way cleaner than my Ruby web service implementation, heh. I ought to go back and retool it a bit ;)

Pfhreak
Jan 30, 2004

Frog Blast The Vent Core!


Looks like a Marathon map, doesn't it? WELL IT IS! Rendered on a HTML5 canvas element from a JSON representation of the map. I wrote a program to convert Marathon maps out of their binary format into a JSON service (well, technically just a JSON file now, eventually a service).

Next step is seeing if I can't get them to render in 3d. If I can do that, then maybe I can port Alephone to the web.

Internet Janitor
May 17, 2008

"That isn't the appropriate trash receptacle."

Deus Rex posted:

that's way cleaner than my Ruby web service implementation, heh.

Thanks. I was just looking at one of the state transition tables on Wikipedia and the encoding scheme clicked for me. You collect a bit vector of the preceding cells, shift the "rule number" right by that many bits and mask off the least significant bit. pat and rule are the only parts of my code that matter- everything else is for drawing and a definition of what it means to "shift right". Betcha could do it in a clever oneliner.

dizzywhip
Dec 23, 2005

I suppose the tablature editor I'm working on is starting to look good enough to show off:





I've been working on it for a little over a year and it's finally starting to come together, although there's still a lot of work to be done. I'm hoping to finish it by the end of summer.

Carthag Tuek
Oct 15, 2005

Tider skal komme,
tider skal henrulle,
slægt skal følge slægters gang



That looks fantastic! :)

steckles
Jan 14, 2006

Pfhreak posted:



Looks like a Marathon map, doesn't it? WELL IT IS!
Wow, that brings back memories! I'd totally play some sort of WebGL Marathon.

ynohtna
Feb 16, 2007

backwoods compatible
Illegal Hen
Yeah, that looks truly great.

What are your plans for it: free, Mac App Store, content deals? Does/will it support MusicXML import and export?


Here's a prototype I'm intermittently (1 hour a week or so) progressing, for the exploration of non-trivial musical swing manipulations:



The final version will also have a circular "radar" display to reinforce the fundamental loop nature of the groove.

It's actually a feature-creeped "unit test" offshoot of a strange tetrominoes-vs-dominoes-vs-step-sequencer project I'm also slowly working on:



(Both projects are browser-based, using the Web Audio API.)

lord funk
Feb 16, 2004

Pfhreak posted:

Next step is seeing if I can't get them to render in 3d. If I can do that, then maybe I can port Alephone to the web.

If I could log on and deathmatch people in Alephone... oh god my productivity... :stare:

dizzywhip
Dec 23, 2005

Carthag posted:

That looks fantastic! :)

ynohtna posted:

Yeah, that looks truly great.

What are your plans for it: free, Mac App Store, content deals? Does/will it support MusicXML import and export?

Thanks :)

It's going to be on the Mac App Store, probably for about $20. I'm hoping it will do well enough that I can quit my job and work on it full time.

I haven't gotten around to import/export yet, that's probably the biggest thing I have left to do. But yeah, it'll support MusicXML as well as exporting to ASCII, MIDI, PDF, PNG and importing from Guitar Pro 5 and MIDI. Also VexTab, which is a really cool format that lets you embed music into a webpage using canvas. Most if it should be pretty straightforward except for Guitar Pro, reverse engineering that file format isn't going to be fun.

Your tetrominoes step sequencer looks pretty awesome. I'm really excited about the web audio API, it's gonna be awesome when more browsers start supporting it.

Foiltha
Jun 12, 2008

Gordon Cole posted:

Most if it should be pretty straightforward except for Guitar Pro, reverse engineering that file format isn't going to be fun.

You should probably look into the source of TuxGuitar. It seems to support Guitar Pro files: http://sourceforge.net/projects/tuxguitar/

Dred_furst
Nov 19, 2007

"Hey look, I'm flying a giant dong"
so I'm making a roguelike, using rooms as templates for the maze, so far I have the room and tileset editors complete, or at least workable.

the tiles are purely placeholder because I'm no artist. WPF is amazing to work with to get UIs up and running quickly, complete with data binding.

Adbot
ADBOT LOVES YOU

dizzywhip
Dec 23, 2005

Foiltha posted:

You should probably look into the source of TuxGuitar. It seems to support Guitar Pro files: http://sourceforge.net/projects/tuxguitar/

Good idea, I'll check it out. I'd found some information about the format but it was all incomplete or out of date.

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