Investigating Source Ports for 3D Monsters/Objects
Moderator: Graf Zahl
- NiuHaka
- Posts: 22
- Joined: Tue Jun 29, 2010 21:08
Investigating Source Ports for 3D Monsters/Objects
I am a video game artist by profession and i'm searching for a hobby to fill in the time when i'm at home and my son is asleep. I have gravitated back to DOOM after a decade long break. Over the last couple of years I have thought about recreating the DOOM monsters in 3d just for the hell of it (pun) but recently I have decided it would be much more interesting to actually put these monsters/weapons/miscellaneous debris in an actual game. I also plan on releasing everything I make to the community that I patronize. I was directed to GZDOOM as a possible way to replace all 2d objects with 3d models. I can see that there are a lot of people here who know what they are doing and that is a very good thing. 10 points to this community already. I don't expect anyone to answer all questions but any help will be appreciated. So, let the investigation begin.
Are 3d models and animated models supported in GZDOOM?
What 3d model/mesh formats are supported in GZDOOM?
Part of previous question- Does it support skeletal or per-vertex animations?
What is the triangle limit?
What is the recommended triangle count if I plan to have, say, up to 10 monsters on the screen at one time?
What are the limits to UV texture sizes for the models?
What are the drawbacks to using large (1024x1024) textures?
What editing programs are suggested to accompany GZDOOM?
I use Maya 2009. What additional software/knowledge is recommended for creating successful animated models for GZDOOM?
Thank you for your time and I look forward to seeing what your brains look like and possibly becoming a permanent member of this doomed community.
Are 3d models and animated models supported in GZDOOM?
What 3d model/mesh formats are supported in GZDOOM?
Part of previous question- Does it support skeletal or per-vertex animations?
What is the triangle limit?
What is the recommended triangle count if I plan to have, say, up to 10 monsters on the screen at one time?
What are the limits to UV texture sizes for the models?
What are the drawbacks to using large (1024x1024) textures?
What editing programs are suggested to accompany GZDOOM?
I use Maya 2009. What additional software/knowledge is recommended for creating successful animated models for GZDOOM?
Thank you for your time and I look forward to seeing what your brains look like and possibly becoming a permanent member of this doomed community.
- Gez
- Developer
- Posts: 1399
- Joined: Mon Oct 22, 2007 16:47
Re: Investigating Source Ports for 3D Monsters/Objects
Yes, models are supported. Three formats can be used: MD2, MD3, and DMD; the latter originates from Doomsday, the two former from Quake II and Quake III. In practice, GZDoom can load the same models that Doomsday and Vavoom can.
The technical limits and possibilities are those of those model formats. No skeletal animation, for example, since they don't have a skeleton. I think there is an upper limit to the amount of vertices you can put in a MD2 or MD3.
Animation is tied to states just like sprites, you'll have to write up a [wiki]MODELDEF[/wiki] lump to get them to work.
Maximum texture size is not specifically mentioned anywhere, but if you're using TGA textures, the max size for them is 2048x2048.
For level editing I'd recommend [wiki]Doom Builder 2[/wiki], which is the only map editor available that is still maintained. It's also modern and quite powerful.
For general purpose editing, I recommend [wiki]SLumpEd[/wiki] or its successor [wiki]SLADE3[/wiki] (which is still in beta).
For model editing, well, the only model editing experience I have is tinkering with some Morrowind NIFs with Blender, so I can't really help you. I suppose whatever MD2, MD3 or DMD exporter plugin you find for Maya will be all that you'll need.
The technical limits and possibilities are those of those model formats. No skeletal animation, for example, since they don't have a skeleton. I think there is an upper limit to the amount of vertices you can put in a MD2 or MD3.
Animation is tied to states just like sprites, you'll have to write up a [wiki]MODELDEF[/wiki] lump to get them to work.
Maximum texture size is not specifically mentioned anywhere, but if you're using TGA textures, the max size for them is 2048x2048.
For level editing I'd recommend [wiki]Doom Builder 2[/wiki], which is the only map editor available that is still maintained. It's also modern and quite powerful.
For general purpose editing, I recommend [wiki]SLumpEd[/wiki] or its successor [wiki]SLADE3[/wiki] (which is still in beta).
For model editing, well, the only model editing experience I have is tinkering with some Morrowind NIFs with Blender, so I can't really help you. I suppose whatever MD2, MD3 or DMD exporter plugin you find for Maya will be all that you'll need.
- NiuHaka
- Posts: 22
- Joined: Tue Jun 29, 2010 21:08
Re: Investigating Source Ports for 3D Monsters/Objects
I'm guessing md5 is not supported. The last maya that the latest md5 exporter supported was maya 8 which is pretty old now. I use maya 2009 and things get a little wonky when exporting md5.Yes, models are supported. Three formats can be used: MD2, MD3, and DMD
What does this look like? Would the animations look the same as doom sprites? Like 4 walking frames etc.? No smooth animations as in quake 2 or 3?Animation is tied to states just like sprites, you'll have to write up a [wiki]MODELDEF[/wiki] lump to get them to work.
Are TGA alphas supported? Are PNG-24 format and PNG transparency supported?Maximum texture size is not specifically mentioned anywhere, but if you're using TGA textures, the max size for them is 2048x2048.
- Gez
- Developer
- Posts: 1399
- Joined: Mon Oct 22, 2007 16:47
Re: Investigating Source Ports for 3D Monsters/Objects
Indeed not.NiuHaka wrote:I'm guessing md5 is not supported.
Yes. You need to understand that it's tied to the actor states, which are what the entire game logic is based on.NiuHaka wrote:Would the animations look the same as doom sprites? Like 4 walking frames etc.?
Smoothness is provided by interpolation.
Generally, yes; but for model skins, I don't really know. Transparency support in model is rather limited due to the lack of certain sorting algorithms that would be needed to make sure all the triangles are displayed without glitches. So it's forced to 1-bit alpha, rather than 8-bit alpha. Sprites and wall textures do not have such a limitation.NiuHaka wrote:Are TGA alphas supported? Are PNG-24 format and PNG transparency supported?
- Enjay
- Developer
- Posts: 4748
- Joined: Tue Aug 30, 2005 23:19
- Location: Scotland
- Contact:
Re: Investigating Source Ports for 3D Monsters/Objects
You can, however, add more frames in to an actors definitions and then tie the model definition to them (thereby making your actors animate more smoothly). You don't even need to use new sprites. Any sprites that you use will be hidden by the models so it's the durations and number of frames that you add to your actors that are important, not what the sprites look like.NiuHaka wrote:What does this look like? Would the animations look the same as doom sprites? Like 4 walking frames etc.? No smooth animations as in quake 2 or 3?
It is perhaps worth pointing out that the support for some model features in GZdoom is limited (particularly tricks that can be done with skins) though this is improving. Risen3D and Doomsday both have more advanced feature support in respect to this but I don't think either support MD3 models which are a far more precise format than the old "wobbly" MD2s. I believe that DMDs are just an extension of the MD2 format and share some of the disadvantages of that format.
- Gez
- Developer
- Posts: 1399
- Joined: Mon Oct 22, 2007 16:47
Re: Investigating Source Ports for 3D Monsters/Objects
Indeed.
I've made pretty minimalistic pages for the various [wiki]model format[/wiki]s that GZDoom and Skulltag support.
I've made pretty minimalistic pages for the various [wiki]model format[/wiki]s that GZDoom and Skulltag support.
- NiuHaka
- Posts: 22
- Joined: Tue Jun 29, 2010 21:08
Re: Investigating Source Ports for 3D Monsters/Objects
Great! This is looking pretty promising.
Is this something that the engine will automatically do or would i need to do a little keyboard hacking to get vertex interpolation? If this is the case i'll probably bag that idea for now.Gez wrote:Smoothness is provided by interpolation.
I've never worked with anything like this so i'm not sure that I fully understand. Would I need to export a different model for each frame of animation? Sort of as if I were just using sprites?Enjay wrote:You can, however, add more frames in to an actors definitions and then tie the model definition to them (thereby making your actors animate more smoothly).
Are there ways to allow for "glowing parts" on a UV texture? I've seen that someone has created brightmaps on walls and sprites- could this or any other method be used on the UV textures?Enjay wrote:It is perhaps worth pointing out that the support for some model features in GZdoom is limited (particularly tricks that can be done with skins) though this is improving.
- Enjay
- Developer
- Posts: 4748
- Joined: Tue Aug 30, 2005 23:19
- Location: Scotland
- Contact:
Re: Investigating Source Ports for 3D Monsters/Objects
Interpolation is handled by the engine and is on by default. If you need to, you can specify that a model should not be interpolated when you define it in the MODELDEF control lump. Some models look better with interpolation (though most look better with it).NiuHaka wrote:Is this something that the engine will automatically do or would i need to do a little keyboard hacking to get vertex interpolation? If this is the case i'll probably bag that idea for now.
No, not a different model but different frames of animation within the same model can be used. Both MD2 and MD3 support adding frames of animation to the models.NiuHaka wrote:I've never worked with anything like this so i'm not sure that I fully understand. Would I need to export a different model for each frame of animation? Sort of as if I were just using sprites?
What I was referring to was something like this.
Imagine a monster that is set up like this:
Code: Select all
POSS AABBCCDD 4 A_Chase
Code: Select all
POSS ABCDEFGHIJKLMNOP 2 A_Chase
then you could add additional animations to your monster's walk cycle because you now have frames A through P to play with.
At present, brightmaps do not work on model skins in GZdoom. It's one of the limitations I was referring to.NiuHaka wrote:Are there ways to allow for "glowing parts" on a UV texture? I've seen that someone has created brightmaps on walls and sprites- could this or any other method be used on the UV textures?
- Gez
- Developer
- Posts: 1399
- Joined: Mon Oct 22, 2007 16:47
Re: Investigating Source Ports for 3D Monsters/Objects
Bad idea. It's cumbersome, but the way you should do it if you don't want to change behavior is like this:Enjay wrote:That is just the standard zombieman walking animation. It has 4 sprite frames (A,B,C and D) that your model would have 4 corresponding frames of animation for. However, if you were to redefine the actor something like this:Code: Select all
POSS AABBCCDD 4 A_Chase
(actual code and values may be different)Code: Select all
POSS ABCDEFGHIJKLMNOP 2 A_Chase
then you could add additional animations to your monster's walk cycle because you now have frames A through P to play with.
Code: Select all
POSS A 2 A_Chase
POSS B 2
POSS C 2 A_Chase
POSS D 2
POSS E 2 A_Chase
POSS F 2
POSS G 2 A_Chase
POSS H 2
POSS I 2 A_Chase
POSS J 2
POSS K 2 A_Chase
POSS L 2
POSS M 2 A_Chase
POSS N 2
POSS O 2 A_Chase
POSS P 2
- Enjay
- Developer
- Posts: 4748
- Joined: Tue Aug 30, 2005 23:19
- Location: Scotland
- Contact:
Re: Investigating Source Ports for 3D Monsters/Objects
I was going to suggest halving the actor speed to counteract the speed increase (but forgot - I was at work and a class was coming in) but I hadn't remembered that calling A_Chase twice as often also makes the actor more aggressive too (as I did in a similar Zdoom forum thread). Thanks. 

- NiuHaka
- Posts: 22
- Joined: Tue Jun 29, 2010 21:08
Re: Investigating Source Ports for 3D Monsters/Objects
Thank you for the great replies. I'm sure i'll be back to look over this information many times. I'll continue investigating some of the other source ports but i'm liking what i'm seeing with gzdoom so far.
I'm still hoping that one of the other source ports will support something other than md2, md3 & dmd because I am having one hell of a hard time finding an existing maya md3 exporter. Maya gets no love! I know DOOM is old but i'm still surprised that none of the hundreds (exaggeration) of other 3d formats are supported.
I'm still hoping that one of the other source ports will support something other than md2, md3 & dmd because I am having one hell of a hard time finding an existing maya md3 exporter. Maya gets no love! I know DOOM is old but i'm still surprised that none of the hundreds (exaggeration) of other 3d formats are supported.
-
- Posts: 130
- Joined: Sat Oct 08, 2005 19:22
Re: Investigating Source Ports for 3D Monsters/Objects
Bare in mind that limitation will not be present in a future version of Doomsday as "brightmap" support (probably more commonly known as self-illumination map) is something I've been working towards for a while now, as I plan to integrate our light coronas in with it. So I guess what I'm saying is yeah, please do create the map(s) as we'll be able to use them sooner or later.Enjay wrote:At present, brightmaps do not work on model skins in GZdoom. It's one of the limitations I was referring to.NiuHaka wrote:Are there ways to allow for "glowing parts" on a UV texture? I've seen that someone has created brightmaps on walls and sprites- could this or any other method be used on the UV textures?
Surely most modern 3d software packages can keyframe a skeletal model animation and export as vertex frames? You're not telling me that all the embedded and low-end mobile devices are doing hardware skeletal animtion now, or is it more common to script bones in LUA or something?
But yeah, sadly no DOOM port presently available supports skeletal model animtion.
- NiuHaka
- Posts: 22
- Joined: Tue Jun 29, 2010 21:08
Re: Investigating Source Ports for 3D Monsters/Objects
DaniJ wrote:Bare in mind that limitation will not be present in a future version of Doomsday as "brightmap" support (probably more commonly known as self-illumination map)
Oooooh! This is pretty exciting. This (even though it was just a teaser) has just helped me make my decision. I am sticking with GZDOOM.
Anyone know *looking at DaniJ* if it is/will be possible to swap the textures on a model to show damage done to a monster or even animate parts of a monster like flames, drool, or even blood vessels?
*EDIT* ooooh... wait... you said Doomsday... Hmmmm. dangit! back to undecided.
-
- Posts: 130
- Joined: Sat Oct 08, 2005 19:22
Re: Investigating Source Ports for 3D Monsters/Objects
Damage modelling and texture swapping is certainly possible with Doomsday, I don't think GZdoom supports it though. Both ports allow for multiple "submodels" for a given state which can each be animated independently if desired, so stuff like animated flames is indeed doable (though if I wasn't targeting GZdoom I would probably do this sort of effect using Doomsday's particle effect system instead (you basically attach a particle generator to the model frames you want and job done)).NiuHaka wrote:Anyone know *looking at DaniJ* if it is/will be possible to swap the textures on a model to show damage done to a monster or even animate parts of a monster like flames, drool, or even blood vessels?
-
- Posts: 47
- Joined: Sun May 21, 2006 23:46
Re: Investigating Source Ports for 3D Monsters/Objects
NiuHaka, welcome to the doom community.
I suggest just making it with all the effects you want, in maya and release it in obj(or another popular) format. That leaves it up to people who use what ever doom engine to convert it, package it and write the definition files for said Doom engine.
That is what I have been doing, but really slowly, because it has been hard to find help.
I have been releasing my stuff under the gplv2 or later license.
I have started a doom model project which has it's homepage here
http://sourceforge.net/projects/dmp/
and forums (where you can see some of what I have done) here
http://forums.yaa.dk/viewforum.php?f=33 ... e4dee5ef60
I suggest just making it with all the effects you want, in maya and release it in obj(or another popular) format. That leaves it up to people who use what ever doom engine to convert it, package it and write the definition files for said Doom engine.
That is what I have been doing, but really slowly, because it has been hard to find help.
I have been releasing my stuff under the gplv2 or later license.
I have started a doom model project which has it's homepage here
http://sourceforge.net/projects/dmp/
and forums (where you can see some of what I have done) here
http://forums.yaa.dk/viewforum.php?f=33 ... e4dee5ef60