|
|

About
The idea is to have a particle simulator with support for various types of particles (solids, liquids, gases) and static geometry (allowing the user to draw a gravity defying wall will suffice).
Requirements
- Any programming language can be used
- You should support collisions and gravity
- The user should able to interact with the scene
How your code will be judged
Your code will be judged on its quality & structure and it will be benchmarked.
The code may either be posted here to be judged by the public or PMed to me if you'd like to keep it private until the competition is over.
Deadline
2 weeks from 22/04/2012, ending on 6/5/2012.
An example (Supah Fly): Falling Fancies (A falling sand game)
Online example: Falling Sand Game - hosted by Chirag Mehta @ chir.ag


maybe ill do it in a bit idk but i will definitely used this 'reserved' post to present it to people.
anyway good luck with the game, and for those who are looking to do this i suggest you find my thread about 'how to speed up your client' thing, it has some info for doing pixel-based games like this would be.
also you will notice that direct access to variables is way faster than getting something through a method (pointing out the obvious). it's annoying, but necessary since these games are actually quite demanding if you're not using multiple threads. you can't really go all hXc object oriented make everything an object like you may want to.
a requirement should actually be that it can run on a single core system with no problem, whether that be strictly staying with a single thread no matter what or using multiple threads based on amount of cores.
still a good challenge for really teaching you how to make major performance improvements and what difference those improvements really make.
i actually made a falling sand game (just saying, i'm not talking out of my ass lol) and experimented in many ways of accomplishing certain things so i'm speaking from experience. direct access is at least 10x faster, at least on my cpu. it doesn't make sense for me to even say it if i didn't know it was true.

Just started on this, really lazy to write anything complex, doing everything in simple efficient way.
I named this...
SkyGravity
Stay tuned, might finish today.![]()
Last edited by Hei; 04-22-2012 at 06:36 PM.

i don't see how it could "beat it." if it beat it then your not measuring the times correctly or counting for the processor being random or the operating system/other threads taking priority over your program.
something like that. a seriously notable performance improvement at least. java seemed to perform the same way. i used a mixture, direct access for the current particle being "processed" via like particles[x, y] because it was being called 100% of the time and then i had methods for accessing particles around it via GetParticle(x, y, Direction.South) or something of the sort. setting and switching were done though methods. if you go in and switch out particles[x, y] for GetParticle(x, y) you'll notice a huge performance impact even though it does essentially the same thing, even just a simple accessor that i used when testing this like
if you wanted to squeeze like uber performance out of my sample you could just access the particles directly but then you would be missing out on stuff, bounds checking for example. same with pretty much any program. direct access is either the same speed or faster than using an get/setter.Code:public int GetParticle(x, y) { return particles[x, y]; }
the only reason i don't even attempt anything in c or c++ or anything of the sort is because i don't want to go through the hassle of setting up anything extra to just start writing code for like drawing or networking. i'm really lazy.
also if you really want, c# has direct memory access via the unsafe keyword/compiler option.
as far as i'm concerned my implementation is kind of strange/experimental to begin with since i use a region system which could actually be kind of slower since it has to queue the regions to update once they become activated.
| « Why Has No One Done This? | Android Development » |
| Thread Information |
Users Browsing this ThreadThere are currently 1 users browsing this thread. (0 members and 1 guests) |