POV-Ray : Newsgroups : povray.binaries.animations : Newtonian space fight, again : Newtonian space fight, again Server Time
18 Jul 2024 18:23:45 EDT (-0400)
  Newtonian space fight, again  
From: Tom York
Date: 13 Apr 2004 15:10:00
Message: <web.407c3804c6b0ccf62ff34a90@news.povray.org>
Many people might remember Slime's spectacular Space Fight animations from
2002, and a rather smaller number may remember the early stages of the
Newtonian space flight simulator I started on last year. The initial
version wasn't too sophisticated, but some improvements have taken place.

http://www.compsoc.man.ac.uk/~tomy/graphics/graphics_anim.html

The two animations use the DivX 5.05 codec, and are 10MB and 6MB in size.
They were created using POV-Ray 3.5. Rendering times were typically less
than 10 seconds per frame on a 2.6GHz P4, although see later about the CSG
damage effects under "Things wrong".

As before, Newton's laws of motion are in full effect. Ships turn themselves
using thrusters and can travel in one direction whilst facing in a
different direction. Power supplies are now modelled so weapons charge up
correctly, and engines consume power when used (although in these
animations none of the ships had to dip into their reserves of energy).

Damage modelling is a little bit more sophisticated than before. Weapon
strikes remove bits of hull (although glancing/weak hits just cause a
scorch mark). Critical "locations" like power supplies, control centres etc
are not modelled, but this would be a minor addition. Ships can use weapons
on independently targetting turrets, but the turrets track instantly and
perfectly at the moment. Turrets carry their scorch marks/damage with them
as they rotate, which was tricky to do but opened the door for
location-specific damage. If a ship takes enough structural damage it will
flee from the nearest attacker.

Things wrong:

The CSG damage looks bad. Scorch marks are simple textured discs aligned
with the hull surface, which is obvious on strongly curved surfaces. CSG
differences are used to cut out damaged areas, but lead to a huge slowdown
in rendering, since I'm essentially subtracting small objects from a large
union. I plan to tackle the first with higher order surfaces. For the
second problem one solution might be to require ship models to have all
their
component objects available through an array, but it's not something I'd
enjoy. This CSG difference issue is the only problem that particularly vexes
me at the moment.

The AI is simplistic, which combined with the fixed view in these animations
makes "rubber-banding" painfully obvious. Since the AI is customizable on a
per-ship basis by the user, this is not a fixed limitation.

Things missing:

There is no collision detection, although the default AI can predict
collisions and will attempt to avoid them. I have tried using voxel-based
collision detection but it is very slow and I didn't achieve a very good
solution.

Explosions. The damage system, like the AI, is user customisable so this is
my own fault, I just haven't got around to pyrotechnics yet.


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.