Allegro.cc - Online Community

Allegro.cc Forums » Game Design & Concepts » Geometry Wars / Neon Wars Explosion effect

This thread is locked; no one can reply to it. rss feed Print
 1   2 
Geometry Wars / Neon Wars Explosion effect
Paul whoknows
Member #5,081
September 2004
avatar

I opened this thread to talk about how the Geometry Wars' explosion effect is done. I have also included the name Neon Wars because Phipps' explosions are slightly different.

I just started learning OpenGL using AllegroGL and I can think of some ways to implement it, but I really prefer to seek the advise of more experienced people, I know there are many in this forum!

Since I am using AllegroGL, I would prefer to focuse in how to develop this effect using OpenGL or AllegroGL, however, OpenLayer or D3D ideas are also welcome.

If you don't know what I am talking about, just watch at these videos:

Geometry Wars

Neon Wars

____

"The unlimited potential has been replaced by the concrete reality of what I programmed today." - Jordan Mechner.

Jonatan Hedborg
Member #4,886
July 2004
avatar

It looks like additively blended line particles. Some velocity dampening and fading graphical intensity with time.

The "swirly" effect in geometry wars is probably a grid of points with spring constraints. The constraints are drawn with their graphical intensity being proportional to the difference from current length to the resting length (probably squared, for performance reasons). Also with additive blending.
Bullet projectiles probably work as "force emitters" in order to push the points around.

(I did a small demo a while back to try this effect... it looked pretty nice)

Paul whoknows
Member #5,081
September 2004
avatar

Quote:

It looks like additively blended line particles. Some velocity dampening and fading graphical intensity with time.

I was thinking just in pixels, but now that you metioned, yes! it seems that it is made using lines particles, I think I'll try this approach.

Quote:

(I did a small demo a while back to try this effect... it looked pretty nice)

Can I try it? :)

____

"The unlimited potential has been replaced by the concrete reality of what I programmed today." - Jordan Mechner.

Jonatan Hedborg
Member #4,886
July 2004
avatar

I actually managed to find it. I rather hoped that I wouldn't, now I have to show the world this abomination :X

It uses OpenLayer. There is an executable in there.

The coding is probably quite horrible, with most of the logic in one big loop and whatnot... There are no comments (obviously ;)).
You control it with the mouse and buttons 1-4 (depending on what mode you are in, the mouse button will do different things to the grid).

Exercises for the reader: Make something that fires bullets. Make bullets "push" the poins. Make the lines change strength depending on length :)

I think I might have some particle system test laying around also...

Have fun :D

Schyfis
Member #9,752
May 2008
avatar

Abomination? You're kidding, right?
I think it's a pretty cool effect! I'll see if I can make something like this myself this weekend. It should give me a good chance to learn about AllegroGL.
On a side note, it seems to need zlib1.dll in order to run.

________________________________________________________________________________________________________
[freedwill.us]
[unTied Games]

Paul whoknows
Member #5,081
September 2004
avatar

Jonatan, you did a really cool effect in your demo! it looks amazing and it runs really smoothly! I'll try to use some of these nice effects in my game as well, thanks!

____

"The unlimited potential has been replaced by the concrete reality of what I programmed today." - Jordan Mechner.

Timorg
Member #2,028
March 2002

If someone could post the zlib1.dll it would be good, because if if I am going to get it from an untrustworthy source, it may as well be you people. :D

____________________________________________________________________________________________
"c is much better than c++ if you don't need OOP simply because it's smaller and requires less load time." - alethiophile
OMG my sides are hurting from laughing so hard... :D

GullRaDriel
Member #3,861
September 2003
avatar

"Code is like shit - it only smells if it is not yours"
Allegro Wiki, full of examples and articles !!

lambik
Member #899
January 2001
avatar

here you go

GullRaDriel
Member #3,861
September 2003
avatar

I beat you lambik ;D

BTW, why your file is smaller than mine ? Perhaps from an obscure versionning...

My dll claim to be version 1.2.3.2027.

"Code is like shit - it only smells if it is not yours"
Allegro Wiki, full of examples and articles !!

Timorg
Member #2,028
March 2002

The program starts, then crashes. :-/
Perhaps its time to finally get openlayer so I can debug this. :)

Edit: with either dll

____________________________________________________________________________________________
"c is much better than c++ if you don't need OOP simply because it's smaller and requires less load time." - alethiophile
OMG my sides are hurting from laughing so hard... :D

lambik
Member #899
January 2001
avatar

Gull tu bastarde:

<- points at avatar

[edit] I got my dll from the zlib.org page. Version 1.2.3.0 it seems.

GullRaDriel
Member #3,861
September 2003
avatar

Works fine there. Allegro DLL conflict perhaps ?

Edit: uploaded a full working version 7z'ipped with all dll inside.

Here is what strings | grep -i dll gave to me:

alleg42.dll
GDI32.dll
KERNEL32.dll
msvcrt.dll
msvcrt.dll
libpng13.dll
USER32.dll
GLU32.DLL
OPENGL32.DLL

"Code is like shit - it only smells if it is not yours"
Allegro Wiki, full of examples and articles !!

Jonatan Hedborg
Member #4,886
July 2004
avatar

Quote:

Jonatan, you did a really cool effect in your demo! it looks amazing and it runs really smoothly! I'll try to use some of these nice effects in my game as well, thanks!

I'm glad that you liked it :) Feel free to use whatever you want from that code (goes for anyone here)

Timorg
Member #2,028
March 2002

That worked, that is really really cool, now someone needs to make a compiz plugin that applies that to the gnome desktop. (I don't know what kde calls their compositor.)

Edit: or if the ability to load an image, I could get drunk and play with it for hours.

____________________________________________________________________________________________
"c is much better than c++ if you don't need OOP simply because it's smaller and requires less load time." - alethiophile
OMG my sides are hurting from laughing so hard... :D

GullRaDriel
Member #3,861
September 2003
avatar

Timorg said:

Edit: or if the ability to load an image, I could get drunk and play with it for hours.

Seconded ! Thought I remember me drunk blocking on a dancing bear pluggin I had on winamp....

"Code is like shit - it only smells if it is not yours"
Allegro Wiki, full of examples and articles !!

Jonatan Hedborg
Member #4,886
July 2004
avatar

I seem to recall a dancing sexy Santa plug-in, but not a bear :-X

Thomas Fjellstrom
Member #476
June 2000
avatar

Hmm, this could be tough to build :( so many dependencies :o

And this is just strange:

moose@natasha:~/build/fancyGrid$ g++ -c Constraint.cpp -I/usr/include/freetype2
Constraint.cpp:7: error: reference to 'Point' is ambiguous
point.h:12: error: candidates are: class Point

--
Thomas Fjellstrom - [website] - [email] - [Allegro Wiki] - [Allegro TODO]
"If you can't think of a better solution, don't try to make a better solution." -- weapon_S
"The less evidence we have for what we believe is certain, the more violently we defend beliefs against those who don't agree" -- https://twitter.com/neiltyson/status/592870205409353730

Jonatan Hedborg
Member #4,886
July 2004
avatar

It's only OpenLayer. Granted, an older openlayer... With lots of dependencies ;)

That error is a bit odd yeah... It was a looong time since I looked at that code, but I would guess that freetype has a typedef Point somewhere?

It should be possible to exclude freetype and use the internal font engine instead.

Thomas Fjellstrom
Member #476
June 2000
avatar

Except that it isn't showing the typedef in the error, normally it would.

--
Thomas Fjellstrom - [website] - [email] - [Allegro Wiki] - [Allegro TODO]
"If you can't think of a better solution, don't try to make a better solution." -- weapon_S
"The less evidence we have for what we believe is certain, the more violently we defend beliefs against those who don't agree" -- https://twitter.com/neiltyson/status/592870205409353730

Jonny Cook
Member #4,055
November 2003

Very cool! For anyone who cares, I "ported" it to Allegro (it was really hard ::)).

The face of a child can say it all, especially the mouth part of the face.

Jonatan Hedborg
Member #4,886
July 2004
avatar

No additive blending :( You murderer!

EDIT: But it's good for those lazy bums who does not want to install OL ;)

Jeff Bernard
Member #6,698
December 2005
avatar

Or for those of us that have OpenLayer installed, but all OpenLayer programs crash anyway.

--
I thought I was wrong once, but I was mistaken.

Jonny Cook
Member #4,055
November 2003

Quote:

No additive blending :( You murderer!

Yeah, you're right. This does look better.

The face of a child can say it all, especially the mouth part of the face.

Neil Black
Member #7,867
October 2006
avatar

I don't even know how to open .rar files. Google wants me to spend money on something to do it.

 1   2 


Go to: