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 / Exodos

Author
Message
Ortu
DBPro Master
16
Years of Service
User Offline
Joined: 21st Nov 2007
Location: Austin, TX
Posted: 6th Jan 2015 20:09
Yeah, I would strongly recommend a separate skeleton for male and female. As you have found, the proportions are just too different to share one naturally.

You may also want to separate say skinny male from beefy muscle male.

In each of these cases, not only are proportions considerably different, the entire animation sets will likely need to differ.

Dimis
12
Years of Service
User Offline
Joined: 12th Jun 2011
Location: Athens, Hellas
Posted: 6th Jan 2015 22:40 Edited at: 6th Jan 2015 22:41
Quote: "In each of these cases, not only are proportions considerably different, the entire animation sets will likely need to differ."


This is another think that bothers me in modern professional fighting games, all characters use the same animations and physics when they get hit, as if they all have the same weight and height. In Mortal Kombat for example, an uppercut will lift in the same altitude a small sized character like Sonya Blade but also a characters with double weight like Goro. (That was not happening in the original 22 years old Mortal Kombat 1, Goro was heavier and he was falling differently)

Larger and heavier characters do need different animations, all characters use the same knock down, get hit, defensive and other animations. Heavier characters will have to fall down and generally respond differently when getting hit, for a more realistic result. That's is quite extra work, if i decide to do it, but I was thinking of adding a centaur character, this one will need totally different animations.

Ortu
DBPro Master
16
Years of Service
User Offline
Joined: 21st Nov 2007
Location: Austin, TX
Posted: 7th Jan 2015 05:37 Edited at: 7th Jan 2015 05:38
Quote: "generally respond differently when getting hit, for a more realistic result. That's is quite extra work, if i decide to do it,"


I'm in the same boat with Sulium, I am planning several different body-types each with several different fighting styles based on equipped gear and player customization, and that means I am facing a whole pile required animation variants which is intimidating to say the least.

Ultimately it is worth the effort though I think, it is these little details that can really sell the believability of a character.

Chris Tate
DBPro Master
15
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 7th Jan 2015 16:10 Edited at: 7th Jan 2015 16:11
Quote: "Ever thought about signing up to work for team Tekken"


I mean that you should work for the Tekken developers because it seems they have run out of ideas; each release appears to be getting worse.

Quote: "22 years old Mortal Kombat 1"


Oh my, am I that old? My how time flies.

Quote: "Larger and heavier characters do need different animations, all characters use the same knock down, get hit, defensive and other animations. Heavier characters will have to fall down and generally respond differently when getting hit, for a more realistic result."


I am no expert with fighter games; but I have not played any recent game where the fighters fall differently, and I am not sure how it affects the tactics and complexity of the such games if each character type had different timespans and knock down effects; If someone for example wanted to perform a 10 hit combo, could it work on all characters if they fall differently? And would players be bothered to memorize the combos for each each character multiplied by each character type?

It will be interesting to know your answer to this, as an experienced fighter game developer.

Dimis
12
Years of Service
User Offline
Joined: 12th Jun 2011
Location: Athens, Hellas
Posted: 7th Jan 2015 23:03 Edited at: 7th Jan 2015 23:04
I wish i could work with a development team for a game like that. Well is Tekken getting worst? It depends from our point of view. Tekken is still very popular in Japan, the place where it is developed. The new characters are well accepted there. But in the western world new characters like "Lucky Chloe" (just Google that character, you will see what i am talking about) will probably be a reason for someone to hate that game. Combined with the animals and robot characters. Actually i read a couple of articles talking about a version that will not include Lucky Chloe, because of the booing! Mortal Kombat was never very popular in Japan, but i don't know why. Maybe Japanese players prefer more technical games like Street Fighter?

Mortal Kombat 1, yes it is 22 years old, i was 15 when it was launched. Can't believe it..... how old am I????

About the air juggling in modern fighting games, well i have 6 fighting games in my xbox360, and probably 7-8 others in my PS2, but none of them uses different physics or animations for heavier or lighter fighters as i recall, except Street Fighter where you can't keep hitting someone in mid air. Also in every game every character appears weightless once starts to get hit in mid air. It is the way that gameplay works, even today. The air juggling combos started with the release of the arcade version of Mortal Kombat 2 (1993), almost accidentally. The game was very hard, so most players were trying to squeeze a couple of extra hits while the opponent was falling from a jump kick, but the gameplay was not intended to work like that. At least that was explained from one of the creators of the game, in an interview. The developers studied and learned a couple of things from MK2 players and officially installed them in the next games. Other fighting games that were developed after MK2 included the air juggling, Tekken was one of them. Have you seen Mortal Kombat X on youtube? Still uses the same gameplay. It is truth that developers today have stopped looking for radically new gameplay ideas and rely more on what seems to work well, combined with super polished high res graphics. Maybe again it is not easy to take an entire new gameplay concept and install it in a game, also taking the financial risk, betting that your audience will like it instead of hating it.

I wish i had more time to spend on games, i want to buy "Injustice Gods among us" and some older games like Tao Feng, but i am afraid that i will not have enough time to play. Getting older, having more responsibilities makes it difficult. And it takes more than 30 minutes to write a post here, lol. Another thing, i am not satisfied with my progress in my game. I expected that i would have completed a demo before 2015, but development is slower. I decided to add too many new things, and i don't have enough time to work on everything, i will need a team to make this game the way i have planned. Perhaps i should have tried to finish first a less complicated game.

Chris Tate
DBPro Master
15
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 8th Jan 2015 00:06
Hang on in there buddy, the game will take as long as it needs to take; the important thing is to enjoy the creation of it for the sake of exploring different ways to play a fighting game; the end product will come out on its given day, but 99.9% of the time is spent building it so there is no point focusing too heavily release date. It is not good to have deadlines when you have responsibilities.

Best tactic is spend time to save time; have the mindset of spending a decent amount of time thinking up time saving ideas. Use templates, save trivial features for later, purchase assets; stuff like that.

Ortu
DBPro Master
16
Years of Service
User Offline
Joined: 21st Nov 2007
Location: Austin, TX
Posted: 8th Jan 2015 00:34
Less complicated, less interesting. You are doing great man, I would love to be as far along as you are. I know it is easy to feel impatient and dissatisfied with the speed of progress, but you are actually moving along quite well.

Dimis
12
Years of Service
User Offline
Joined: 12th Jun 2011
Location: Athens, Hellas
Posted: 12th Jan 2015 15:47
Thank you guys, I was thinking that maybe i rushed into the decision to reboot the project, moving away from the oriental atmosphere, the truth is that i was tired working on the same things over and over and i needed something fresh. Perhaps i should have taken a break, and after returning, i could improve my older models and animation to complete a smaller game first, before starting something new. Also most people that have seen my latest work, still prefer the old oriental atmosphere.

Anyway, now here are some screenshots from my new characters, i don't have final names for them yet. For the female character i tried to work using the same skeletons that i use for the male characters. The result is not very good, her body tends to have male proportions during animation, so i experimented a bit, during the game, i am offsetting the upper shoulders closer to her torso to reduce the size of her back, and i made some changes on the mesh to fix her proportions, so there was an improvement but i will not avoid changing her skeleton at the end. But the model is good enough to work with it for now.



Chris Ritchie
18
Years of Service
User Offline
Joined: 7th Jan 2006
Location: Norn Iron
Posted: 15th Jan 2015 00:06
I have always loved your characters and animations both before the reboot and now. You will always be your worst critic when creating something and this unfortunately in most cases prolongs the length of your development. I think you need to move on with other aspects of the game to keep your interest strong. I am always happier when I can tick another thing of the list whether it be a new system added or new idea realised, and this keeps me moving forward. Think about the end result and make the best game you can.


Lead programmer ULIDIA
Ortu
DBPro Master
16
Years of Service
User Offline
Joined: 21st Nov 2007
Location: Austin, TX
Posted: 15th Jan 2015 00:30
I tend to agree, one of the most harmful things for progress is to flip back and forth on design direction. Seventh Crystal of Thaiea tends to suffer from this same problem. In your case it is mostly a case of art and thematic direction, which is less drastic, but probably not something you should be overly concerned with just now.

The basic mechanics and game play don't differ to much between this wip and your old one, you could probably continue to develop the underlying engine with either theme, and reskin it, add visual polish later once you are certain about the direction you want to go.

That said, i rather like the Greek god mythos you have now, it is more unique in the fighting genre where oriental is more traditional and by far more common.

Dimis
12
Years of Service
User Offline
Joined: 12th Jun 2011
Location: Athens, Hellas
Posted: 16th Jan 2015 11:40 Edited at: 16th Jan 2015 11:43
Thank you for your advices guys. Changing back and forth my direction is not going to help proceed. One of the reasons that made me decide to change the esthetic direction, was that the oriental look is realy very common in fighting games. So i looked for inspiration in local mythology. But i have an idea since the beggining of the reboot, it is more like a long term plan, that after i complete this game, let's say add 12-15 fighters, 1-2 boss characters (i want to add more but i have to be realistic, 12-15 are enough for a first part), i can make a second part, having a scenario where the greek deities collide with oriental deities. So i will use almost everything that i have create until now. But again this is a very long plan.
Now to move things further, i will continue to work on more fighters, but i will use placeholders, like use the same animations for some super weapon attacks which take a very long time to animate, also to avoid making a lot more attack animations i will have all fighters hold their weapons with the back hand, otherwise i would have to make a large number of weapon animations. Good thing is that the majority of those animations can be shared from all fighters, no matter what type of weapon they use.

And on the current progress, i am working on special attacks for the 2 new fighters, temporarily i haved name the female fighter Nebula and the male Arhon (or Archon, i am not sure how to interpret correctly some names)

Nebula is supposed to be a clone created from the DNA of Medusa (this Nebula is my own fiction of course, this character never existed in mythology) and she is an incomplete clone, having only a portion of Medusa's petrifying ability.

Archon (again my own fiction) a dark deity, is the counterweight of the god of light, eternally bounded in the Dead world.

Here's a video with preliminary work on their abilities. Nebula uses a light beam to temporarily immobilize the opponent, instead of permanently petrifying him. But that ability now makes her overpowered. Although the attack has a slow start, it has an infinite range and hits instantly. So i have to do something, maybe add a cool down period, or reduce the range of the attack? And the light beam needs some fixing.
Archon's attacks will change a lot, he looks like a character from mortal kombat.


Now about the graphics, i started working with evolved latest advanced lighting system, until now i have been testing with his earlier. I have thrown my models in a test scene, again i had to remove bones, because the normal-specular shader has the 50 bones limit, and this is the result. Although the maps need a lot of esthetic changes, because now the models look like wax, but they have a very realistic look, better than the shader that i use in my game. With map improvements and placing carefully the lighting sources i can have a very good result i think.
The problem is that i can't install the latest AL system in the game's engine, something doesn't work, i have to scan my entire code to see what is wrong. And find a way to overcome the 50 bone limit. I see that i have 2 options, either make the palms of the models separate objects as i have been thinking, or maybe keep them on the models, but have them as separated meshes? I think that the limit is 50 bones per mesh. but i could be wrong. I will try to email Evolved to ask him if i can increase the limit somehow.


Ortu
DBPro Master
16
Years of Service
User Offline
Joined: 21st Nov 2007
Location: Austin, TX
Posted: 16th Jan 2015 17:06
For the nebula beam, medusa only worked if you looked at her, with the slow start of the ability, a reasonable counter to balance it is maybe ll the opponent turn around to face the other direction and then the beam has no effect.

The waxy/plastic look is usually due to issues in the specular map, evolved shaders tend to really blow the spec values out you have to set them very low. You also want strong contrast to ensure that you h have plenty of flat black to break up the light, particularly on skin and cloth. The latest version of AL reads the red channel of the image in texture stage 2 for specular power if you are using the surface/animation/normalmap shader, which i think is different from the old version.

ssao can also contribute to waxiness if it is to strong

Dimis
12
Years of Service
User Offline
Joined: 12th Jun 2011
Location: Athens, Hellas
Posted: 16th Jan 2015 18:02 Edited at: 16th Jan 2015 18:05
It is possible to defend against the beam with the normal block, the beam triggers an animation that makes the character cover his head. I can make an animation that will make him turn his face to avoid looking at the beam too. But unlike the projectiles, the beam hits instantly. So it is not possible to dodge it, or jump over it easily. Nebula can spam the opponent now by keep using that beam.

Thanks for that tip about the red channel. I really have not digged into the new AL system, i have barely tested my models in the test scene. Yes the new normalmap shader works differently now. In that screenshot i am using the version of the shader that is not made for bone models. It works with bone models too, but it is extremely slow, but i use it for my tests because it does not have a bone limit. Having a background and 4 of my models at the same time in a test scene, without anything else running in the main loop produces 70fps top. The version of the shader that is made for bone models is of course faster. The only problem with that shader (besides the bone limit) is that every limb that is not affected by bones, disappears from my models when i use it (eyeballs, armguards, etc). I will have to export them separately and attach them on the models in the game. Anyway my biggest problem with the new AL is to actually install it in the game. So far when i use it combined with the bloom shader, that i also use, the fighters appear white. when i remove the bloom shader, both fighters disappear. I don't know why, i know that the AL system works with multiple cameras, so maybe there is something in my code that doesn't let the fighters render to a camera or something like that? I will search for the problem later, right now i want to finish those 2 characters.

Ortu
DBPro Master
16
Years of Service
User Offline
Joined: 21st Nov 2007
Location: Austin, TX
Posted: 16th Jan 2015 21:18 Edited at: 16th Jan 2015 21:32
Hmm yeah sounds like either a cool down is needed, or maybe a resource cost.

AL uses it's own bloom shader, perhaps there is a conflict? It is enabled/disabled in the call to

PostProcessing_SetUp(screenWidth, screenHeight, d3d, boolRefraction, boolDistortion, boolSSAO, boolScattering, boolAntialiasing, boolBloom, boolDepthOfFocus, boolMotionBlur)

There may also be some conflict with AL fog settings, these can turn a model white as well.

I know from experience it isn't easy to integrate into an existing project, I had to completely rescale my game world and models, and alter speed and range values across the board. I still can't get depth of focus or motion blur to work with my project though they run fine in the demo. I don't want the motion blur, but DoF would be nice

Another random thing I've noticed is that performance seems to improve across the board if you enable anti aliasing in AL, also set multi sampling to 2 on dbp set display mode. Any value higher than two seems to have no effect, and AL itself seems limited to a default x2. Performance is noticeably worse if the multi sample is not set on my machine, though you would think it would improve, since AL is handling the rendering and AA...

Lastly, you don't need to call sync in your main loop, AdvLighting_Update() will do this internally.

Dimis
12
Years of Service
User Offline
Joined: 12th Jun 2011
Location: Athens, Hellas
Posted: 18th Jan 2015 12:25 Edited at: 18th Jan 2015 13:28
I removed the sync command from the main loop when, i tested, but nothing really changed. But i am calling the sync commands in other functions, like the select character screen, and others. Could that be a problem? I probably should remove every sync command and add all objects to the AL system. I will do further testings.

Now thinking about a non common approach and all, today i found this, new mobile game from the creators of mortal kombat. First time i see it. It has a different concept and characters, but the overall feel is almost what i want to do. This is a bit disappointing for me.
https://www.facebook.com/pages/WWE-Immortals-Game/1568792470007411

Chris Tate
DBPro Master
15
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 18th Jan 2015 17:16
Interesting concept; WWE wrestlers immortalised into a Mortal Kombat styled fantasy fighting game. Might be worth playing it for inspiration.

Do not feel to bad about someone else using similar ideas at this stage; it happens all the time; there is nothing new under the sun but plenty of time to find concepts to help make your game better in its own way.

Dimis
12
Years of Service
User Offline
Joined: 12th Jun 2011
Location: Athens, Hellas
Posted: 18th Jan 2015 18:33
Yeah it is not easy to have a unique idea, the timing of that game showing up was just bad. The thing is that, i have made a generic gameplay, borrowed a few things from other games, but i still don't have that unique gameplay idea that every fighting game has. I am trying to think of something that i can put in the gameplay mechanics, that will give something unique to the game. I am always open to any ideas.

Every fighting game is known for something. For example mortal kombat has the extreme gore, street fighter has a very technical gameplay (ok street fighter was always the leader, since it is the oldest fighting game), Dead Or Alive has the sexy female fighters, and so on...

Before starting this game, i had 2 ideas that i wanted to try. First was this game. The second was a game with cinematic kung fu action, influenced a lot from the fighting scenes from the Matrix. Extreme kung fu mixed with small doses of super powers, but not too much, the game would focus mostly on kung fu. Anyway i decided to proceed with this one. The real reason i am having my doubts is that the second idea would be easier to handle with dbpro, since it would involve mostly animations. For Exodos i need also to make a tone of special effects, that depend a lot on transparencies, since transparencies in DBpro produce some strange unwanted visuals and bugs.

Ok, today i tried something. Since i have many objects attached on my models as extra limbs, and they disappear from my models when i use a bone shader (only the main body of the characters shows) i added some extra commands in my editor program (i have made an editor that load the model, converts textures to dds, textures the correct stages and saves the models to dbo). Now all the extra limbs are removed from the object and saved as extra objects. I want this procedure to be automated, i don't want to export every object separately from the modeling application. The problems is that when i glue those objects back to the model their orientation is correct but their position is wrong. Very annoying.

Ortu
DBPro Master
16
Years of Service
User Offline
Joined: 21st Nov 2007
Location: Austin, TX
Posted: 18th Jan 2015 22:14 Edited at: 18th Jan 2015 22:23
extra sync calls are not really a problem, just an added performance drain. AL calls several sync and fastsync internally, I only mentioned it as something to be aware of when looking for performance optimizations when dealing with AL

are the extra objects' root bones position centered to 0,0,0 before gluing? If there is any offset in their root, that offset will get applied to the glued position as well.

I had a lot of trouble with various issues in the gluing of accessory objects, in the end I chose to keep them as completely separate objects and manually sync position, rotation, and frame. They can either share the same skeleton as the base object, or a reduced copy of it with any bones that the accessory doesn't need removed. On the upside, all glue, scale and positioning problems were fixed, it lets you extend the 50 bone limit by separating some things out of the main object (like hair), and it gave greater flexibility in some of the interaction animations between base object and accessory, but it has some downsides as well, significantly that the accessory object is now specific to the base object whose skeleton and animation set it shares, and a different version has to be exported for different characters. Basically, the object becomes less easily shared / usable by multiple characters / base objects.

These are the functions I use to handle accessory objects:



Chris Tate
DBPro Master
15
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 19th Jan 2015 09:59 Edited at: 19th Jan 2015 10:28
Quote: "Yeah it is not easy to have a unique idea, the timing of that game showing up was just bad."


True. They say at Valve that a game or DLC that is different is not the same as being better. The game will never be exactly the same as existing products because of the different tools and minds operating them; but such differences need not make it a completely different game, just different enough to not be clone.

I would have gone for a mixture of the first and second; since doing what is easy for DBPRO will be giving you an advantage, rather than a disadvantage; and doing both means you have two interesting topics to keep you motivated instead of one; you have attracted two audiences instead of one, and then you have just made your game more unique by creating a new "kung fu fantasy" (or kung fu vs fantasy / or martial arts vs fantasy etc) market which yields nothing well established in a google search. So that would be win win; nothing to figure out there other than how to make it look good; it could not be more cheesy than DC vs Mortal Kombat which did quite well.

This is all my thinking which may not be your best option given your vision and style of creativity; obviously I am not an expert at fighting games but in general I always try to focus on finding reasons to mix two or more subjects together if I think they would entertain me if I were the player; and if it makes my project more interesting to work on. The only problem is the more interesting it gets the more frustrating it gets when you have to focus on day to day chores and paying the rent...

As for the shader problems; I could not help because I do my own thing, I do not use the AdvancedLighting library. Maybe give it a shot one day, play around with DarkShader and some of the shaders distributed around the forums; there are many guys willing to help with such things who may not use AL.

Dimis
12
Years of Service
User Offline
Joined: 12th Jun 2011
Location: Athens, Hellas
Posted: 24th Jan 2015 09:15 Edited at: 24th Jan 2015 09:19
Another update. I wanted to change the fall down animations and the physics they use for a long time now. I finally did it this week. Almost all fall down animations are made again from scratch. And many other corrections, for example when a player is on the floor and receives another hit, he will only be slightly lifted from the floor, the responding reaction animation will not play from the first frame, only the last frames. Looks more natural, of course i am using many exaggerations, an uppercut will lift an opponent very high, it is also possible to continue hitting someone in mid air, as in most fighting games, of course in the case of this game all fighters have superhuman strength, so there is some sense in having so many exaggerations. In mythology Hercules defeated a titan by keep pushing him high, away from the ground, that was the source of his powers, so i guess superhuman strength can produce exaggerated results, lol.

Here's a video showing the new updates, i think that just one video will not show much, a side by side comparison would be better, but i uploaded it anyway, also i wanted to test the 60fps youtube upload, (720p60) works.



Now on the last subject the transparency shortcomings and problems, i am still disappointed because i can't make all the effects i had in mind.
Example:

On the right, this is how this projectile sphere was supposed to look like with the correct transparency, but on the left is how it looks, sometimes when it is placed in front of another transparent - ghosted object it just disappears. I tried every advice from the forums, used png transparency, alpha channels, played around with enable/disable zwrite, zdepth, whatever, those problems appear randomly. Most people on the forum answer that this is how transparency works in DBpro and nothing can be done. This is one of the reasons that make my think to make the game work mostly with hand to hand combat.

Chris Tate
DBPro Master
15
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 24th Jan 2015 16:54 Edited at: 24th Jan 2015 16:56
Some ideas: Is it important for the effect to be performed on the same camera? Can the projectile be overlayed? Could a sprite suffice?

Does splitting the sphere into two seperate objects not work? Have you tried Matrix1's Set Limb Transparency command, or perhaps using the same object for both parts of the sphere.

Hopefully the reason for one transparent object overlaping another even though it is further away falls down to order of object creation; but that sounds too good to be true.

wattywatts
14
Years of Service
User Offline
Joined: 25th May 2009
Location: Michigan
Posted: 24th Jan 2015 18:10
Do you have any experience with video effects? I'd suggest making your sphere that way and texturing it on a plain. I've run into that particular problem quite a few times and the only thing you can really do is cut down on the ghosted/transparent objects.
I think it depends on camera proximity; I'm assuming that the larger sphere is being overlapped by the smaller because it's furthest point is farther from the camera.
Dimis
12
Years of Service
User Offline
Joined: 12th Jun 2011
Location: Athens, Hellas
Posted: 26th Jan 2015 10:15 Edited at: 26th Jan 2015 10:18
Ok, i needed to share this. This is very strange, but interesting. It seems that i made the bone shader work, with 60 bone models.
The boneMatrix was not supposed to be tweaked, i tried to set it from 50 to 60 in the past, but it was not working.

Now how does it work wih 60 bones? I will not describe the entire story of how i came to this conclusion, but it is a bit accidental. I removed a bone from the main mess of the model. I added it to another limb (an armor gear, it is not visible in this screenshot). So now i have 2 different limbs affected by bones, the main body(59 bones) and an armor gear(1 bone).
I changed again the bonematrix to 60.

And it works??? Yes, it does. Strangely it does.


4 Deimos models with the bone shader, running at a maximum of 400 - 450 fps.
This is an interesting development. Can i rely that it will continue to work? It seems that it is a bit accidental, if there is such a thing in programming.

I still have not succeeded to install Advanced Lighting in my game, the truth i mostly want the normal map shader, so i wonder if it is possible to just use the shader without installing the entire AL library.

Edited

Wrong conclusion. All it needed was to have 59 bones, and set the bonematrix to 60. But still the same thing.

Chris Tate
DBPro Master
15
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 26th Jan 2015 15:22 Edited at: 26th Jan 2015 15:32
That's some good news that you got it working. Is the bone limit consistent on more than one machine?

Quote: "so i wonder if it is possible to just use the shader without installing the entire AL library."


Most likely Ortu will know the answer to that question since he knows alot about that system. From my experiences with normal map shaders; they require light sources which indicate where the bump highlights go; I imagine Evolved has a light entity system which handles that for you; which means having to create your own light entity and pass its attributes to the shader if you discard the AL engine.

So I imagine it being worth the effort trying to get AL to work; otherwise the next best thing is to write your own shaders, which I recommend because it is a useful industry standard skill to learn and gives you all the control you need. You've made so many neat effects without them, I can't help but wonder what you would achieve with them. All you have to do to get your own normal mapping shader underway is to observe some of the example normal shaders from NVidia, learn about normal maps, specular maps, reflectivity and then it is a matter of writing a pixel function which returns each pixel of the texture or screen to your delight.

The only thing is afterwards you will hate yourself for not learning it much earlier; because it pretty much makes all of those Ghost Object and Set Object Emissive commands look fit for kindergarten.

Ortu
DBPro Master
16
Years of Service
User Offline
Joined: 21st Nov 2007
Location: Austin, TX
Posted: 26th Jan 2015 21:06
His normal map shader from AL depends on light and shadow map data from further up the AL pipeline. You could probably get it working on its own maybe by passing it static precalculated data, but it's probably not worth the effort, or rather it would likely be easier to get the full system working and just turn off all the other effects.

That's the big problem with AL it doesn't mix and match well with anything that isn't AL

I'll see if I can reproduce the 59 bone setup. I tried before to exceed 50, though I don't remember exactly what my counts were, and my previous failure could be from something else entirely. 59 would be nice to have

Dimis
12
Years of Service
User Offline
Joined: 12th Jun 2011
Location: Athens, Hellas
Posted: 26th Jan 2015 22:44
Quote: "Is the bone limit consistent on more than one machine?"

That's a good question. Generally i know that 60 bones is a limit either for dx9 or dbpro, i am not sure for which one, but maybe there is a hardware limitation too in certain machines. Unless someone knows that for sure, i will have to test on many machines. But there are other shaders that use 60 bones, so i suppose that possibly there is no such problem.

Searching for info about professional models i found somewhere this. It is an alternative model for General Zod, from the game "Injustice Gods Among us".

It says 123 bones! Does it take so many bones to make a model bend and deform correctly for a professional game? Actually i am not surprised. An AAA game title needs to have perfect model. In fighting games a model needs to look perfect in any frame of animation. I suppose that I can get away with occasional ugly bends and twists that happen briefly in my game, so the 59 limit is not so terrible.
Ok now i fixed all four characters to use 59 bones, there was an unnecessary bone because i was using 2 bones to animate the eyes, now i use 1 bone for both eyes.
So Ortu please try it, i am very curious to see if it works for you too. All four models use the bone shader now, so i guess it is possible.

I will try to install the latest AL system again. I don't know why it failed to work last time i tried, the earlier AL was working fine. But really i should learn to write my own shaders, i will do so sometime later, now i will work with AL so that i can progress the game further.

Ortu
DBPro Master
16
Years of Service
User Offline
Joined: 21st Nov 2007
Location: Austin, TX
Posted: 27th Jan 2015 06:35
You might be interested to know that Evolved just put out a new update to AL yesterday 1/25

http://www.evolved-software.com/advancedlighting/advancedlighting

The command set parameters have changed a bit

Chris Tate
DBPro Master
15
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 27th Jan 2015 16:11
AL keeps getting better and better; I really like his work on the water shader.

Dimis
12
Years of Service
User Offline
Joined: 12th Jun 2011
Location: Athens, Hellas
Posted: 27th Jan 2015 17:30
Thanks Ortu i didn't know there was an updated version, i just downloaded the latest version but i only had a little time to work with it. i tried to install it in the game but i only see a black screen. It is frustrating because i will not have time to work on the game for the next 2 days. I wish game making was my primary job, not just something i do in my free time. I believe most of us feel this way.

I opened the bone animation project that comes with the AL zip, and replaced the colonel model with my models, and changed the bonematrix to 60 again. It still works, so I believe it will work with your model too.

That water shader is really good, maybe i can use it in one of my backgrounds.

Ortu
DBPro Master
16
Years of Service
User Offline
Joined: 21st Nov 2007
Location: Austin, TX
Posted: 27th Jan 2015 23:21
Check out the particle engine it includes if you haven't already, could be very handy for a game that uses special abilities / special effects like this

Stab in the Dark software
Valued Member
21
Years of Service
User Offline
Joined: 12th Dec 2002
Playing: Badges, I don't need no stinkin badges
Posted: 29th Jan 2015 21:14 Edited at: 30th Jan 2015 20:30
I believe that 60 bones is a DBPro limit. But it seems there is a
work around. This is a quote from lee.
Quote: "
I only managed to get the bone count per mesh to 60 before the shader refused to take any more matrix data, so I guess 60 is your top limit for 'bones per mesh', but can have more bones just dont associate them all with a single mesh, use a few meshes. Also make sure no more than four bones influence once vertex or the shader will throw another wobbler. I thought about adding a mode for GPU skinning so bone limit is not a factor, but do you really want to take this step backwards into CPU land? Feedback welcome."


From this post.

P.S. I fixed the link.

http://forum.thegamecreators.com/?m=forum_view&t=133850&b=21&p=5

WindowsXP SP3,Vista,Windows 7 SP1, DBpro v7.7RC7
Stab In The Dark Editor
The coffee is lovely dark and deep,and I have code to write before I sleep.
Dimis
12
Years of Service
User Offline
Joined: 12th Jun 2011
Location: Athens, Hellas
Posted: 30th Jan 2015 10:15 Edited at: 30th Jan 2015 10:17
Thanks Stab, it is good to know that, for now the 60 bones limit is not a problem, but in the future i might want to add extra bones for facial expressions. (is that link broken? it doesn't work for me)

I am trying to add the latest advanced lighting in the game. i can't make it work correctly. i installed the test scene in the game, it starts to run at the start of the program. the model and the sky are looking ok.

When the game starts everything is messed up. i see now that it is hard to install AL in an advanced state of a game. The background objects appear black, but i think this will have an easy fix.
This is how both fighters look. When any of them moves in any axis everything that is positioned inside the half right part of the screen, except the background objects, appears ok. when both fighters stand still again they look broken. The slow down is because of the recording.

I think this is an issue related to the multi cameras that ADVL uses. i don't know, my head is about to explode.
edit
Both health bars appear to stretch also, when any of the fighters moves. The health bars are 3d objects with locked positions to the screen.

Chris Tate
DBPro Master
15
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 30th Jan 2015 11:10
Well we can all help...

Firstly that backdrop to the right of the grey image looks like a skybox. Do you use the texture backdrop command, or any backdrop commands for that matter? Does any one know how such commands may impact the AL system.

If you do use backdrop commands and the AL system requires access to the backdrop; your best bet is to draw your backdrop to a free camera and texture a plane situated in the distance. Hopefully AL has a camera management function to provide you with a free camera.

The black objects in the background are excluded from the AL light entities, they somehow need to be included as are the characters. If the way your engine works requires the backdrop to be a seperate scene, so AL will need seperate light entities for that scene.

Perhaps there are some users of AL in the DarkBASIC forum who may be able to help; besides us in the WIP board.

Dimis
12
Years of Service
User Offline
Joined: 12th Jun 2011
Location: Athens, Hellas
Posted: 30th Jan 2015 12:36
The sky is part of the AL system. The sky appears, because it is part of the test scene that i added at the beginning of the program. The problem was still there, before i added the scene. I added that scene to force the AL system to start working, thinking that i might be able to narrow down where that problem starts to occur later.

The black objects in the background are included in the AL system, they only have a diffuse texture, no shader applied, maybe that is why they appear black? I am not worried about that actually, i will fix it later. I want to see how the AL systems handles cameras, maybe something is conflicting somewhere but i will look for more help in the forums.

The downsides with AL, besides the above problems, are 2. Compiling times have doubled, it is not easy to tweak something and recompile. And performance is very poor on 2 older test computers.

Ortu
DBPro Master
16
Years of Service
User Offline
Joined: 21st Nov 2007
Location: Austin, TX
Posted: 30th Jan 2015 19:36 Edited at: 30th Jan 2015 19:40
As to the black diffuse only, your right they need a shader applied

Shaders/surface/object/diffuse.fx is a basic diffuse only shader good for just getting something rendered without needing to provide all the other maps.

You can get a free camera id using var = AL_FreeUpCamera()

I haven't had a chance to check the video, but the health bar stretching may be due to the odd fish eye fov AL defaults to. I usually set it back to dbpro native.

I will try to get to the video and see if I can tell what is happening

It does add a good bit to compile time all the more reason to abstract away as much as you can to external configuration files / data sources

Performance takes a bit of tweaking, it mostly defaults to max features and settings in the demos, these can be reduced to just what you want/need.

Point lights have a big performance hit, use spot when you can,

Reduce the shadow map size to 512 or 256, shadows are another heavy performance hog

Depending on just how old those machines are, they may just not be able to handle it regardless of optimizations. How well would they handle say Half life 2? That is an older gen game at this point using many of the same types of shaders

Ortu
DBPro Master
16
Years of Service
User Offline
Joined: 21st Nov 2007
Location: Austin, TX
Posted: 30th Jan 2015 20:03
OK saw the video, it looks like it is rendering from one of the component images, you can view these with a call to AL_Debug() just after AL update, press F1 and you should see the component renders on the right side.

All uses something like 20 cameras and renders most of these to images, maybe you are picking up either a camera or a render target image by accident? Do you use multiple cameras to display your scene?

During AL_Update, it syncs all AL cameras to the current camera, typically camera 0, if you are managing multiple cameras on your end, AL is probably only syncing with one of them

Chris Tate
DBPro Master
15
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 31st Jan 2015 16:02
Quote: "The downsides with AL, besides the above problems, are 2. Compiling times have doubled, it is not easy to tweak something and recompile."


Yeah be warned! It is not just about spending twice as long compiling, but the fact that there are limits to how much functions you can compile.

On a positive note you can find ways to reduce the length of your own code by implementing more datafiles and abstraction as Ortu mentioned.

Ortu
DBPro Master
16
Years of Service
User Offline
Joined: 21st Nov 2007
Location: Austin, TX
Posted: 31st Jan 2015 18:23
hmm I remember you mentioning a function limit in the past but that the first time I've seen a number for it. interesting.

Dimis
12
Years of Service
User Offline
Joined: 12th Jun 2011
Location: Athens, Hellas
Posted: 31st Jan 2015 20:20
Good to know, i suspected there was a limit but i didn't know how high or low it was.

I found the cause of that problem. I was using a black plain with alpha mapping to make a fade in - out effect. Hiding that object at the beginning fixed this strange problem. I don't understand why this was happening, when the plain's transparency was reaching 0%, i was setting that object to hide, but although it was not visible, it was still creating that problem somehow.

So now for the next problems....

Transparent objects have undesired behavior. I am not sure how to handle them. Objects with disabled zwrite also have problems. I can learn how to handle transparent objects with the AL system, but things are going to get highly complicated now. So far i have available the option to disable all shaders, to improve performance for older computers, i will probably have to forget about that if i start making use of AL extra features, like the particle system. Also i am having random fps drops, that's not very good, they mostly happen when the camera zooms out. It starts to feel like too much trouble now, i could use a lot from the AL system, like the object motion blur, but maybe it is not worth it, if it is going to be in the expense of performance.

Dimis
12
Years of Service
User Offline
Joined: 12th Jun 2011
Location: Athens, Hellas
Posted: 1st Feb 2015 17:10 Edited at: 1st Feb 2015 17:12

Things started to work now. fps is stable. I am not sure how to handle transparent and ghosted objects. Objects with png transparency look screwed up. Ghosted objects don't show at all.
I need to decide if i will continue to use AL, or leave the graphics alone as they were before installing AL.

Screenshot without Advanced Lighting


Dimis
12
Years of Service
User Offline
Joined: 12th Jun 2011
Location: Athens, Hellas
Posted: 6th Feb 2015 08:28

Things are moving on with the AL system. Surprisingly, changing all background objects and textures to dbo and dds, gave a big performance boost.

I am not using the bone shader on the fighters in this screenshot, but i am using the object shader instead, just to make my tests, it is supposed to be slower but my fps is between 55 to 60. But this shader gives an unstable performance i will use the bone shader later. This boost was encouraging enough. And the visual results of course.

The only thing i can not figure out how to do, is to make my particles fade gradually, changing the opacity of the particle objects. I don't know how that works with AL shaders.

Chris Tate
DBPro Master
15
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 6th Feb 2015 10:54
Nice. You can see more detail in the backdrop objects.

Dimis
12
Years of Service
User Offline
Joined: 12th Jun 2011
Location: Athens, Hellas
Posted: 6th Feb 2015 15:01
There is more detail sure, but there is no bloom shader in the latest screenshot, bloom also blurs the screen, so now details are more sharp. The lighting is better, and the sss shader has improve character's skins. Later i will make corrections on the specular maps and the sss maps for better results.

Ortu
DBPro Master
16
Years of Service
User Offline
Joined: 21st Nov 2007
Location: Austin, TX
Posted: 6th Feb 2015 18:15
Looking really good man. If you are using the AL particles / emitters, eck evolved has a really nice particle editor program on his site, don't have a link at the moment but it isn't hard to find. You can customize just about any setting you can think of, including fade in / out

Dimis
12
Years of Service
User Offline
Joined: 12th Jun 2011
Location: Athens, Hellas
Posted: 7th Feb 2015 14:09
Thanks Ortu, everything looks better than before, but there is a price to it. The AL system makes the game less friendly to older computers. It will need relatively modern hardware to run smoothly. I am still keeping the option for the player to remove all the shaders. I don't want to use the AL particle system yet, unless it can work also without the AL system, i have to see if it does first.

Dimis
12
Years of Service
User Offline
Joined: 12th Jun 2011
Location: Athens, Hellas
Posted: 12th Mar 2015 00:09
First update after a month. Not much to show in this video, i worked mostly on gameplay mechanics and i decided to make the game run on fully 3D arenas. This is still not a final decision since i am not sure about how it will affects some gameplay aspects. For example, 3D evades will look cool, but such a feature could make the gameplay collapse. And i am not sure how to handle the throwable objects in a 3D arena. Should they be near the edges of the backgrounds, so the fighters will have to walk near them to grab them? Maybe they should be inside the arena? In that case i will have to make them ghosted every time they get in front of the camera, an old issue that troubled me again in the past.

There have also been control changes. The game uses the control setup of games like Street fighter, with 3 punch and 3 kick buttons, each button dedicated to do either light, medium or heavy damage.
Fighters now can draw and hold their weapons, instead of having 1 button that executes weapon attacks only. Once they draw their weapons instead of punches they execute weapon attacks. Actually they don't draw the weapons they just materialize them, well it is more simple that way instead of having actual draw and retrieve animations. Weapon attacks always do damage,even when they are blocked, in that case the damage is reduced to 1/3. But it i not possible to do long and complex combos with weapons.

I am working on a Rage mode. There are 2 extra power bars for each player since i started working on this game. The first bar is the "special power bar" it fills while the player executes normal or special attacks and it can be used to activate specific special attacks or to break opponents combos (combo breakers). The second bar, from now on is the "RAGE" bar. It fills while the player takes damage and it can be used to activate the Rage mode.It is a mode that lasts from 4 to 8 seconds, depending on how much the meter bar has filled. I don't have a very clear thought of what happens when a fighter enters the rage mode. I made it so, that he takes less damage and recovers faster when taking hits, can't fall down, his attacks can cover a larger distance and do more damage. Very generic stuff i think, i need something more original. Close to the end of the video i am testing a glow effect, but it is not enough to make the fighter look raged, it will need extra idle and walk animations for that event.

The good thing is that most of the programming is completed, so now i can focus on the actual game. I don't know how far i will continue with DBpro, i am mostly concerned about the future support of this software, although i love it. UE5 and Unity5 are very tempting there is also an engine that runs on Unity for the creation of fighting games, something that i am keeping in mind, although i prefer to use my own stuff (oh selfish me).

i will try to keep the weekly updates too, even if i have something small to show.



Ortu
DBPro Master
16
Years of Service
User Offline
Joined: 21st Nov 2007
Location: Austin, TX
Posted: 12th Mar 2015 06:17
This keeps getting better and better. The physical interaction between characters is really impressive.

I'd say you've come too far to back up and switch engines right now, as you said, the code is nearly complete. Finish this one up, release it as an awesome showcase of what DBpro can do then maybe look at other engines for the sequel

Chris Tate
DBPro Master
15
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 12th Mar 2015 15:15
Nice vid. I was wondering when this update was going to come.

Dimis
12
Years of Service
User Offline
Joined: 12th Jun 2011
Location: Athens, Hellas
Posted: 13th Mar 2015 15:33
Thanks guys! My biggest concern with DBpro is the future support of the software. I hope that even if there is not going to be an actual update on DBpro ever again, (which will be a mistake in my opinion), DBpro games will continue to run on the next operating systems. I plan to finish this game with 12-16 characters, although i want to go for more, but i need to have a backup, and Unity seems ideal now. I plan to start working with Unity anyway for other stuff besides this game.

Another wip video showing some basic advantages when the character enters the rage mode. Recovery is faster when when getting hit, and his attacks can override the attacks of the opponent. i also want to make a light beam effect around the raged fighter but i use a placeholder for it now.



Stab in the Dark software
Valued Member
21
Years of Service
User Offline
Joined: 12th Dec 2002
Playing: Badges, I don't need no stinkin badges
Posted: 13th Mar 2015 16:07
I really like the full 3d environment.
It looks more polished with every video.
When you get it finished you should sell it on steam.
It would probably get a lot of downloads.

WindowsXP SP3,Vista,Windows 7 SP1, DBpro v7.7RC7
Stab In The Dark Editor
The coffee is lovely dark and deep,and I have code to write before I sleep.

Login to post a reply

Server time is: 2024-04-20 02:52:55
Your offset time is: 2024-04-20 02:52:55