00:00
00:00
mmankt
Working on games. Ask for any help or questions you want. I always respond. Only ppl i know for friends requests plz!

Age 36, Male

senior programmer

WSB

Poland

Joined on 1/4/05

Level:
21
Exp Points:
4,614 / 4,900
Exp Rank:
10,587
Vote Power:
6.27 votes
Rank:
Civilian
Global Rank:
95,167
Blams:
25
Saves:
30
B/P Bonus:
0%
Whistle:
Normal
Trophies:
6
Medals:
184
Supporter:
11m 29d

Particles!

Posted by mmankt - October 10th, 2009


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!

Particles!


Comments

The 3rd version looks good and promising. The only strange thing I found was the half the time (or maybe even more often) the sparks had a tendency to get caught in the platforms. Such cute cat : >

my kitty says thank you;)

amazing work,

cant wait to see the particles work in the game world,

bouncing off floors and items and such,

thanks :) the collision stuff is not needed for my next game but i'll make it sooner or later.

Looks like you are putting a lot of effort into this game, I hope it's worthwhile, and I hpe the finished product is fantastic.

I want to keep the gameplay fairly simple and the game itself to be rewarding from the visual side. From my first game I've learnt that the initial idea may be good but turning it into something worth your time is a different story.

Nice work, you've certainly got the drive, which is at least 50% of being able to make something good. The will to keep pushing on, even when met with obstacles.

Im looking forward to the game.

I enjoy writing the code for it but sometimes when it doesn't work(and it always doesn't work at first) i feel like f*** it. Thankfully after a while you just get the solution from Captain Obvious and every thing's glorious again. ;)

Particles!

Indeed!

I should thank you. I have been trying to learn classes for so long now. But I always failed to see the point and just stuck to a single .as doc with a list of reusable functions and eventListeners. But reading this actually got me excited ( at least enough ) to learn it once and for all! So thank you.

Just don't forget that a game should be fun to play, even if all the graphic consists 100% of green cubes.

... I totally wanna hug that cat :(

Heh, you're welcome! Using classes is really easy, PM me if you want and could write something that interests you (if i know about it),
I can hug her for you ;)

DONT BLAME IT ON THE SUNSHINE!....DONT BLAME IT ON THE MOONLIGHT!....DONT BLAME IT ON THE GOOD TIMES!....BLAME IT ON THE BOOGEY!

kalafior i pieczarki!

This looks pretty promising, you've done a very fine job on this indeed.

Also I like how you state that you want the game to be fairly simple but visually rewarding, that's my kinda game! Best of luck with it.

I'm often pushed back by games that go too deep into customization etc . Sometimes I just want to shoot good-looking stuff that blows up nicely. My initial concept for the game had some complicated management ideas but I'll look into it as I make the game itself.

Hey man seem like your getting really far dude! You remember me?
Anyways keep up the goodwork dude hope to see a good finished project when its done if you ever need any help remember im here!

Thumbs Up

Of course I do m8.

Haha, that's how I made Ether War. I made the particle system and thought "Hey, I should make a game around this..."

That game was great! Are you using bitmap caching for them? Would be nice to see some tips from you.

one question will the game be a platformer or a first person shooter ? i hope its platformer

which game? if u talking about Intruder game it will be obviously side scrolling. U cant make a good Flash fps game for now. In 3d world it would be third person anyways. All my games will have a side view, maybe one will be isometric.