mmankt's Banner
mmankt

Age/Gender: 21, Male
Location: Poland; Poznan
Job: student

I'm into creating Flash games and 3D. Feel free to PM me and ask any questions you want.

Contact Info

Newgrounds Stats

Sign-Up Date:
1/4/05

Level: 19
Aura: Dark

Rank: Civilian
Blams: 25
Saves: 23
Rank #: 86,155

Whistle Status: Normal

Exp. Points: 3,620 / 4,010
Exp. Rank #: 6,693
Voting Pow.: 6.05 votes

BBS Posts: 10 (0.01 per day)
Flash Reviews: 77
Music Reviews: 2
Trophies: 4
Stickers: 0

Latest News

mmankt

Particles!

Posted by mmankt Oct. 10, 2009 @ 1:36 PM EDT

Hi,
I'd like to share with you some progress on my new game development and some thoughts.

I always thought of particle effects as a very important part of any game. Basically any game without good sparks and other effects just doesn't feel too well IMO. Just look at Killzone 2 - it looks fantastic how the sparks bounce around the screen. Those little things bring up the awesome level a lot.

I always wanted to have my own sparks that look real. I asked my friend once if he could make something like that for me. Make it yourself, he said. I loled to myself cuz I didin't know shit about programming and it was just was too abstract to thing about. Couple month later I decided to start learning AS3 in order to make my own games. I said to myself that If I could make a spark effect I could do a game. So I started thinking of how should it work. It's really an easy thing from the math point of view - some more or less basic trigonometry but damn, making it work was super hard for me as I'm a bad coder. After one week it was done. Horrible design, bad performance, no flexibility, no basic stuff around it, hell it wasn't even a class.
My first particle test This is the very first basic pseudo physics I made(refresh to see it again) . Here is the functional spark effect and first shitty collision test after many changes and optimization I got the finished effect(collision still WIP). The version of this code was used in BlacknWhit. It was really bad and making a different effect required me to write a new function - but it looked cool for me and I was very happy that I made something that I thought was impossible for me. Funny - I know, particles are nothing complicated and there are many full particle engines billions time better but the point is that it was important for me. Thankfully I learned a lot through the process and I've even finished my 1st game(too ashamed to show it here ;) ) .

I still lacked basic AS3 knowledge - the whole game was created in one class, inside Flash editor (5000 lines - a horror), with ifs, loops and functions. With the new game I mentioned a week earlier I decided to make something actually good. I wanted a very good particle system so I stared with rewriting everything from ground up. Everything - except the maths more or less, was done differently. Classes, constructors, parameters, arrays - all stuff that should be. The effect was great - from 200 particles max. in old version, now I have more than 1000 with different types. With one function I can create almost any effect you want - just change some parameters. Take a look at version 2.0.

Unfortunately when implementing an 'impulse' functionality (imagine a shock wave from explosion that pushes all particles on screen ) it turned out that I messed up something with the arrays. I was trying to fix it, but nothing helped to satisfy my plan. I rewrote everything again.
Now everything works excellent. I had some problems at start but with many design changes and many lessons learned I finally made it. version 3 beta 1(i know that except the impulse it looks the same but the code is brand new).
So I have a nice little system that manges particles on the screen. I have a good base to make a good game now(so I hope). Similar code will handle everything from bullets to enemies.

From plans the full version 3 will have:

- magnets
- gravity points
- smoke and fire in separate classes
- new parameters for better control and new effects
- better performance
- basic collision detection (in v3.1)

I also want to implement bitmap caching which will have a huge performance impact, but I don't think I know enough to do it now. (v3.5) For Intruder game purposes I'd like to have Box2D integration(v4.0 (I also thought of making something smaller cuz I need only ragdolls and basic box collisions - look at Soldat's physics)), I did some experiments but don't know so far how will it turnout. Now I'll focus on making the actual game and version 3.0.

From other news I have a new secret animation project in mind, in Flash! Funny how you can change your mind sometimes. My Blender plans are still actual anyway.

That's all I wanted to say today. Wows it turned out to be pretty long, hope that someone will actually read this.

Cheers!

kitty_small.jpg

All News Posts 12 comments | Log in to comment! | Share this!