• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.
Sign in to follow this  
Followers 0
hpdvs2

Interesting effects for particle physics...

7 posts in this topic

In my Game Development classes, I commonly teach particle physics, to use for things like explosions and thrust.  I'm wondering what other interesting things you might use particle physics for.  Or different effects.  Here is just a handful of some I've used.

 

Color Changing

Alpha Changing

Directional Gravity

Orbital Gravity

Friction

Jitter

 

Connective, like Leash/Elasticity/Follow/Evade

 

Bump Logic, Bounce, Screen Wrap.

 

 

One other odd one, was identifying the color/location of each pixel in an image, placing them in an array, using the location as a target with orbital gravity, randomizing each location, and adding friction.  This created what appeared to be a star field that sat dormant, but when I activated its effects, all the stars on the screen pulled together to form an image.  Was really interesting.

 

I would also use this to "morph" an image into another, but scattering the pixels and applying color changers to each particle, and adding a bunch of invisible particles where it needed to add them that faded in to view.  It worked pretty nicely.

 

So, What other interesting particle effects have you seen/used.  I'm creating a list for students to consider.

2

Share this post


Link to post
Share on other sites

I implemented "random walk" which I have much use for. Maybe that is what you call jitter above.

You can always try my particle system implementation if you feel like playing. Maybe it will give you some ideas.

Link: http://www.dualheights.se/demorize/

Documentation on how to use the particle system: http://www.dualheights.se/demorize/reference/ch15s01s09.shtml

 

I'm also interested in trying new physics ideas so if you have any, please share and I can try implementing them in my system.

Edited by Kjell Andersson
0

Share this post


Link to post
Share on other sites

Code to detect if a particle is within the bounding volume of an arbitrary mesh or implicit surface (i.e. nurbs) using compute shaders

0

Share this post


Link to post
Share on other sites

Using NURBS? It's a can of worms. Not even physics APIs support NURBS (Bullet doesn't for sure).

 

Most particle systems I've seen were tuned to simulate fuzzy phenomena such as smoke. Neither of the two examples above seem to fit. They're nice examples sure but I wonder if it's worth designing a PS so high-level it allows to do that.

 

There was a presentation for a Command & Conquer game floating around on PS, in which they discussed how they designed the system. Unfortunately, I cannot find the matching keywords right now. I hope somebody remembers this presentation as well and provides a link to it!

0

Share this post


Link to post
Share on other sites

There was a presentation for a Command & Conquer game floating around on PS, in which they discussed how they designed the system. Unfortunately, I cannot find the matching keywords right now. I hope somebody remembers this presentation as well and provides a link to it!

Was it not possibly this one? http://www.2ld.de/gdc2007/EverythingAboutParticleEffectsSlides.pdf

 

The UE4 presentation for siggraph 2012 also had some pretty cool stuff on particle vector fields and other particle related stuff using CS

Edited by Necrolis
2

Share this post


Link to post
Share on other sites

While touched upon in the C&C presentation, Halo: Reach also has probably one of the coolest little collision tricks I've seen-- basically treat the depth buffer as a heightfield and collide against that. Details are in the presentation located at the GDC Vault and a short summary is here.

1

Share this post


Link to post
Share on other sites

Using NURBS? It's a can of worms. Not even physics APIs support NURBS (Bullet doesn't for sure).

 

Most particle systems I've seen were tuned to simulate fuzzy phenomena such as smoke. Neither of the two examples above seem to fit. They're nice examples sure but I wonder if it's worth designing a PS so high-level it allows to do that.

 

There was a presentation for a Command & Conquer game floating around on PS, in which they discussed how they designed the system. Unfortunately, I cannot find the matching keywords right now. I hope somebody remembers this presentation as well and provides a link to it!

 

Bullet does not support Nurbs because they either don't have a solution to the problem, or they don't have an efficient way of doing it. Next gen rendering engines

would probably have support for Bezier and Nurbs patches via the tessellation shaders, there are examples available for both D3D and OpenGL. So Spline cages will be the way a lot of geometry can be rendered.

 

Particles are extremely easy to compute in computational terms because they require a low amount of processing per point and many particles can be simulated simultaneously using shaders. 

 

The term "can of worms" is hardly correct. 

 

The fact is, a solution was available in one of the Graphics Gems books for finding the nearest point on a Bezier curve - the solution is arrived by taking a numerical differential equation solver and applying it to a rearranged form of the Bezier generator function (quintic or order 5). Now the Bezier surface can be defined (via lookup) as the product of the generator functions of 2 curves (only 2 curves). I don't know what the equation to solve would look like.

 

Now supposing you have tons of parametrically defined objects, in a database where curves are curves, and flat edges are flat edges. A renderer would ideally be able to display this on GPU. In addition, if you could cut any curve by another curve or point set, then you could probably have a form of curvy BSP, and that concept is very interesting. but before you can make cuts, you need to determine the point set. 

 

And for rendering particles, if they collide with a Bezier surface, or any parametric surface, it would be good to see a change in physics or colour. (obviously)

 

There is some information here http://www.flipcode.com/forums/thread/7269 using the http://en.wikipedia.org/wiki/De_Casteljau's_algorithm you could have a stack and a while loop instead of recursion to find out if you got a collision.

Edited by ray_intellect
0

Share this post


Link to post
Share on other sites
A common one for games is a ribbon rendering mode instead of a point-sprite rendering mode -- either stitching together multiple particles, or the history of a single particle to create a trail.

'Effector volumes' (not sure of standard term) are pretty useful -- if a particle is inside some shape, add a force. E.g. A cube of directional wind, or a cylinder or of circular wind for a tornado.

Depending on how advanced your class is, navier stokes and SPH would be a great advanced effect.
1

Share this post


Link to post
Share on other sites

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
Sign in to follow this  
Followers 0