-
Notifications
You must be signed in to change notification settings - Fork 105
Description
As per recent conversation on DIscord, IRC and PR #558 im creating this issue to bring all discussion into one place
Further details to come, please refer to issue #558 for the start of this discussion
the only way i see forwards is to develop the method originally used for Apoc assets and bring it into the modern era. Namely every graphical asset has a 3D model produced that we then develop a tool to break it down into all the required sprites at the correct angles and with the correct transparencies
There is an issue if we want more accurate "hit boxes" as until we update the LOFTemp masks the way the game uses what can only be described as an early attempt at making "voxels" the best resolution is 32x32 pixels per object with a height of up to 64 pixels in SOME areas of the game. Other areas have as little as 32x32x16 resolution when working out projectiles within tiles.
So even with the high res sprites that OpenApoc can already support, the way the game would treat these in play would be rather inaccurate until better resolution LOFTemp Masks are specified also and the host of LoS and LoF issues that may create will likely require an update to those mechanisms also.
That said, by automating the process from 3D model to set of sprites, we could hope to fix a great deal of the workload
In the two weeks before the Original Game Release, between Beta2 and the Final 1.0 version, the Anthropod was remade as were several other core alien and other assets... This was only possible with the 3D to Sprite workflow; doing all those sprites individually would have taken too long.
With regards to LOFTemps, i'd have to check how OpenApoc does things, but if not already i would love to see full support for resolutions as high as 128x128x256 PER TILE implemented into the LoF array. Even if we don't make the masks, we can leave that to modders for their own objects to create as long as the game supports them
To be frank, improving the ballistics resolution would hopefully resolve several annoyances of the original apoc when it comes to collision and damage calculations as well as their representation on screen
My concern would be the optimisation of such complex calculations across a full 256x256 tile map
At my "ideal" proposed tile res that would be a voxel resolution of 32,768 in either X/Y direction and up to 9x256 or 2,304 in height
That's a total of 32768x32768x2304 or 2,473,901,162,496 individual blocks on a full size map where a projectile can exist
With the projectile spam that exists in Apoc that could really bog down the game
It would honestly be easier to make any 3D to Sprite tool also analyse the shape and form of a 3D render and make it's own LOFTemps according to what it recognises as "solid" or "transparent"
That would truly be a useful thing for upgrading Apoc Graphical assets