Just Getting Started, Would Like Advice on Tools

Post Reply
wilcof
Posts: 2
Joined: Fri Feb 17, 2017 5:17 pm

Just Getting Started, Would Like Advice on Tools

Post by wilcof »

I want to start working on a game idea that I have had for a long time and am deciding on what tools and libraries I want to use with the physics engine being the most important.

I want to implement an effect where my universe has a max speed c, with the energy a moving body has approaching infinity as speed approaches c. To do this properly and have I am assuming it will require a decent amount of modification to the physics engine. I also intend to have 2 physics "worlds", one a small scale where normal gameplay takes place and another large scale one with a low tick rate for tracking objects in universe. I want the player to be able to set an asteroid on a collision course with something where it may take hours/days/weeks for the asteroid to reach it's destination but it will do so predictably and reliably.

I am not interested in having the best graphics, dealing with soft bodies, rag dolls or the like. I want simple robust rigid bodies.

I currently am planning on using Bullet Physics with Ogre3D and OpenAL, I also would like to include the Chrome Embedded Framework so that in game web browsing and scripting via javascript is possible.



If I could do all this with an existing game engine like Unity or Unreal I probably would since I presume that would get rid of a lot of work but I worry that I wouldn't have the low level control to get the physics right.

I have also looked briefly into Newtonian Dynamics which looks pretty cool but I think that I would have more resources and help available to me with Bullet.

Does someone with more experience have any advice? Would you say that my choice of Bullet+Ogre is a good path with what I want to do? Would it not be as difficult as I think to implement this kind of "relativity" in Unity or Unreal with PhysX. Would it be a good idea to try to use Bullet in Unity or Unreal instead of integrating with Ogre?

Thank You.
benelot
Posts: 350
Joined: Sat Jul 04, 2015 10:33 am
Location: Bern, Switzerland
Contact:

Re: Just Getting Started, Would Like Advice on Tools

Post by benelot »

Hello wilcof

Bullet and Ogre are a nice combination for such projects, especially if you do not want to use any high-end graphics stuff, it is very easy to integrate bullet into any graphics engine. Ogre is a very decent engine, I wrote a simulator in it using bullet physics as a physics engine (Maybe I can be of help if you have questions). Your idea with the two physics worlds sounds great, the ideas about high speeds such as c not so much, this will require a bit more thought to not break collisions. The main issue is that your objects even in your large-scale simulation will be in the order of 100m-10km is size (~asteroid size) whereas your speeds are in the order of fractions of c. Continuous collision detection might help a bit, but your physics update frequency might have to be around f ~ (1/x * c)/objectsize = (1/x * 300'000km/s)/0.1km = 1/x * 3'000'000 Hz. And with that tick, your smallest objects still jump once their object size per tick. Not sure what kind of numerical issues you get with such super small time step and not sure if your simulation will get to a playable speed. Just be aware of that.
wilcof
Posts: 2
Joined: Fri Feb 17, 2017 5:17 pm

Re: Just Getting Started, Would Like Advice on Tools

Post by wilcof »

To clarify, I don't mean c as in the speed of light c, I only used that variable name because it would be analogous to the speed of light. It would be some arbitrary upper bound for a max speed of the universe and would be much much slower than our c. What I want to do with it though is have it so the amount of energy an object has approach infinity as the speed approaches c so that if you have two objects, one traveling at 5c/6 and another at 99c/100 they would appear to be moving at a similar speed but if they crashed into something the second object would cause a lot more damage and impart a much greater force on whatever they collided with.

Any suggestions as to alternate graphics engines? I saw that I can integrate Bullet with Unity fairly easily with BulletSharp but wasn't sure if there would be downsides to that. From what I read for Unreal it would be quite difficult. I realize these are full fledged game engines and not just graphics engines but for graphics engines it seemed like Ogre would be the best choice. Any others you would suggest I take a look at?
benelot
Posts: 350
Joined: Sat Jul 04, 2015 10:33 am
Location: Bern, Switzerland
Contact:

Re: Just Getting Started, Would Like Advice on Tools

Post by benelot »

Ok, yeah with your custom c it should be doable. Just can make your c tunable and see how far you can go.

I heard that Irrlicht is also pretty nice with Bullet. BulletSharp might be ok with Unitt, but it is a port of Bullet and I have no idea how well supported this is whereas Bullet here is well supported and funded. If you just need a graphics engine, you should go for Ogre or Irrlicht. For Ogre, you could even use OgreBullet to quickly bind Ogre and Bullet, but I would recommend you to do it manually.
Post Reply