voxelinc / voxellancer

A Game about Voxels in Space
http://voxellancer.chrdw.de
15 stars 2 forks source link

Shooting #87

Closed gersseba closed 10 years ago

gersseba commented 10 years ago

I thought this issue already existed, but voxellancer insists on the opposite... Either way, While implementing the bullets I stumbled over the following problem: The behavior of physicalvoxelclusters is global for the entire game. But Bullets (being inherited of worldobjects) should not be subject to dampering. What is the correct way to alter their behavior? Accessing the dampering member or overriding the move() is not possible. For the time being I will initialize them with a larger acceleration to get at least some movement.

mrzzzrm commented 10 years ago

I think dampering should specially implemented in sub-worldobjects that require it. I guess you are save to disable it for now.

I'm online at skype btw., in case more questions arise

xchrdw commented 10 years ago

I would suggest a virtual updateSpeed(delta_sec) method that does nothing for bullets and calculates acceleration and dampening for ships

gersseba commented 10 years ago

thanks for the suggestion, i used the virtual update Speed method. Do we have any way of letting worldobjects update themselves, aka an update(delta_sec) method that is called by the god? I'm not talking about the physical manipulation of objects, but about gamemechanical updates e.g. Ship::update(deltasec) foreach hardpoint hardpoint.update(deltasec) this would allow hardpoints to update their cooldown time, bullets and rocket to update their remaining lifetime etc. Or is there another way of notifying them?

xchrdw commented 10 years ago

I don't think it's there yet but it should be added before move is called for every object

gersseba commented 10 years ago

I agree, this is the way it worked in the original shooting branch as well.

gersseba commented 10 years ago

I'm closing this issue, for further discussion we will use the shooting_v2 pull request.