Home » MODDING HQ 1.13 » v1.13 General Development Talk » Announcement: LOBOT 3D
Announcement: LOBOT 3D[message #315232]
|
Wed, 06 February 2013 21:51
|
|
Bio |
|
Messages:62
Registered:April 2009 Location: Rhineland-Palatinate/Germ... |
|
|
*Professor Farnsworth voice on*
Good news everyone!
Live-rendering is here!
I finally am at a state with my work, that I know for a fact that everything works as I was hoping it would. This is a major break-through!
There is still a lot of work to be done. But from here on there are no more show-stoppers.
Today was the first time I integrated all my development and was able to display a live-rendered animated model directly in the game.
A couple of weeks ago I migrated LOBOT to the current tip revision and got it to work again. Then I integrated my rendering solution. And today I finally got it all to work together.
A couple of technical details:
* The old layer-based LOBOT is still there.
* Pre-rendered LOBOT stuff will take preferance over live-rendered stuff in-game. That means if my algorithm matches a pre-rendered logical bodytype it will use that one. And only if none is found will look if there is a live-rendered one available.
* I seperated the actual renderer and the in-game logic. The actual renderer is a dll.
* My renderer implementation utilizes DirectX 9. However I created the interfaces in a way, that JA2 does NOT link against DirectX 9. That way if someone fancies to implement an alternative renderer (say OpenGL) that could be used without having to touch the JA2 code.
* I introduced JSON to the JA2 solution to save some time (didn't feel like writing expat xml parsing code).
* The old filter mechanism of LOBOT is used for the new live-rendering. So there is a very very powerful way of matching against all sorts of stuff (equipment and merc attributes)
* There are mechanisms in place to have dynamic textures.
* There are mechanisms in place for dynamically rendering meshes (not tested yet)
* Rendering will be done in 32 bit RGBA and then blitted with a new set of blitters. This is not implemented yet. Right now I quantize to 256 colors palette and ERLE encode on the fly. This mode will remain as an option (to use the dynamic skin/hair/clothing palette).
* In 32bit mode skin/hair/clothing coloring will be done via seperate sets of textures and using the filtering stuff (so the color info saved in the merc data will be disregarded).
* I'm using hardware rendering. My plan was to use software rendering. But that proved to be too slow (would only be able to live-render a couple of mercs in parallel). Software rendering will remain an option. Also there is going to be a caching mechanism (not implemented yet). On my very dated graphic card I can do more then enough renders per second. Though the color quantization right now is the bottle neck (will be done away with by using 32bit).
* Shadows are supported out-of-the-box
Report message to a moderator
|
Corporal
|
|
|
Re: Announcement: LOBOT 3D[message #315233]
|
Wed, 06 February 2013 21:55
|
|
Bio |
|
Messages:62
Registered:April 2009 Location: Rhineland-Palatinate/Germ... |
|
|
Here is an exemplary configuration for the model I'm using for testing right now (note that this is not really "code" but a JSON configuration file used instead of an XML file):
// lobot3d
{
"model_file" : "C:\\JA2\\3DModels\\Tiny\\tiny_4anim.x",
"model_rotation" : [-90, 0, 180],
"model_scale" : [0.005, 0.005, 0.005],
"model_translation" : [0, 0, 0],
"frame_format" : "RGB8",
"palette_file" : "C:\\JA2\\3DModels\\Tiny\\palette.act",
"filter" : "OnlyBlood",
"lights" : [
{"type" : "Ambient", "color" : [35, 35, 35]},
{"type" : "Directional", "color" : [0.078, 0.078, 0.078, 1.0], "direction" : [135.198, -252.251, -103.986]},
{"type" : "Directional", "color" : [0.078, 0.078, 0.078, 1.0], "direction" : [-3.233, -183.827, -109.838]},
{"type" : "Directional", "color" : [0.078, 0.078, 0.078, 1.0], "direction" : [-75.204, -183.655, 129.396]},
{"type" : "Directional", "color" : [0.078, 0.078, 0.078, 1.0], "direction" : [24.337, -124.381, 225.281]}
],
"meshes" : [
{"name" : "Mesh", "group" : "body", "filter" : "OnlyBlood"}
],
"texture_mappings" : [
{"texture1" : "C:\\JA2\\3DModels\\Tiny\\tiny_skin.bmp", "texture2" : "C:\\JA2\\3DModels\\Tiny\\tiny_skin.bmp", "group" : "body", "filter" : "OnlyBlood"},
{"texture1" : "C:\\JA2\\3DModels\\Tiny\\tiny_skin.bmp", "texture2" : "C:\\JA2\\3DModels\\Tiny\\tiny_skin (2).bmp", "group" : "body"}
],
"animations" : [
{"name" : "Walk", "num_frames" : 12, "filter" : "OnlyBlood", "anim_surfaces" : ["RGMBASICWALKING", "RGMNOTHING_WALK"]},
{"name" : "Jog", "num_frames" : 12, "filter" : "OnlyBlood", "anim_surfaces" : ["RGMRUNNING", "RGMPISTOL_RUN", "RGMNOTHING_RUN"], "period_offset" : 0, "period_length" : 0.25},
{"name" : "Loiter", "num_frames" : 8, "filter" : "OnlyBlood", "anim_surfaces" : ["RGMSTANDING", "RGMNOTHING_STD"]}
]
}
As you can see, there are tons of possibilities. I currently only use one filter "OnlyBlood" which is a LOBOT filter that simply matches against merc name "Blood".
[Updated on: Wed, 06 February 2013 22:03] by Moderator Report message to a moderator
|
Corporal
|
|
|
|
|
|
|
|
|
|
Re: Announcement: LOBOT 3D[message #315257]
|
Thu, 07 February 2013 18:28
|
|
The_Bob |
|
Messages:415
Registered:May 2009 Location: Behind you. |
|
|
AFAIK it's just for the character models right now, and it's done by rendering the graphics that would (normally) be taken from the STI and then plugging them into the otherwise unmodified game engine. As in, rendering them off-screen to a bitmap, converting to what the game engine can work with and passing on to be blitted like any other 2d sprite.
So it's not like the whole tactical view is being rendered in 3D, or the entire game getting a technology upgrade... yet.
But, once this new feature gets refined, it should be possible to tell the off-screen renderer what the character is wearing and where it got shot, so the details are visible on the resulting sprite. But that's just one awesome thing about what might be coming to JA2...
The other is the sheer variety of animations that will appear in the game. With actual 3D models in play, you only have to rig the animation once, and the game can render it for you using all three character models and all supported gun types and armor combinations. Of course you still have to go through the tedious process of tweaking the key-framed animation (unless you have motion capture equipment at hand), but not having to actually render the sprites yourself will be a huge relief to modders and artists.
Report message to a moderator
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Re: Announcement: LOBOT 3D[message #318984]
|
Wed, 08 May 2013 04:39
|
|
Mauser |
|
Messages:756
Registered:August 2006 Location: Bavaria - Germany |
|
|
Allright, allright, i take everything back, forget what i wrote.
Sheesh, i never wanted to tell anyone here what to do for 1.13, especially not adding awesome new features still, or that, god forbid, the community should abandon working on 1.13 alltogether.
It just amazes me to which lengths some lone wolf modders here still go, to hack that old heap of code into doing new flashy tricks.
I merely wanted to suggest that we currently have a shot at something that would give us a brand new engine with appropriate tools to work with and the potential realize all modding ambitions, which probably could make the whole SMP project more or less unnecessary. And maybe all able experts would profit from shifting their attention to that new perspective for the time being.
After all, if it fails, then there
Report message to a moderator
|
First Sergeant
|
|
|
|
|
|
Re: Announcement: LOBOT 3D[message #319177]
|
Thu, 09 May 2013 15:54
|
|
The_Bob |
|
Messages:415
Registered:May 2009 Location: Behind you. |
|
|
It's quite common to code for older, seemingly obsolete titles, just for the fun and challenge of it. Also, it is a great exercise in programming, whether you tidy up the old code or manage to work around its quirks.
Other than obvious examples of projects based around the Doom or Quake engines, there still are projects focusing on Tyrian or Abuse. Having a (relatively) big player base like 1.13 sure helps motivate coders and modders, but even if JA:F stole 90% of the audience, there still would be people willing to improve the original JA2 (me included) just for the fun of it.
Also, 1.13 is far from obsolete. I'm quite certain it is the most complex (and cluttered) game of its kind right now, setting the bar so high it is pretty much a class of its own. Making it look better would only enforce that position.
Which is why I'm relentlessly bumping this thread on a monthly basis.
Report message to a moderator
|
|
|
|
|
Re: Announcement: LOBOT 3D[message #321091]
|
Tue, 28 May 2013 20:49
|
|
Mauser |
|
Messages:756
Registered:August 2006 Location: Bavaria - Germany |
|
|
Alright guys, JA:F is funded and will begin development soon. Many modders are already on board of the advisory panel, whilst Bio remains absent i assume? How many of our most experienced and productive modders and coders are currently still working on SMP and groundbreaking features like this?
Report message to a moderator
|
First Sergeant
|
|
|
Goto Forum:
Current Time: Thu Apr 18 21:49:55 GMT+3 2024
Total time taken to generate the page: 0.02493 seconds
|