Not logged in, Join Here! or Log In Below:  
News Articles Search    

Submitted by Lode Vandevenne, posted on January 19, 2005

Image Description, by Lode Vandevenne

Here are some screenshots of my particle system, along with windows from the GUI system.Those are all part of the 2D game engine I'm working on, that'll be used for a commercial online game, but is made as a separate library to prevent any commercial restrictions.

This is the emitter designer (an emitter is the object that emits the particles). It allows you to create and tweak emitters for the 2D game by setting it's parameters in realtime. It also acts as a demo of what the game engine can do. The engine is developed in DevC++, and uses SDL and OpenGL.

The particle system works like this: the emitter creates particles with random initial parameters. Every frame, newtonian physics are applied to each particle to make them move around, their age is increased, and parameters like size and color are updated as they get older. When a particle reaches it's maximum age, it dies and the emitter can make a new one. With the right settings, this allows you to create effects like fire, snow, fountains, ... You can also set a target that all particles will fly towards, which is useful for magical spells.

The GUI system is pretty complex and has tons of classes including a container that handles the mouse access for all gui elements, a window that can be dragged around, a button, a text input area, a console, a scrollbar, a grid useful for tile game map editors, etc... Everything can be skinned with textures of any size and shape. There's also a font system that can draw text with bitmap fonts.

Also included in the engine are an image loader (using SDL_image), mouse and keyboard input, timing, a texture class, color classes for different color models, etc...

I'm not releasing the source because it's not done yet.

You can download the demo here ( A manual pops up if you press the "help" button. If you don't want to read this long text and still want to see some effects, you can try some premade effects by pressing the buttons of the "Presets" window. The "R" button generates a new random effect every time you press it. The "hide windows" checkbox makes all those scrollbar windows invisible to be able to see the effect better.

A few people reported they got an OpenGL error and some had an abnormal low FPS, but for most people it worked with 100+ FPS. If the program "matlabserver.exe" is running in the background, you have to close that one because it prevents OpenGL from working.

Image of the Day Gallery


Message Center / Reader Comments: ( To Participate in the Discussion, Join the Community )
Archive Notice: This thread is old and no longer active. It is here for reference purposes. This thread was created on an older version of the flipcode forums, before the site closed in 2005. Please keep that in mind as you view this thread, as many of the topics and opinions may be outdated.

January 19, 2005, 02:28 PM

Looks very nice =) But for editing particles, dont you think it would look a lot cleaner if you had only one, or two windows, instead of like 11? If you just wanted to show off the GUI, then i guess its fine. But otherwise, i would make one rather large window.

Keep up the good job.


Lode Vandevenne

January 19, 2005, 02:41 PM

It was partially meant to show the GUI, but also, a single window wouldn't be big enough to contain all scrollbars unless it's as big as the screen. Now you can drag away all the ones you don't need.


January 19, 2005, 02:50 PM

Why not using tabs?


January 20, 2005, 02:59 AM

That's what I was thinking too. If you wanted more flexability then use a system similar to Photoshop where you can drag tabs over each other to make tabbed windows, and pull them off to create a new window with just that tab.

But I'm sure there's more important work to be done rather than appealing to the whims of the forumites ;)

This thread contains 4 messages.
Hosting by Solid Eight Studios, maker of PhotoTangler Collage Maker.