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
Orzo
Sep 3, 2004

IT! IT is confusing! Say your goddamn pronouns!

Centripetal Horse posted:

This "distortion layer" you speak of... is it something you coded from scratch, or a feature of the language/engine/libraries you're using?
It's all from scratch (the engine is my own). I did it a few months ago and actually wrote probably my most detailed blog post here about it. Or if you don't feel like reading here is a video about it.

Adbot
ADBOT LOVES YOU

theratking
Jan 18, 2012
Speaking of three.js, I whipped up this quick nonlinear system solver in MathBox.js (which uses three.js).

It was originally supposed to be a replacement for StreamPlot when I don't have Mathematica on hand, but then it just became something I wanted to view a Lorentz system with.

You can find it here dynamic-systems.herokuapp.com in a rough-draft kind of form.

The "random" button plots 20 trajectories with different colors. With the default conditions it will probably be slow too.

The equations are pure javascript with the Math object unpacked. "x - sin(x)" will work but "x - 2y" will not. Method is Runge-Kutta.

Orzo
Sep 3, 2004

IT! IT is confusing! Say your goddamn pronouns!
This thread seems really dead lately :( Check out some bugs I found in my game.
https://www.youtube.com/watch?v=EfkYc_gEqw0&hd=1

TerraGoetia
Feb 21, 2011

A cup of spiders.
Without commentary, some of the bugs in this video are not so obvious. Can you clue me in?

Orzo
Sep 3, 2004

IT! IT is confusing! Say your goddamn pronouns!

TerraGoetia posted:

Without commentary, some of the bugs in this video are not so obvious. Can you clue me in?
It was a bad joke. The video is showing bugs and the subsequent squishing of said bugs.

the wizards beard
Apr 15, 2007
Reppin

4 LIFE 4 REAL

Orzo posted:

This thread seems really dead lately :( Check out some bugs I found in my game.
https://www.youtube.com/watch?v=EfkYc_gEqw0&hd=1

Something I've noticed about this video - your guy always stops walking with the same foot forward. It's a little visually jarring to see him "break" a walk-cycle to end up in this position. Does this make sense? I've seen other games where there is a mirrored frame such that characters can stop with either foot forward. I's mo noticeably when you are in a stopped position, talk a single pace forward, and then stop.

I don't mean to pick nits, just thought this might be useful.

Orzo
Sep 3, 2004

IT! IT is confusing! Say your goddamn pronouns!

the wizards beard posted:

Something I've noticed about this video - your guy always stops walking with the same foot forward. It's a little visually jarring to see him "break" a walk-cycle to end up in this position. Does this make sense? I've seen other games where there is a mirrored frame such that characters can stop with either foot forward. I's mo noticeably when you are in a stopped position, talk a single pace forward, and then stop.

I don't mean to pick nits, just thought this might be useful.
You aren't picking nits, all feedback is appreciated! The artist is working on an idle-standing animation soon which might solve the issue automatically. If it doesn't (i.e. we decide to let the player hold still for a bit before the idle animation kicks in) I will definitely use your advice, and figure out the appropriate stance based on the frame the player stopped on.

Also here is another thing I did recently that I forgot to post: https://www.youtube.com/watch?v=mRD0e3oPU6Q&hd=1

TerraGoetia
Feb 21, 2011

A cup of spiders.

Orzo posted:

It was a bad joke. The video is showing bugs and the subsequent squishing of said bugs.

I was actually wondering if the fact that roaches didn't come out of every pile was itself a bug, then I realized only some bones have roach swarms on them. I think too hard sometimes.

Actually, a question: is the third bug supposed to die for running into your foot? I noticed your character was not moving when the squish sound played.

TerraGoetia fucked around with this message at 19:13 on Oct 17, 2013

Orzo
Sep 3, 2004

IT! IT is confusing! Say your goddamn pronouns!
Good catch. Didn't think about that. It's just set up as a collision event between the bug and the player's 'feet collider' box, with no inspection about any motion on the player. I think I will add that so that the player has to be moving, thanks!

Dishman
Jul 2, 2007
Slimy Bastard
If the player isn't moving the bug should crawl up the players body. Just my 2 cents

E:
Unlimited bugs should be able to crawl on the player sprite then all jump off when the player moves. This could be your release trailer. Do not let this opportunity pass you by

Dishman fucked around with this message at 20:18 on Oct 17, 2013

bobua
Mar 23, 2003
I'd trade it all for just a little more.

If enough bugs jump on the player a final bug should yell 'And I'll form the head!' before jumping on your face.


In a speech bubble is fine but if you can use the actual sound clip from voltron that would be good too.

Feel free to pm me for details when you're ready to add the credits.

TerraGoetia
Feb 21, 2011

A cup of spiders.
My group in Game Design and Development is producing an alcohol-based side-scroller. The game takes place on a college campus; the player has to scavenge for painted beers hidden by seniors as if they were Easter Eggs. Points are scored by drinking. Your goal is to rack up as much points as possible and meet up with your girlfriend before the night ends. There's supposedly better endings if you have enough points and bring enough beers for her as well.

I did not come up with the game idea, but since we're locked in on it, I'm doing my utmost to make it fun. I'm focusing on the alcohol. I want to showcase how people can be more reckless while drinking, but also have less control over their actions. So, the more you drink, the faster you can go and the further you can jump. However, the screen starts to sway as your BAC increases. This makes platforming really hard in every test I've done. We had discussed having the less-realistic platforming conventions (like dashing in mid-air) only being usable when the character is sufficiently drunk. Don't we all believe we have magical powers when we've had a few?


The most recent picture I have is a before/after of the character picking up some cans by jumping through them. 99% of the art assets are placeholders; I'm no artist, so I'm just working on the system while others crank out the pictures.

Orzo
Sep 3, 2004

IT! IT is confusing! Say your goddamn pronouns!

Dishman posted:

If the player isn't moving the bug should crawl up the players body. Just my 2 cents

E:
Unlimited bugs should be able to crawl on the player sprite then all jump off when the player moves. This could be your release trailer. Do not let this opportunity pass you by
Never let an opportunity pass you by

https://www.youtube.com/watch?v=5gN3Cm8MNCY&hd=1

TerraGoetia
Feb 21, 2011

A cup of spiders.
Orzo, I really like that. I've never seen another game even consider that as a possibility. Maybe low-level bugs can be harmless, but other bugs can have different effects of some kind? Minor things that encourage the player to keep moving without feeling like a dick tactic.

Edit: There seems to be a delay from when you move to when the bugs squish. It feels like they are dying too far from your player.

Orzo
Sep 3, 2004

IT! IT is confusing! Say your goddamn pronouns!
They are being shaken off the player's body and flying through the air. Maybe it's hard to see on a little youtube video?

Impotence
Nov 8, 2010
Lipstick Apathy
I made an IRC bot that essentially livecasts League of Legends games via excessive process injection and reading. It was fun and my first foray into Win32 stuff. Kills, deaths, and things like that are emitted as WebSocket events. :3:

TerraGoetia
Feb 21, 2011

A cup of spiders.

Orzo posted:

They are being shaken off the player's body and flying through the air. Maybe it's hard to see on a little youtube video?

Oh! That makes sense now. My eyesight is poo poo. It may help idjits like me if there were some kind of shadow under them when they fly through the air?

Biowarfare, that is actually really cool. Would you care to go into more detail about how it works?

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.

Biowarfare posted:

I made an IRC bot that essentially livecasts League of Legends games via excessive process injection and reading. It was fun and my first foray into Win32 stuff. Kills, deaths, and things like that are emitted as WebSocket events. :3:



This looks really cool! Care to share a bit about how you got it working? I don't know anything about process injection on Windows.

Nippashish
Nov 2, 2005

Let me see you dance!

Orzo posted:

They are being shaken off the player's body and flying through the air. Maybe it's hard to see on a little youtube video?

Bugs don't squish when you brush them off, they go about their business.

Thermopyle
Jul 1, 2003

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

pokeyman posted:

This looks really cool! Care to share a bit about how you got it working? I don't know anything about process injection on Windows.

I agree with this. I'd be really interested to read more about how it was accomplished.

Impotence
Nov 8, 2010
Lipstick Apathy
I tried several methods at first, from headless to process running alongside it. For my use case, I would be wanting a client running to stream the game at the same time, along with forced remote-control of the ingame camera (for this, I separately keep track of the game state, and PostMessage to the handle with the proper hotkey -- swapping camera player follow is more or less a WM_KEYDOWN, MapVirtualKey()). Also most of it would be considered a horror.

More or less doing ReadProcessMemory excessively and collecting things. Internally, almost everything is represented as an (int)ItemID or some kind of short internal name (like GarenE, GarenR, AhriTumble), and I use fontconfig_en_US.txt to map that to English strings.

The IRC bot itself is just something that subscribes to a wss:// url and parses JSON events into displayable text.

Impotence fucked around with this message at 18:48 on Oct 19, 2013

Xerophyte
Mar 17, 2008

This space intentionally left blank
Context: I'm trying to convert a Phong material (from an old .mtl, even) to a representation that has refraction and is energy conserving.



Pro: it looks p. cool.
Con: it looks nothing like the original material.

Back to the drawing board...

lord funk
Feb 16, 2004

Xerophyte posted:

Context: I'm trying to convert a Phong material (from an old .mtl, even) to a representation that has refraction and is energy conserving.



Pro: it looks p. cool.
Con: it looks nothing like the original material.

Back to the drawing board...

Mmmmm... gummy dragon.

Xom
Sep 2, 2008

文化英雄
Fan of Britches
I just discovered Firebase (I was checking what http://drafts.in uses), and wow, why couldn't I have stumbled across this years ago??

Here's a checklist that syncs, via Firebase, for everybody with the page open. The page source contains all of the code I wrote that's involved. (checkboxen.firebaseio.com is under my control, and currently set to no access restrictions)

Dishman
Jul 2, 2007
Slimy Bastard

HELL YES

Xom
Sep 2, 2008

文化英雄
Fan of Britches

Xom posted:

I just discovered Firebase (I was checking what http://drafts.in uses), and wow, why couldn't I have stumbled across this years ago??

Here's a checklist that syncs, via Firebase, for everybody with the page open. The page source contains all of the code I wrote that's involved. (checkboxen.firebaseio.com is under my control, and currently set to no access restrictions)
I fixed the sanitize function; genuine thanks to the anonymous goon who found an exploit!

(It deleted tags containing '('; the exploit was <img src="http://i.imgur.com/fGuk9s.jpg" onLoad="sanitize=String">. I've now de-whitelisted <font> and <img>, which were the only tags allowed attributes. I did the same fix to http://xomnom.com/preference.html except still allowing <img>, with stricter sanitization. Again, thanks!)

TerraGoetia
Feb 21, 2011

A cup of spiders.

I am flowcharting how I want some of the enemies in the game to work. The character in our game is non-combative; he can not kill or defeat enemies. This decision was made because alcohol is a major factor in the story of the game, and we didn't want to associate alcohol with increased violence of the participant. So, the main enemy interaction is based around dodging their attacks and moving around them skillfully. I am going to be implementing a basic enemy this weekend, and this is me trying to plan out how I want them to act. There are composite states in their behavior, in this instance, a Shooting State and Patrolling State. But those states have their own internal states that may need to be remembered when we transition between Patrolling and Shooting. For instance, we would want the enemy to continue on their patrol after they have finished shooting--we do not want them to restart their patrol from a default start.

In other cases, we will want the transition to take us to the start of a composite state. When we transfer to a Shooting State, we should always be readying the weapon before shooting; there is no other proper order for those actions.

Pardot
Jul 25, 2001




Xom posted:

I fixed the sanitize function; genuine thanks to the anonymous goon who found an exploit!

(It deleted tags containing '('; the exploit was <img src="http://i.imgur.com/fGuk9s.jpg" onLoad="sanitize=String">. I've now de-whitelisted <font> and <img>, which were the only tags allowed attributes. I did the same fix to http://xomnom.com/preference.html except still allowing <img>, with stricter sanitization. Again, thanks!)

You're welcome, though I just did src='#', someone else added that image later. Doing sanitization like that client side with regular expressions though is always going to have holes. That was a fun one to find though.

steckles
Jan 14, 2006

Xerophyte posted:

Context: I'm trying to convert a Phong material (from an old .mtl, even) to a representation that has refraction and is energy conserving.



Pro: it looks p. cool.
Con: it looks nothing like the original material.

Back to the drawing board...
Not sure what look you were going for, but the render looks pretty sweet.

I take it you've read this paper on glossy refraction? It's a more complicated to do in a physically accurate way than it seems at first.

Xerophyte
Mar 17, 2008

This space intentionally left blank

steckles posted:

Not sure what look you were going for, but the render looks pretty sweet.

I take it you've read this paper on glossy refraction? It's a more complicated to do in a physically accurate way than it seems at first.

Yeah, the renderer is physically correct and uses a microfacet model for refraction, reflection and dielectrics (with a Beckmann normal distribution rather than Walter/GGX, but same difference). The problem is a .mtl material can't be directly represented since their model isn't energy conserving. The conversion needs to decide what takes energy from what and that render was the result of a (pretty sweet) screw-up.

Final (probably) .obj loader does this with the same data

There's still a decent amount of bullshit involved but the appearance much closer to a non-physical renderer on the same file. And still pretty sweet.

Thermopyle
Jul 1, 2003

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


I would eat that gummy dragon.

hendersa
Sep 17, 2006

I've been up to my eyeballs in wrangling various projects, but I've been making good progress all around on a couple of neat things. I picked up a 240x320x16BPP display from Adafruit.com that has a nice SPI interface on it, and I'll be interfacing it to my BeagleBone Black:



I'm still working towards my end goal of creating a teeny-tiny SNES portable. We'll see how it goes. On a different note, I usually give two or three guest lectures for various graduate classes each semester, and the last one that I did (a few weeks back) was recorded. So, if you want to hear me talk for an hour on Android internals and the BeagleBone Black, you're in luck:

https://www.youtube.com/watch?v=iUCKrJ1ZVxE

Jewel
May 2, 2009

hendersa posted:

I've been up to my eyeballs in wrangling various projects, but I've been making good progress all around on a couple of neat things. I picked up a 240x320x16BPP display from Adafruit.com that has a nice SPI interface on it, and I'll be interfacing it to my BeagleBone Black:



I'm still working towards my end goal of creating a teeny-tiny SNES portable. We'll see how it goes. On a different note, I usually give two or three guest lectures for various graduate classes each semester, and the last one that I did (a few weeks back) was recorded. So, if you want to hear me talk for an hour on Android internals and the BeagleBone Black, you're in luck:

https://www.youtube.com/watch?v=iUCKrJ1ZVxE

Have you ever considered moving away from the BeagleBone to interface with the bare minimum microchips and such that you need? Beaglebone seems like it uses up a ton more room than you could get with just microchips. Or does the Beaglebone provide stuff that's inherently extremely hard to do without it?

steckles
Jan 14, 2006

Xerophyte posted:

The problem is a .mtl material can't be directly represented since their model isn't energy conserving. The conversion needs to decide what takes energy from what and that render was the result of a (pretty sweet) screw-up.
It's neat the you've decided to go that route when converting .mtl files. My raytracer just grabbed the colour and roughness, or shininess, or whatever it was called, and made a simple diffuse/Cook–Torrance blend material that didn't try to match the appearance at all.

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

Xerophyte posted:

Yeah, the renderer is physically correct and uses a microfacet model for refraction, reflection and dielectrics (with a Beckmann normal distribution rather than Walter/GGX, but same difference). The problem is a .mtl material can't be directly represented since their model isn't energy conserving. The conversion needs to decide what takes energy from what and that render was the result of a (pretty sweet) screw-up.

A quick question, are you doing some form of backface culling here? Just eyeballing, but it looks like we're only seeing the front faces in this model, and when you have transparent objects the backfaces should (I think?) have some effect on the final image.

Looks really nice though! I haven't done any raytracing for ages, just basic stuff for a class.

hendersa
Sep 17, 2006

Jewel posted:

Have you ever considered moving away from the BeagleBone to interface with the bare minimum microchips and such that you need? Beaglebone seems like it uses up a ton more room than you could get with just microchips. Or does the Beaglebone provide stuff that's inherently extremely hard to do without it?

For some aspects, such as the interfacing to the display and GPIO inputs, I could get away with talking directly to the processor without using the full functionality of the BBB board. But, I find that having a known good chunk of hardware available helps limit the number of variables in creating a system like this. I also like using a pre-made board as a base because it helps people to easily duplicate my work with a minimum of effort and without the need for special equipment. I actually develop all of my projects with the intention of providing open source hardware designs, source code, and documentation. I want them to serve as examples to others that are interesting in developing similar systems.

I use the BeagleBone Black in particular because it has a lot of processing power at a good price point. Documentation on creating complex systems for the BBB is currently lacking, so I try to fill that gap as best as I can. In fact, I just got a set of proofs back for a magazine article that I wrote that explains the HDMI functionality of the BBB (and the kernel drivers that make it work):



drat it... you people are going to learn something. :eng101:

MarsMattel
May 25, 2001

God, I've heard about those cults Ted. People dressing up in black and saying Our Lord's going to come back and save us all.
I've been working on implementing Dual Contouring for a while, finally getting close to the full system described in the second paper.

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe
This really isn't anything impressive as a screenshot, but I decided to learn how image compression works, and I built a JPEG decoder in pure JavaScript :



Screenshots I took along the way for progress. Lots of happy accidents:








lord funk
Feb 16, 2004

Speaking of glitches, here' one from my iPad controller TC-Data. I looks cooler than its intended display, dammit.

Only registered members can see post attachments!

Adbot
ADBOT LOVES YOU

Sharktopus
Aug 9, 2006



its a streaming gif that livestreams yospos irc

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