Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

Work in Progress / 3D fighting game - Dark Dragon

Author
Message
Dimis
11
Years of Service
User Offline
Joined: 12th Jun 2011
Location: Athens, Hellas
Posted: 16th May 2013 00:14
No luck.
I have installed matrix1util 20120527. I think it is the latest.

Now I am not sure that this is the problem.
I tried the test scene again. I call the hitimer() function in the main loop. I am also using texture object commands. Shouldn't that have reproduced the same bug in my test scene too? It did not.

I will search again my code, just in case I am doing something wrong.

Dimis
11
Years of Service
User Offline
Joined: 12th Jun 2011
Location: Athens, Hellas
Posted: 17th May 2013 13:33
Today I solved the normal mapping problem. I still can't understand what was causing it.
I just experimented, changing when the effects will be loaded, before or after the objects, tried 2-3 times moving the code, eventually worked.
Visually there is a big improvement, all background surfaces and objects appear more real now.
Plus there is a higher contrast in the background lighting now, that makes the entire scene stand out more.
But there is a performance loss. The high-res models with the large number of bones, combined with Advanced Lighting, drops the fps to half. Unless I can optimize something in the scene, I will no be able to use Advanced Lighting.



Chris Tate
DBPro Master
14
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 17th May 2013 14:55 Edited at: 17th May 2013 14:56
I could not use Advanced Lighting because it is too slow for running multiplayer racing and ball sport open world scenes and ended up creating my own stuff catered to my needs.

The Malevolence guys ended up using it in their engine so perhaps I might have been mistaken; however I do not regret my decision to skip it because on various PCs some of its effects do not work whatsoever.

I would of assumed it would work well for Dark Dragon because the size of the levels are quite compact in fighting games, leaving a lot of room for artistic creativity and heavy use of shaders, but it seems that assumption would be inaccurate with the case of AL.

If you do not manage to get desirable results; and if you are not comfortable with programming your own shaders; I recommend using older shaders in the shader pack; which consists of Evolved's work as well. They are old, but can still look good and run way more smoothly than AL.

Frankly I think your textures a beautifully crafted, a simple normal map shader here and there; a bit of noise and higher resolution of textures might suffice; but this is with performance in mind over quality.

Dimis
11
Years of Service
User Offline
Joined: 12th Jun 2011
Location: Athens, Hellas
Posted: 17th May 2013 19:53
I see Chris that you have familiarize yourself with shaders very well, with very impressive results, as I can see in SF. Too bad that I have not tried to write something myself all that time. I don't know how to write my own shaders although I have some understanding of how they work.

I guess that I will have to use something more simple, if it doesn't affect performance. The old shader pack will do, thanks for the link.

I just liked the result in my test scene, so I wanted to try Advanced Lighting in my game too.

I forgot to mention before, that I also tested the game with some very old jointed models that don't use bones and the game was running smoothly with no problems. The old models had a very high number of polygons too, so I am pretty sure that it is the high number of bones that produces problems combined with AL. Although I have not applied any effect on the character models, just the backgrounds. I wonder how did Irradic manage to use AL in Samurai Legends without performance problems. Maybe I should ask an advice from him too.

thenerd
13
Years of Service
User Offline
Joined: 9th Mar 2009
Location: Boston, USA
Posted: 18th May 2013 05:39
I agree with Chris and in my opinion, using Advanced Lighting won't be worth the performance sacrifice you'll be making. Part of what's unique (so far) about your game is how smooth it runs. Using a complex shader system like this will make a huge dent in the FPS, and not provide a huge visual gain over what's already very polished. I think if you are going to use shaders, use them sparingly. From what I played, you had a good artistic style going and the levels looked good without shaders.

Chris Tate
DBPro Master
14
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 18th May 2013 13:57 Edited at: 18th May 2013 14:18
Quote: "I see Chris that you have familiarize yourself with shaders very well, with very impressive results, as I can see in SF. Too bad that I have not tried to write something myself all that time. I don't know how to write my own shaders although I have some understanding of how they work."


Well, like everything else it is only hard when you don't learn it; after then it becomes easy. The more you get into it, the more silly you feel not learning it before; there are a ton of features I've yet to make use of in HLSL.

Quote: "I guess that I will have to use something more simple, if it doesn't affect performance."


Simple is not the same is bad; consider that my shaders are actually quite simple in concept, about a quarter of the size of AL. It is the knowledge color mixing, photoshop, texturing and HLSL that allows you to get the most out of little. My shader source code runs similar to the old shader pack, just load the shader and apply to the object.

Screen shading is a little more complex, but allows you to balance the colors and change the mood.

Quote: "I also tested the game with some very old jointed models that don't use bones and the game was running smoothly with no problems. "


That might be the solution; it all depends on which solution is least costly and most beneficial.



I DO NOT play these games and have not touched a console game for years (expect at the odd Wii Sports party ), so am not an expert.

But I always like to look at every single engine out there and look at and try to guess how they did this and how they did that; look at the give away signs.

Looking at your masterpiece, what I see is a great game that could look better with a number of things that are not actually shaders...



Looking at what seems to be your inspiration MK, I'm guessing in the 3rd battle the background is downsampled (blurred) to create a focal distance between the camera.

The normal mapping seems to be colorized with a full screen shader to create a balance of colors and the light sources tend to be oranges and blues (complimentary colors {boy do I hate spelling colour that way}).

The particles are either emitted from bones or possibly a bunch of vertex coordinates. I think you have already done so but these guys seem to put a light source at each lit particle emitter.

I think what tends to be underestimated is the sound quality; especially when you have a sub woofer; the sound quality even via YouTube stream brings you into the environment; every particle collision is felt.

Another thing I notice is camera shaking; when an impact is made the camera shatters around. You already made your camera shake, but theirs shakes way more dramatically, which reflects the extreme power of the characters. I am talking about what I see not what I have experienced playing.

Some guy in the early days before motion picture was invented created a technique or principle if you like that the camera should always be moving, even if there is just a slideshow on view, it should pan, pan prefered than zoom. (I cannot remember his name) Anyway, the point is the Mortal Kombat guys seem to have the camera position pan (think curvevalue) rather slowly to the focal point; it creates a sense of naturalism and life. Nothing is still.

Finally, what I see in the video is lots of grunge and floating particles. I see this in Counter Strike Global Offensive aswell, lots of dust particles and smoke all over the place. No scene is perfectly clear, in the real world there are glares, dust, insects, weed and dirt; basically 'grunge' in every place, be it clean or dirty.

Last few things is bold text, and anti-aliasing; if you can get it to work on every PC...



Notice the dirt and grime, the resolution of the textures and the glare and bloom? I provide this as an example because it is a game I am more knowledgeable about.



This is probably an OLD image, but it is still good. It is a simple one, but when it is simple like this the eye tends to concentrate on fine details.

I think this looks realistic, I like the clouds and the look of the whole scene; the expression on the characters face and the ancient antiques. I think the texture on the floor should be at least 1024 pixels square, per 5 meters; or 2048 pixels per 10 meters. I think it looks like you used 512 pixels for a 10 meter area. Do you not feel that this is true? Can you see the pixelation on the floor?



There are some wonderfully placed props in this screenshot, the purples and blues blend in together really nicely. The characters are A class in structure, but I think they need normal maps too. It requires more work, but if I were you I would normal map some of their clothing.


Here is an old screenshot of my normal mapped character; yes the texture is messed up, but it's an old normal mapped I used to use but it still makes the clothing look more realistic and less plastic. For all of your special effects, you could animate the normal map to depict reactions to particles and damage.

Also, cube mapping is good to use on parts of the clothing that is reflective; for instance any swords or metal plate limbs could easier be applied with one of those handy cube map shaders.



I like the posses in this image; I really like kung fu posses, I like king fu movies too. (OK these are not proper kung fu posses, but still they look cool and that is what counts) Everything looks 99% perfect in this screenshot; excluding the test shadows obviously; this is a good look. Now just imaging this scene with bump mapping and cube mapping, some dust particles and a high resolution floor. Wow.

Anyway, I know you know what you are doing, but everybody thinks differently, and atleast some of your audience will think like me since I am a game engine maniac. If you need help using the shaders just post up any questions; some other guys around here are brilliant with shaders too.

Dimis
11
Years of Service
User Offline
Joined: 12th Jun 2011
Location: Athens, Hellas
Posted: 26th Jun 2013 11:35
Chris Tate
Thanks for all the advises. Ok, I am not still giving up on using shaders, but I will try higher resolution textures, epsecially on the floor. Tiling will probably help.
Now it took me some time but I managed to rebuilt a new texture skin, using small parts of different photographs. It is a 2048x2048 texture, too big I suppose. It wasn't easy to smooth it needed a lot of work in Photoshop but I finally made it and the result is very good, the skin works better, there is a big difference now in parts of the skin that bend a lot.


Dimis
11
Years of Service
User Offline
Joined: 12th Jun 2011
Location: Athens, Hellas
Posted: 26th Jun 2013 13:06
Just saw my screenshot didn't show up. Here it is again.


Something else I was thinking, I have some ideas about practically using most of my attack animations, even from the earlier version of my game, in a "common library" set of animations, that all characters will be able to use. But to do that, plus to use some ideas that require smooth animation blending I will try Enhanced Animations.

Chris Tate
DBPro Master
14
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 26th Jun 2013 16:00 Edited at: 26th Jun 2013 16:12
I can't get Enhanced Animations to work with my Blender characters; the transition distorts the mesh into a pulp in-between animations. Maybe it will work with your models.

Quote: "It is a 2048x2048 texture, too big I suppose"

That's the size I am using. In close up it really helps make the characters look better. The mip-mapping will handle distance efficiency. There is an anisotropic filtering plugin made that can help reduce blurring of distant mip-mapped textures.

The tattoos and hair look realistic.

Dimis
11
Years of Service
User Offline
Joined: 12th Jun 2011
Location: Athens, Hellas
Posted: 26th Jun 2013 16:57
Quote: "I can't get Enhanced Animations to work with my Blender characters; the transition distorts the mesh into a pulp in-between animations."

That's very bad! I expected that E. A. will resolve my transition problems. Too bad there is no trial for it. I will just have to download it, and hope it works. How do you handle transitions? You use DBpro commands, or you don't use transition between animations?

Chris Tate
DBPro Master
14
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 26th Jun 2013 23:07
Don't take my word for it; I haven't spent a great deal of time investigating the cause of the problem yet; it might be related to Blender's .X exporter plugin. It might work for you.

I'm sure the Set Object Interpolation command also helps make smooth transitions anyway. With so many animations to work with for so many characters, having one library allows characters to borrow certain parts of the animations. If you get E.A working, you can even mix animations; EG: legs playing walk animation while the arms play block animation.

Who knows I might get into hard coded animation recording, and use the CPU to generate certain animations.

I might get away with choppy transitions if the worst comes to worst. There are a number of AAA titles that get away with choppy transitions; so perhaps my little game can get away with it.

Mobiius
Valued Member
19
Years of Service
User Offline
Joined: 27th Feb 2003
Location: The Cold North
Posted: 28th Jun 2013 18:25
Quote: "Set Object Interpolation"

This only affects the DBPro animation commands.

Enhanced Animations supports fully smooth transitions, you must not be using it right. lol I cant remember any of the commands for EA, as it's been a very long time since I've used them. (Don't know why I bought it since I've never used it! lol)

This is my current project, check it out! [href]forum.thegamecreators.com/?m=forum_view&t=204576&b=8[/href]
This is my website, check it out! [href]http:\\www.TeamDefiant.co.uk[/href]
Chris Tate
DBPro Master
14
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 28th Jun 2013 19:26 Edited at: 28th Jun 2013 19:27
I know, I'm using the interpolation command because of EA not working with my models.

What makes me feel that I am using it right, is that what did not work is the example file; the supplied code written by the creator will attempt to interpolate my model; but inbetween the transitions, all the vertices just implode.

But indeed, 3D animation is way way further down my list of work at the moment; for this reason I'm a noob when it comes to EA.

Mobiius
Valued Member
19
Years of Service
User Offline
Joined: 27th Feb 2003
Location: The Cold North
Posted: 28th Jun 2013 23:34
That could be due to bad vertex welding? I had a similar issue when I messed about with Character studio. (Or whatever it's called. Another piece of software I've never actually used...)

This is my current project, check it out! [href]forum.thegamecreators.com/?m=forum_view&t=204576&b=8[/href]
This is my website, check it out! [href]http:\\www.TeamDefiant.co.uk[/href]
Chris Tate
DBPro Master
14
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 29th Jun 2013 03:15
Could be, I am sure a few tests with various export procedures will indicate what is wrong; it's just a matter of getting round to that part of the development.

Dimis
11
Years of Service
User Offline
Joined: 12th Jun 2011
Location: Athens, Hellas
Posted: 1st Jul 2013 15:36
Sorry for not replying guys. I tested Enhanced Animations with my game, and decided to use it.
Until now, I was using the set object interpolation/frame DBpro commands, to make animation transitions, but it is not very efficient in many cases. In large limb rotations, during the transition, sometimes limbs, or the entire object tends to shrink or become flat. But again this is a problem related to the way that the model is exported. Many pages back Stab in the Dark software offered an explanation.

Quote: "The reason models scale up or down during animations is because the models file contains
matrix keys. When Dbpro calculates the frames in between the matrix key frames it does not use
quaternion calculations. The model then scales during the interpolated frames, the more interpolated frames in between the more noticeable the scaling.

The simple solution is to export the model from your modeling program with position and rotation keys instead
of using matrix keys. Dbpro correctly calculates position and rotation keys with quaternions. In most of the modeling programs
to export with position and rotation keys just un check the matrix key export option. If your models contain rotations that are
360 degrees or more, they can actually disappear during interpolated frames using matrix keys. Hope this helps."

So keep that in mind.

Enhanced Animations fixes the rotation problem. It is worth trying it, in my opinion. Now that I installed it in my game, I can make any type of animation transition without problems. Also loading times are decreased and apparently I can load a larger amount of animations without performance loss, something that was happening when the models were preloaded with their animations.

I only have found 2 problems working with it. Using limb rotation/offset DBpro commands combined with E.A. produces problems in my game's engine, and I am using limb rotation to make the fighters turn their heads, to keep looking at each other during the fight. I must find a way to do the same using E.A. commands if possible.
Second bad thing is that extracted animations from one model will not work on another model that has a different number of limbs. That prevents me from making a common library of animations, unless of course there is a way to do it.

Now of course I have to replace every DBpro animation command with E.A. commands. That is a lot of work but it is a good thing because it gives me the chance to review my program and optimize my code. I already did a lot of clean up. Instead of using the E.A. animation commands everywhere in my program, now I have one function to take care of animation handling. That is way better because, if I stumble upon other problems and need to return to using DBpro commands, it will be easier.

Chris Tate
DBPro Master
14
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 1st Jul 2013 16:31
I take it there is no rotate limb command in E.A?

Might have to create two frames in your animation editor; one facing left, and one facing right. Now when you interpolate between them 0.0 is left, 0.5 is forward and 1.0 is right.

What animation tool do you use?

Dimis
11
Years of Service
User Offline
Joined: 12th Jun 2011
Location: Athens, Hellas
Posted: 1st Jul 2013 16:51 Edited at: 14th Nov 2014 10:39
There are some commands but I haven't tried them.

When I said they are rotating their heads, I meant they are rotating their heads all the time to keep "eye contact" constantly during the fight. Can't do that with animation. I use Poser to animate.

Chris Tate
DBPro Master
14
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 1st Jul 2013 18:11
I see; that makes sense. Anyway, if you fail to find an easy solution; I know how you can make what I mentioned work using vectors.

Login to post a reply

Server time is: 2022-12-06 03:29:34
Your offset time is: 2022-12-06 03:29:34