Jump to content
  • Advertisement
Sign in to follow this  
  • entries
  • comments
  • views

Mini-Screenies Variety Pack.

Sign in to follow this  
Stephen R


I haven't done much procedural generation before so I decided to read up on it and make a few samples two days ago. I went to various demo sites to see where they recommend precedural-n00bs such as myself start off. Everything seemed to point to starting with old school 2d effects as being a good starting point, so I decided to build some.

The first I did was the classic plasma effect. This was quite easy once I got everything set up. What I found really interesting here was how various waves could be added together and their results. The number is the frame rate. I used this app as the basis for the latter demos which will explain various reading later on.

Next I did the fire effect, again a classic effect. Nothin too interesting here appart from the basic fire generation mechanism which was kind of cool. I think it looks nice though.

Then I decided to make up something (or at least do something that I hadn't seen done too often before). So I made a 2d pseudo-metaball demo. Basically three little balls fly around each other and their colors are added together when they overlap. What was interesting here was messing around with generating different palletes and getting the colors to change at specific rates. These three demos look better animated.

After the success of the meta balls I decided to see how many little balls I could coordinate at once so I decided to make a small galaxy generator out of simple particles. The frame rate here represents how many renders are done per second, but it is only updated every 50ms. I couldn't find anything on galaxy generation after a 5 minute google, so I just wrote a 5 pronged particle emitter and let it run (4 prongs ended up look a bit hitler-esque). This looks WAY better when its animated, but this should give you an idea of what it looks like.

Then I decided to write a perlin noise generator. This was really interesting for several reasons. The first was the bilinear smoothing which was just plain cool. The second was how the different magnifications were added together to result in the final noise. I used yellow here because the other colors just looked crap. Framerate means nothing here, I generate once and render for ever.

Next I went on to combining the noise with some simple sin waves to create a marble effect. This took about two minutes to add on top of the perlin noise app, but the result was really nice. This showed a different method of combining data with waves which was interesting.

Well that enough of my little pics for now. If you happened to bypas this stuff for whatever reason on your path to gamedev I really recommend going back to it, its really cool stuff. I may or may not have more demos in the near future. I have to think up a few more to make.
Sign in to follow this  


Recommended Comments

Great stuff. Of course, the really fun bit with procedural textures is being given an end result and trying to come up with code to generate it [smile]

Share this comment

Link to comment
Thanks for the comments. And yeah, the next step is to use some of these techniques in an actual game project.

Share this comment

Link to comment
Steve, there's a lot of good stuff in Hugi on combining this kind of stuff to make nice, realistic textures.

Do some procedural 3d stuff as well, it's much more satisfying. That perlin noise is really cool though.

Share this comment

Link to comment
Hey, I'd almost forgotten about Hugi. Its been a while since I've read them, but they're still floating around on my machine so I'll look over them again. And I'm just starting work on the first 3d demo, so there'll be screenies of that whenever its working.

Share this comment

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!