Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 17 Nov 2008
Offline Last Active May 26 2016 02:02 PM

#5173742 How can I recognize hand drawn shapes? (eg. the wizard in Trine)

Posted by on 14 August 2014 - 06:16 PM

Follow up from my own research: ends up there's no simple solution, should have figured. My options are either to go through the full learned state idea where a library is taught what to look for with examples, or you program it to compare against the sizes of a few basic shapes and nothing more.




This article was the most helpful, and it looks like there's no easy or intuitive solution to this. The closest is...


1. Get convex hull for current shape (like putting a rubber band around it)

2. Compare convex hull to smallest of X shape that would fit around it (circle, then square, then triangle, etc)

3. If areas are almost one to one, they are probably the same shape.


It's pretty good for what it sets out to achieve, but it can't handle interesting shapes that are different, but have similar convex shapes (so ellipses and diamonds are tricky for it).


If I find any better options, I'll report back here, but for now it looks like this isn't a good enough approach, so a library is probably necessary.

#5165463 How to draw visible shadow volumes, but through transparent polygons too

Posted by on 08 July 2014 - 12:02 AM

Alright, final product is a combination of the partial solution and a workaround. When you touch a block, it immediately switches to 50% opacity and disables itself as a shadow surface, but also doesn't render before shadows again until after it's back at 100%. The shadows disappear when the crumbling blocks are touched then, but appear as soon as they're whole again, and all transparencies look good.


So it's about 80% of what I hoped for, and it looks good. :) Thanks guys!

#5130970 Any options for affordable ray tracing?

Posted by on 13 February 2014 - 12:26 AM

So as someone who has dealt with real time graphics instead of prerendered for his entire career, when I look at this..




...I feel like it's still a distant dream. Everything I'm learning is about how mirrors are too hard and how Portal's whole system was simplified to work with multiple cameras/physics in the game. That just doesn't seem right to me. There must be some way, especially with all these new consoles rolling in, to handle bending light, right?


My ideal would be something like these:






Reflections and curved/bent light, that's really all I'm looking for. Now, that might be asking for a whole new Google/Facebook (or some equally absurd and impossible amount of work), but I really think there's a workaround I just haven't heard of yet.


If all I want is these two things, do I have any options? Maybe even ones with a camera that moves?


I'd love to have a world the player can navigate where light bends in these beautiful ways. Are there any options at all for that right now?

#5105103 Programmatic 2d outline for textures, but with some z-offset

Posted by on 28 October 2013 - 12:50 PM

This is probably the most complicated semi-2d thing I have attempted before, and so far I have not found anything online about this kind of a shader, approach, anything. 


I'm trying to make one outline for multiple 2d textures (from image files with transparency) rendered on separate 3d planes (couldn't wait until Unity 4.3). It should have A, B, and C up front, and then A's outline, B's outline, and C's outline in back (so that A, B, and C have no outlines at their overlaps). An image might help:



The final monkey accomplishes everything that I'm looking for. The pieces overlap, but the outlines all appear behind.


Now, there are a couple of ways to do this, but I want to see if there's a way to do it without doubling the assets, and without having a crazy slowdown. Reasonable requirements in general, but lofty goals for this particular issue it seems.


Some have suggested simply scaling all assets and rendering them in black:




This does not work with shapes like crescents, where there is empty space between the center of the object and one of its filled pixels. Scaling a silhouette will instead lead to outlines only for the outer edges.


An approach that does make a decent outline is rendering the silhouette in 24 different angles, offset by some radius:



This approach though becomes painfully slow if anything is changing. It can be done once at the beginning of a scene to great effect, but it does not work well if your animations change every frame.


Luckily: I am not seeking to change my animations every frame, so I believe this approach will work for me. The question then is, how can I get it to appear with a Z-offset?


Conceptually, I will most likely have a separate plane for every object, then a second plane for each object's outline, and then have all the outline planes mimicking the original planes every frame, and compute the outline from those 24 offsets at the beginning of the scene only. The Unity forums said that creating a shader would be too expensive if it was trying to do an outline every frame, so having extra assets was the best approach. I think I can still do those assets programmatically, but just in general I am looking for the most flexible approach to this.


Are there any other techniques in this field that I should be looking at for 2d outlines of image files with transparency, rendered on 3d planes?

#5071000 "Soft" shader, or, how do I get this skin-lighting effect?

Posted by on 18 June 2013 - 07:39 PM

You guys always know how to pull off these fancy tricks, so perhaps you can help me with this. Nintendo's newest round of games all have this amazing "soft" look to them visually, no more hard light-to-dark gradients. Instead, there's backlighting or that layered skin effect, underlighting, *something*. That's what I'm trying to figure out, and then how to do it.





Kirby here, and maybe Pikachu's chest just under his arm.



These two cube men, with some ridiculously soft lighting/shadowing system, although I think it might be different from the others.



The back of this girls head, just under her hairline. It definitely glows, but only at the edge of her head.



Here Pascal, the red otter, has the glow all around his head. The girl also has it, but on her jawline.


So I'm guessing the glow is a reflection, due to what fancy-schmancy art class still life taught me.



^art skewl


Although I'm also inclined to think it's a skin transparency layering mimicking thing, like the PS4 demo by David Cage (only significantly cheaper on the processor, I'm sure).


And I still think that Cube Men one is a different shader/lighting/thing altogether, but I don't know how to describe it compared to the others.


So, thoughts? Directions? Help? I want my game to have friendly, soft, and welcoming visuals. So far, all of the above do an excellent job of that, so I'd like to learn what I can from them. Many thanks!

#5031978 MVC and the in-betweens for game development

Posted by on 13 February 2013 - 01:54 PM

Hello GameDev! I'm starting work on a new project now, and I want to fit it as nicely into MVC as possible. I feel comfortable distinguishing game logic from graphics from input, but I want to get better/cleaner at this. A couple edge cases still confuse me, for example, where do I put cutscenes? Is the timing between shots in game logic, even though it has no impact on the rules, or should it be 100% in graphics, since it's all visuals and no engine or interaction?


More what I'm trying to figure out (part 2) though is how to share information between the three. In my last game, I gave everything access to the game logic main file, and had things passed through a couple files to go up/down the hierarchy (from keyboardHandler to controller/input to model/game logic to playerHandler) but that felt sloppy to have things jump through so many steps. Any advice on this?

#4989587 Best dedicated, free, cross-platform, commercial supporting audio library?

Posted by on 12 October 2012 - 03:29 PM

In case anyone else is pursuing this, my results:

Tried OpenAL directly at first and found it a bit frustrating, not easy to move around between OSes. Just got SFML working on my Windows machine and I must say, the tutorials are excellent! Using 2.0 myself (built my own sources even since the release candidate was a bit outdated and had laggy joystick work) and having joysticks there too made part 2 of my quest (adding plural/multiple joystick support) helped out a lot too.

So, SFML is recommended, and I hope to edit this post once I try it out on Linux and Mac too.