Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 03 Nov 2006
Offline Last Active Today, 07:59 AM

#5180946 Simple 2D lighting effects

Posted by BarrySkellern on Today, 02:06 AM

I've been working on a method for real time lighting on pixel art. I've put some videos up on YouTube. Latest one here




I haven't written up my method yet as I'm still finishing up some details, but you can see the idea. I do it by offline rendering various normal, material and occlusion maps into my sprite sheet alongside the diffuse colour, then doing similar to a 3D deferred renderer but using the 2D sprites to populate the geometry buffer. It supports dynamic point lights and directional lights so far.


It's a bit similar to the Gamasutra article I guess (though that article hadn't come out when I started working on it.)

#5152013 The acceptance of gold loot in RPGs

Posted by BarrySkellern on 07 May 2014 - 05:06 AM

If you're worried about immersion and realism, you should question whether a mighty warrior on an important quest would stop to search the body of a snake at all ;-)

#5151562 Using Directx11 without using a Microsoft math library

Posted by BarrySkellern on 05 May 2014 - 02:16 AM

You can also change the default to row-major storage by specifying the /Zpr flag when compiling your shaders. It's probably a good idea to use the same convention for everything across your project.

#5141390 Does this type of collision phyisics have a name?

Posted by BarrySkellern on 23 March 2014 - 04:05 AM

As for drawbacks, the main problem is that a circle is not necessarily a close enough representation of your object. For a long thin object the bounding sphere will contain a huge amount of empty space. That will lead to a lot of false positives in intersection tests. An axis aligned or oriented box is a tighter fit in many cases.

Whether circles are good enough for your circumstances, well, that of course has more to do with your circumstances than the circles.

#5133306 How did you learn C++?

Posted by BarrySkellern on 21 February 2014 - 11:06 AM

Much like a lot of other answers here, I learned c++ for university projects (statistical physics).

I think it's important to work on projects that interest you, to help you stay motivated, so try to think of a small project that will give you a buzz.

Also, remember that different people will solve a problem in different ways, and c++ is a multi-paradigm language. There's no substitute for doing your own coding, but it can also be an eye-opener to read someone else's code (assuming you trust their abilities of course.)

Most of all, have fun with it, and don't be scared to try and fail. Nobody has to see your early coding horrors! And nobody here will judge you badly for making mistakes. Good luck!

#5125583 Side Scroller level textures

Posted by BarrySkellern on 22 January 2014 - 01:22 AM

You could also consider multitexturing, ie using lower frequency textures to modulate parameters or blending over large regions of similar tiles. The effect can still be quite obvious as it doesn't change the fact that the tiles do repeat, but it can add some an extra layer of variation in addition to the other effects mentioned.

#5125511 Voice recognition and third person open world games

Posted by BarrySkellern on 21 January 2014 - 05:24 PM

I think there's practical reasons why it would put some players off, no matter how cool an effect it is. I have a six month old son asleep upstairs and my wife's trying to do her college assignment on the sofa next to me: the last thing I want to do right now is scream at a hostage! I'd require some alternative input mechanism to carry out equivalent functionality, otherwise I simply wouldn't be able to play your game.

#5125507 Skin Micro Bump

Posted by BarrySkellern on 21 January 2014 - 05:03 PM

Take a look at the next-gen character rendering material from Jorge Jimenez. http://www.iryoku.com/stare-into-the-future


I think the large download is the slides from GDC 2013 - I read them from a different source originally and don't have time to download the large file to check. But if it's the correct document then it contains a lot of really fascinating stuff about skin and eye rendering, subsurface effects in thin structures (like back-lit earlobes) and so on.

#5125028 Same vertex, but different UV?

Posted by BarrySkellern on 20 January 2014 - 06:21 AM

The case of the cube is an extreme example because every vertex is on a seam. In a realistic sensibly-UV-mapped model the proportion of vertices that need to be duplicated for such a reason is small as a proportion of the total number of vertices: the vertex count is far more likely to be dominated by those internal to smoothly-varying portions of the model, which have shared positions, normals and textures.


Basically, under normal circumstances the overhead of duplicated vertex data at seams is unlikely to be a cause for concern in terms of performance or memory.

#5034445 Starting a web presence...

Posted by BarrySkellern on 20 February 2013 - 02:10 AM

Wordpress - even the freebie one - has quite a good set of tools for tracking stats for page reads, unique visitors etc, which is a handy tool for gauging your visibility. Maybe when you're getting a lot of interest you could consider setting up a "proper" site.


One downside of the free Wordpress stuff is that it can take nearly as much time to make it look unique as it would to create a site from scratch. The free themes are nice enough, but they're pretty generic and most of them don't allow a huge amount of customisation.

#5025371 xna dead?

Posted by BarrySkellern on 25 January 2013 - 02:37 AM

I broadly agree with Cornstalks' comment, but I feel it's worth noting that XNA is built on DirectX 9, and things in the 'native' world have moved on a bit since then, to DirectX 11. It used to be that case that after learning the XNA graphics API you'd look at DirectX 9 graphics API and think "oh yeah, this must be what's happening under the hood when I use XNA," and it all seems quite familiar. That's not so much the case with DirectX 11.


That's not to say XNA won't teach you anything transferable - all the vector maths, mesh structures, texture sampling etc. is common theory regardless of the API you're facing, and of course there's much more to making a game than graphics programming. All I'm saying is that it's somewhat less transferable than it used to be in that specific area.

#5023979 How to handle this problem

Posted by BarrySkellern on 21 January 2013 - 11:49 AM

It's generally a better idea to use int.TryParse(...) to parse numbers. That function returns false if the parse fails so you can take appropriate action. Only use int.Parse() if you can guarantee that the operation will succeed. In the case of user input, program defensively by using TryParse.

#5022869 Texture mapping question

Posted by BarrySkellern on 18 January 2013 - 06:29 AM

In general any point on the surface of the cylinder (radius not being relevant here) can be uniquely identified by two numbers: the distance along the axis of the cylinder and the angle around the cylinder. Those coordinates will range from 0 to the length of the cylinder, and 0 to 2*pi in angle. If you scale them both by dividing by the relevant range you will get two coordinates running from 0 to 1. Those could be used as your texture coordinates to sample the image. You will need to make a choice of which end of the cylinder is the "bottom" (i.e. the end at u=0) and what angle should be the "seam" (i.e. at v=0 and v=2*pi). Notice that the angle coordinates will repeat at this seam, so your texture will have to repeat in the corresponding direction so as not to display a visible discontinuity.


For more info, see e.g. http://en.wikipedia.org/wiki/Cylindrical_coordinate_system


Hope that helps.

#5022495 Lack of reasonable ideas

Posted by BarrySkellern on 17 January 2013 - 06:16 AM

Why not download an emulator or two and try out some old games for inspiration? Lots games on, say, Atari ST or ZX Spectrum are small scale and somewhat experimental, just due to the nature of the systems and immature state of the industry at the time they were made. Maybe try to remake something that grabs your attention, something a bit different or off the wall?

#4794255 [SlimDX] Multitexturing & a cursor on the terrain

Posted by BarrySkellern on 04 April 2011 - 10:01 AM

I believe the DirectX SDK download comes with a texture tool that can compile custom mipmap levels into a texture (I haven't used it for a long time, but check it out, it might do what you need.) Otherwise, Google. I just searched for "DirectX texture tool" and got a bunch of useful looking hits.