Hello, I would like to code a 2D shooting game, or a more-or-less worms-like. Well I've made my decision a year ago, but still at the designing stage.
The big point is that I want the game to run in a metaball-based environment, to have a effectively destructive and dynamic one. And to easily add the support for possible fluids. I'm afraid I spent too much time designing, but I prefer to have a strong basis. I won't explain current design right now as it is very unfinished.
Well my biggest issue, is that I can't decide what tools to use : I'm constantly choosing one then the other. I'd like you to give your advice. Note I'm working under linux, so I'd like to have Windows/Linux capable tools and libraries.
My current design would use some kind of concurrent agent-based parallelism, so I need a tool to work efficiently with. I choosed 6 months to use Qt and its signals/slots system, but I've heard it is somewhat a slow system, and I'd rather have computational speed. I've seen this library libcppa which looks nice but whose development is still in progress. Well I believed a programming language designed for such would be the better, like erlang, but then I may need to do lots of interfacing with C to use other libraries. What would you recommend ?
I can do the graphics algo without any problem, but for the physics engine, this may be slightly harder. Maybe I should use an external tool like Box2D ? My concerns is firsly that I wouldn't be able to use SPH fluids when I want it. I'd like to have SPH pretty soon, to manage some density-based property of air. Sencondly I may have an uneasy data structure to manage concurrency since I would have on agent/thread per « scenery entity ». I can possibly write my own engine, but I'm affraid this may take too long and I need a good reference on 2D SPH, which I can't find. If you have a good reference for writing a 2D SPH engine or if you have some advice, please share it.
Thanks for any help,
PS: I hope I posted in the correct section. If I didn't, please move the topic to its appropriate location. PPS: I've marked the topic as open-source; but almost no source code is yet to be shown, this will come in time.