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
Dimis
7
Years of Service
User Offline
Joined: 12th Jun 2011
Location: Athens, Hellas
Posted: 14th Nov 2014 11:24 Edited at: 7th Mar 2018 21:33
Hi guys
it's been a long time since i posted an update on my project. although i feel that it is still early, i decided to share my latest work.

is this a new project?
Yes and no. It is the continuation of my original game, although since my last post in july 13, pretty much everything has changed, not just the title but the entire concept of the game.
During the development of my initial game, i always felt that i didn't have a specific concept, i just wanted to make something that is mine.
So for the last 2 years I was putting on paper a complete story and cast of characters, and lately i felt strong the urge of making this game happen, because i was stuck with the development of my initial game. Generally i wasn't satisfied enough with my work, so nothing was moving forward. Although i am keeping my earlier work (characters and animations) for future use.


so, What has changed?
Almost everything that involves artwork and animations. Everything is made from scratch. Also there are many gameplay changes, new sound effects, the game's engine has been updated, and i installed shaders. And now there is a complete story that i will unveil later. In a few words, my inspiration has come from ancient mythology, so i am using a mixture of my own fictional characters, along with less known ancient deities and demigods, who are combating in the "world bellow", more known as the realm of Hades, for the ultimate trophy, which is escape from the dead world, hence the name "Exodos" (exit).

So, having supernatural entities fighting each other, the gameplay will not show normal everyday martial arts action. All fighters possess superhuman strength, utilize energies,they can materialize weapons and projectiles, and they are able to rip from the background objects, such as boulders and pillars and throw them or use them as weapons.

More gameplay details to come, for now let me show you some screenshots and gameplay footage. Enjoy, i hope that you will like it!

new damage system. instead of blood, the wounds from weapons produce light.

latest gameplay video

Chris Tate
DBPro Master
10
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 14th Nov 2014 18:14
Welcome back; glad to see you continuing with this. I can see a vast improvement in the dynamics and special effects since the last showcase of the game's engine.

Looks like it is going to be an exciting year ahead in the WIP forums.

Ortu
DBPro Master
10
Years of Service
User Offline
Joined: 21st Nov 2007
Location: Austin, TX
Posted: 14th Nov 2014 19:37
Yay! Glad to see this still going strong and looking better than ever. It is a good re-focusing of the concept i think. Looking forward to more

Virtual Nomad
12
Years of Service
User Offline
Joined: 14th Dec 2005
Location: SF Bay Area, USA
Posted: 14th Nov 2014 21:29 Edited at: 14th Nov 2014 21:38
is the (dummy) deimos trying to light a cigar ~0:34 in the second vid?


probably not, but it reminded me of Sarge, and is appreciated


regardless, this project's return is most-welcome!

Attachments

Login to view attachments
Dimis
7
Years of Service
User Offline
Joined: 12th Jun 2011
Location: Athens, Hellas
Posted: 14th Nov 2014 22:53 Edited at: 7th Mar 2018 21:21
Chris Tate,Ortu,Virtual Nomad, thank you guys!
Yeah he does look like Sarge.Probably the military haircut and the colors i gave him. Deimos in mythology was associated with war (son of the god of war).
And actually it is a dagger stuck on his face. It is positioned randomly when it hits the correct limb. It does look like a cigar on that moment. Some other times.. it is a bulseye, lol.


About the controls and gameplay.
A "weapon attack" button has been added. There are again 2 punch and 2 kick buttons (fast and strong) a block button, and a throw button. The throw button can be use to grab and throw the opponent, or to lift and throw background objects (a new feature that i am working on).
There is an extra button that utilizes a special meter to enhance the strength of special attacks or to empower weapons.
All special attacks are activated as in most fighting games, with a combination of directional and attack buttons. They can be executed in 3 level. Level 1 will hit and stun or immobilize the opponent, level 2 will hit the opponent harder and will deliver more damage, and level 3 (uses a portion of the special meter) will create a powerful impact and deliver even more damage.
Although the game still focuses more on body strikes, the most powerful attacks are executed with weapons. Once the special meter is over 90% each character can execute his unique ultra weapon attack.
There are 3 meters now.

The big cyan bar represents a warriors health, or better the ability to instantly heal from damages. Once the meter is empty, instant healing is not possible so a warrior can die. Or maybe better, suffer a temporary death, since they are already in the dead world, so they can't really die, or whatever, lol.
The red one is the "special power" meter, and the green one is the "block" meter, representing the ability to block or evade incoming attacks. When it is empty, warriors can't block or evade for a few seconds. But i am thinking of removing that feature.
Another idea i had, was to replace the special power bars and attach the meters somehow on the fighters, like this for example.

Deimos arm-guards can indicate the level of his special power. But that kind of indicator only is not very clear, so i am keeping the bars too.

</div>
https://dl.dropboxusercontent.com/s/4l0szu93ehmovxc/SIG3.jpg?dl=0
Ortu
DBPro Master
10
Years of Service
User Offline
Joined: 21st Nov 2007
Location: Austin, TX
Posted: 15th Nov 2014 00:11
Yeah the arm guard alone is a bit too subtle. You could do a smaller bar floating in 3d near the character if you don't want it part of the flat HUD

Virtual Nomad
12
Years of Service
User Offline
Joined: 14th Dec 2005
Location: SF Bay Area, USA
Posted: 15th Nov 2014 09:45 Edited at: 15th Nov 2014 09:47
perhaps add another stage to the arm guard indicator to make it more apparent? ie:

Attachments

Login to view attachments
Dimis
7
Years of Service
User Offline
Joined: 12th Jun 2011
Location: Athens, Hellas
Posted: 15th Nov 2014 19:38
@Ortu
yes the way it is now, is too subtle. it is not clear enough.

@Virtual Nomad
this will be better,but i am not sure how to make the glow effect, i guess there has to be a shader to do the job. although i can use my particle system, which i want to update anyway, and make particles attach to objects. i want to add a glow effect on the weapons.

Dimis
7
Years of Service
User Offline
Joined: 12th Jun 2011
Location: Athens, Hellas
Posted: 17th Nov 2014 17:07
I wanted to share an update of another character model, Charon. I spent this weekend working on the texture for this one. I tried several things and ended up with this. The model is not complete, i will add more armor parts also possibly a hood and a cape. Although most of my characters will be based on mythological entities, i prefer to use a more sci-fi approach on their looks.

The base mesh for the body is from a Makehuman Model, which i modify to built all my characters. I don't feel confident enough to try and make something completely mine, but Makehuman models come with a free license and can be used even in commercial games, so i guess that i can use them without problems.



Now I am still thinking about the hood accessory. I will either make it a part of the model, by modifying the neck and the head, or make it a separate object that will conform to the model's animations. For the cape I will try to use cloth physics objects again.
But I will have to decide based on what is better concerning performance. Which brings up another subject, the graphics.
My game is not very friendly with older desktops and laptops, and surprisingly with some modern laptops too. So i have to decide what is best. Now i am using Ninja Mat's normal map shader, but only on the character models. I am keeping the background objects free of shaders, since it affects performance. Instead I am faking the normal mapping effect by overlying the normal map on the diffuse textures. Also I use fake hand made shadows, so basically the backgrounds use only 1 texture and, except of the foreground objects, every other object is not affected by light sources. This seems to boost performance a lot.
And I added an option to remove the normal map shader from the character models. Also there is the option to reduce frame rate to 30fps, instead of the normal 60fps. By using those 2 options, it is possible to play even on a laptop. But this will need further testings.

This is the current state of the graphics with normal mapping.


Simple light mode.


And Evolved's Advanced Lighting normal map shader.


Of course this is my favorite version but it is killing performance. This is because i am not using the version of the shader for bone models. The bone normal map shader has a limit to 50 bones and my models use over 55 bones. The fingers alone need 30 bones for a complete detailed animation. Also when I use the bone shader (I have to deactivate some bones to do that) the armor parts disappear, since they are not part of the main mesh and they are not affected by bones. The only way to use AL with my models is to make the hands work as separate objects with their own animations, and remove them from the models. I can have them attached on the models at run time, if I can conceal the joint part somehow. There is another reason that makes me think about that solution. The hands increase the number of the animation data significantly. If I remove them, I will reduce it to almost 50%, which is something to think about. I can have 20-30 separate hand animations only, I don't think that i will need more than that, and control their animation with code.
From the other hand, AL works well with the 30fps mode, but there is a big difference between 30fps and 60fps when we are talking about fighting games, but i am optimistic that i will find a solution and use AL in the end. If I fail, i will keep the shader i am using now.

Ortu
DBPro Master
10
Years of Service
User Offline
Joined: 21st Nov 2007
Location: Austin, TX
Posted: 17th Nov 2014 21:28
In the case of these two, you can conceal the joint under the wrist guards. Not every character will have one I guess, but you can move the split in objects up the arm to a shirt sleeve or shoulder guard as needed. Anything other than shirtless should have something you can conceal a seam with.

Dimis
7
Years of Service
User Offline
Joined: 12th Jun 2011
Location: Athens, Hellas
Posted: 19th Nov 2014 23:04
I still can't decide on that subject. But it is necessary to reduce overall animation data size, so i will eventually use separate animation for the hands. But not exactly for the entire hand, more likely for the palm and the fingers, or maybe just the fingers. The palm and the wrist will have to follow the rest of the animations. So i am thinking something like this.

Just remove the fingers from the main model and slightly reduce the size of the palm of the main model. Then glue the extra hand model on the palm. i don't know how bad it will look, it might even go unnoticed, but i will have to test and see. but this solution is going to complicate things, i would prefer to keep the entire model intact and find a way to increase the bone limit of the shader to 60.
But if i keep the shader that i am currently using, i still can do something about the animation size thing. I have total control over the animation data, while the game is running.
This is how my program works:
It loads all animations, as source animation data. When a models starts to play a new animation, what actually happens is that the data from the source animation are copied to an empty animation, so that i can change certain rotation limb angles, to achieve this:

What you can see here is the original animation (left one) playing in 3 different extra ways. The same palm strike can be executed with the left or with the right hand, facing left or right, without rotating the actual object. I have a function that changes and swaps certain limb angles, to do that. So i can mix animation data to make the fingers take different poses, to make fists, open palms, grips, inappropriate gestures, whatever is needed. For example during the idle animations the fingers can be relaxed, but when the fighters are holding a weapon, the fingers can form a loose fist, so that they can appear that they are actually holding the weapon.

I have spent some time recently, watching how professional fighting games work and i realized that some games are using code to control the fingers. For example in the older "Mortal Kombat VS DC" (yes there is such a game) during certain crouch or block animation, character's fingers sometimes appeared to be either extended or clenched, during the same animation, (probably due to a bug) as if they were animated separately.

Chris Tate
DBPro Master
10
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 20th Nov 2014 05:21
They made Mortal Kombat VS DC; now bring on Street Fighter vs Mortal Kombat baby!

Quote: "I have a function that changes and swaps certain limb angles, to do that. So i can mix animation data to make the fingers take different poses, to make fists, open palms, grips, inappropriate gestures, whatever is needed."


That sounds like a wonderful idea; it saves the labour of crafting duplicate animations either side.

It is really sutble but I notice that your characters look each correctly even when one is flat on the floor.

Is the AI system in planning? Have you got CPU processed battles working? I forget.

Dimis
7
Years of Service
User Offline
Joined: 12th Jun 2011
Location: Athens, Hellas
Posted: 20th Nov 2014 09:20
Quote: "They made Mortal Kombat VS DC; now bring on Street Fighter vs Mortal Kombat baby!"

People expect that crossover for at least 20 years. I guess, when that happens a few people only will actually care, and i will be an old man.

Quote: "It is really sutble but I notice that your characters look each correctly even when one is flat on the floor."

Yes the up-down look, works (the X rotation of the head is accurate), there are some miscalculations when the fighters move around the 3d space (y rotation is not very accurate) but again that is not very important since i am thinking of keeping the old 2.5 view, so the fighters will not move around in 3d space. To be honest it is easier to program the entire game like that, and there are generally less problems, no background objects fading is needed (background objects were always between the camera and the players, blocking the view, so i had to do distance checks and ghost the objects that caused problems). Also it seems that the 2.5d view, that reminds the old 2d games is more favored from the majority of players.
Quote: "Is the AI system in planning? Have you got CPU processed battles working? I forget."

Yes there is, there was in earlier versions too, it works but it will need serious updates some time, but it is possible to have even AI vs AI matches.

Chris Tate
DBPro Master
10
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 23rd Nov 2014 20:06
Quote: " having supernatural entities fighting each other, the gameplay will not show normal everyday martial arts action. All fighters possess superhuman strength, utilize energies,they can materialize weapons and projectiles, and they are able to rip from the background objects, such as boulders and pillars and throw them or use them as weapons"


This will be interesting; it sets the game well apart from most in the genre. The visual effects will get really interesting when the characters take objects from the background and use them in combat; it will also be interesting to see how that plays.

Dimis
7
Years of Service
User Offline
Joined: 12th Jun 2011
Location: Athens, Hellas
Posted: 26th Nov 2014 13:34
Quote: "This will be interesting; it sets the game well apart from most in the genre. The visual effects will get really interesting when the characters take objects from the background and use them in combat; it will also be interesting to see how that plays.
"

I have more ideas like that, for example maybe fighters can kick huge torches and set the opponent on fire, or use some kind of liquid fire from the background, or even knock down small walls or part of the ceiling to cover the opponent in debris. To make the broken parts of the background i will need a new particle system of course.
Next week i will start working on the usable background objects. To make things more simple I thought of having 5-10 usable objects only (the same objects will be used in all backgrounds), with multiple limbs. each limb can vary from pillars, to statues, boulders, trees, whatever is needed for each background. Actually 2 limbs will be needed for each case, 1 limb will show the object intact the 2nd will be the same object broken. Fighters will have the option to either strike or throw that object on the opponent, but in each case the object will break and bounce away from the foreground.

Some progress update. I have been working on new animations for Charon, and i made a mockup of a new background. Fighters will fight on a ship that moves infinitely in a river. The ship will be supposedly moving forward. I am working on the loop that will make the ship appear as travelling, although actually the background will be moving. The background objects will have to fade somehow ahead in the horizon, i will have to use fog, or maybe some kind of vortex or something like that.

I will avoid the light from the back of the characters, it looks strange.

As for the character Charon, i gave him a scythe as a weapon also he can materialize projectiles, teleport, among other special abilities.

As for his look, I want to complete it with more armor parts for the arms and maybe a cape. The problem is that the cape needs to be animated so, i will have to make an animated cape or use cloth physics. The problem with clothes is that they don't follow exactly the position of animated bone characters, they are always 1 frame behind. And they are flat, a cape needs to have a curve. Maybe I can do something more creative, by manipulating the mesh of the cape somehow, i have some ideas to combine cloth physics and mesh manipulation.


Ortu
DBPro Master
10
Years of Service
User Offline
Joined: 21st Nov 2007
Location: Austin, TX
Posted: 26th Nov 2014 16:33
The visual effects are looking great man, really like that background.

For the cape, cloth physics are always tempting, it's hard to beat them IF you can get them to behave properly. Can't be to springy, clipping issues with the character, environment, and itself, getting the weight and 'feel' of the material right, its no easy task.

I'll be adding capes and cloaks and the like in Sulium as well, and my current plan is to go with bone animations matched to and modified from the characters skeleton. I'll be interested to see how you approach this.

Chris Tate
DBPro Master
10
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 26th Nov 2014 19:28
Quote: "I will avoid the light from the back of the characters, it looks strange."


I thought that was intentional; perhaps because something is back there with glowing eyes getting ready to eat the loser.

Seriously though, everything can tell a story.

Dimis
7
Years of Service
User Offline
Joined: 12th Jun 2011
Location: Athens, Hellas
Posted: 27th Nov 2014 11:22
Ortu
Bone animation is the safest approach, no clipping issues, generally no problems but the cape will not move independently or use any type of physics. I have an idea that i want to try. It should work but of it is in the expense of processing power, i will use bone animation too.

Chris Tate
I like how the lighting looks now, but the bright background against the darker characters makes a type of contrast that is tiring my eyes, after playing for a while.
And there is a story for that background, taken from an actual myth, the story of Charon and his boat, Charon was a deity who transported the souls of the dead, with his boat, to the underworld. Of course i am having a different approach on the story and the character, and instead of a boat i am making a bigger ship.
The foreground looks more like a balcony now but, it is actually a part of that ship. I will model the rest of the ship later. I don't know if there is a point to model the entire ship since it will not be visible from every angle.

I am testing how the vortex in the background will look like. I managed to animate it as i wanted, but it reminds me now the old "Portal" backgrounds from the mortal kombat games. Maybe i should avoid that similarity.

i will post new updates this weekend.

Chris Tate
DBPro Master
10
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 27th Nov 2014 11:37
Yeah very true, there is no point modelling geometry only for it to be hidden.

What does the green and red value bars represent?

Dimis
7
Years of Service
User Offline
Joined: 12th Jun 2011
Location: Athens, Hellas
Posted: 27th Nov 2014 11:56
The red is the "super" meter. It is charging slowly with every attack and it can be used to enhance special attacks, or activate combo breakers, it is reduced by 30% every time that it is used. When it is more that 90% full it can activate the powerful weapon ultra attack (adding the word ultra, makes it sound really special right?). Both fighters are "wearing" a super meter too. Deimos has the super indicators on his armguards, and Charon has 2 lights over his chest armor piece. Those indicators fade relatively to the super's level.
The green is the defense bar. It is reduced with every defensive move and recharges slowly over time. when it is empty the player can't block attacks for a while.

wattywatts
9
Years of Service
User Offline
Joined: 25th May 2009
Location: Michigan
Posted: 27th Nov 2014 19:31
I've been looking at your screens trying to tell why they look off to me. I think if you added bloom it would look a whole lot more modern graphically. I mean, it looks good anyway though.
Hasn't anyone released a physics system that adds that fabled make cloth from object functionality dark physics was supposed to have? Then you could model your cloak or whatever and turn physics on, it would retain it's shape and not look keyframed.
Either way, I like it so far.
Dimis
7
Years of Service
User Offline
Joined: 12th Jun 2011
Location: Athens, Hellas
Posted: 28th Nov 2014 10:08
wattywatts
Yes, the visuals will need some extra work, some things remind me of playstation 2 graphics right now, also the backgrounds don't blend so well with the fighters, maybe a bloom shader will update the graphics, but i will see what i can do later.
I hope that there is a cloth physics pluggin to do the job right, but i looked for something like that about a year ago, but no luck.

An update on the ship background. The infinite loop works also the ship apparently moves up and down to simulate the motion of a real boat in the water, (although it is not the ship but the backgrounds that actually moves up-down), but it is not a very smooth motion, because i am using code, not animation. it will need adjustments.
And the background objects fade in suddenly, from the horizon, another thing i should fix.



Chris Tate
DBPro Master
10
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 28th Nov 2014 10:53
It looks brilliant; and can only get better.

Dimis
7
Years of Service
User Offline
Joined: 12th Jun 2011
Location: Athens, Hellas
Posted: 28th Nov 2014 11:21
Thank you Chris!

Now i have a small problem. I am using 2 large ghosted objects, to make a kind of vapor tunnel that starts far in the horizon and reaches all the way to the boat, and to make the objects fade when they are far in the horizon. I just tested on an older pc and the frame rate drops, when the camera zooms out and shows a large portion of the background. Maybe using fog for the fading will be faster? And I am thinking of having an option available to hide all transparent objects, if they produce problems on older computers or laptops.
Fog is a hardware effect, right? So i should be testing if it is available on every machine, or is it supposed to work always? I don't know that.

Chris Tate
DBPro Master
10
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 28th Nov 2014 12:18 Edited at: 28th Nov 2014 12:21
Interesting, it does not look like it should slow down. The fog command is quite old school and should work on all Direct 9 compatible hardware. Your guess is as good as mine because id do not use Fog or Ghost object anymore, I use shader programs, where fog is a matter of changing a bunch of pixel colours in the distance.

Print some statistics on the screen so you can perform an analysis of the performance on the different machines



If the on screen polygon count is considerably high when the bottleneck occurs, then you can be sure that too much geometry is being rendered. If there are lots of objects in the scene, consider consolidating them into limbs which are more efficient than objects.

Another thing is to use a performance timer to check how long it is taking for your code to animate the objects. You have other options for animating the boat if such code is consuming all of the CPU's resources.

Dimis
7
Years of Service
User Offline
Joined: 12th Jun 2011
Location: Athens, Hellas
Posted: 28th Nov 2014 12:58
I just realized why this is happening, i think. There is less geometry in this background compared to the first one, so that can't be the problem, or the ghosted objects, i am using ghosted objects for the clouds in the first background also, no slowdowns there. But I am using 2 large objects to make the infinite loop, and i have set the camera range 3 times further, for this background only. I will have to reduce the range and make the objects vanish closer to the camera somehow. I will try the fog effect, it is a pretty simple solution.

Dimis
7
Years of Service
User Offline
Joined: 12th Jun 2011
Location: Athens, Hellas
Posted: 4th Dec 2014 14:45
The slow down on the boat stage is fixed, i just reduced the camera range to the earlier range. Again it was only a problem produced on an older, test desktop pc, but it was bothering me.

I didn't have enough time to work with my idea about using cloth physics to animate the cape. But i started to experiment with vertex positions and cloths, my idea is complicated I will know if it works soon. For now i have attached a cape to the character Charon but it is does not use animation or any physics yet, so his back side looks strange now. But i think that he needs the cape to complete his appearance.
Animating a character takes longer now, since i am adding more detail in every animation. But most of Charon's attacks are completed.

I will probably have something more to show this weekend.



Chris Tate
DBPro Master
10
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 4th Dec 2014 16:12
The capes help glorify the characters quite nicely; it will be interesting to see how the capes will look when complete the animation algorithm.

It seems quite complicated to use hard code to animate cloth; but sure sounds like fun.

Ortu
DBPro Master
10
Years of Service
User Offline
Joined: 21st Nov 2007
Location: Austin, TX
Posted: 4th Dec 2014 16:47
You might have a look at the old soul hunter wip by zzz he used vertex manipulation to animate a long cloth hat in DBC without bones.

Dimis
7
Years of Service
User Offline
Joined: 12th Jun 2011
Location: Athens, Hellas
Posted: 4th Dec 2014 18:24
Thanks Ortu, i am looking for something like that. I took a quick look in the wip, but i only found a post saying that zzz used memory blocks, but it is a 47 pages wip, maybe there is more info somewhere there.
I have been thinking of possible solutions without using bones, just by manipulate vertex. It is not very easy to code something that will simulate clothes. One idea that i have, (to avoid the extra coding) is to use a cape and also a cloth attached to the character model. The cloth should be invisible somehow, but it will need to update it's physics. I could unlock the vertex data from the cape and reposition certain vertices in the same position of specific cloth points. If this works the cape will copy the motion of the cloth while the cloth will be invisible. (i hope i am making sense, lol, trying to explain some things in english sometimes is hard for me). Anyway we will see if it works soon.

@Chris Tate: A cape is an important accessory for certain characters, really. Imagine Batman or Magneto without a cape. They would look like second class characters.

Ortu
DBPro Master
10
Years of Service
User Offline
Joined: 21st Nov 2007
Location: Austin, TX
Posted: 4th Dec 2014 18:37
Batman without a cape = a bat without wings = a rat = Ratman

Dimis
7
Years of Service
User Offline
Joined: 12th Jun 2011
Location: Athens, Hellas
Posted: 4th Dec 2014 18:48
Quote: "Batman without a cape = a bat without wings = a rat = Ratman"

lol, truth

Chris Tate
DBPro Master
10
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 4th Dec 2014 19:49
If my life depended it on it right now I would have slapped together the effect using the cloth commands or Dark Physics or Dynamix using invisible rigid bodies attached to limbs prventing the cloth from being clipped by the character's body. You can even tie the edge of the cloth to additional hidden objects for controlling the cloth. Why would that not work well?

Dimis
7
Years of Service
User Offline
Joined: 12th Jun 2011
Location: Athens, Hellas
Posted: 4th Dec 2014 22:46
Quote: "Why would that not work well?"

I have tried before, but with the built in cloth physics system.
This was the result. When attaching a cloth to a bone animated model, no matter when i update physics (before or after the sync) the cloth is always in the earlier position of the character. This is very noticeable when a characters moves a large distance at once, like in this pic, the left fighter who is lifted in mid air from the uppercut, has a cloth attached to his belt. But you can see that the cloth is visually lower. I have not tried any other pluggins, maybe they work better, but i am not sure.


Chris Tate
DBPro Master
10
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 4th Dec 2014 23:10 Edited at: 4th Dec 2014 23:13
Interesting...

So the only way for your old system to work is to set the animation one frame ahead, update the physics, advance back to the current frame, and then update the screen. Have you tried something like that? Or most typically that would not help if the physis updater ignores the object's next animation frame.

You would have had to attach the cloth to objects instead of bones if the frame skipping solution could not work; and move the objects around manually, recording their local transforms into some vector based array; but that is down to personality, some people would rather hard code such effects things.

The beauty of using a physics system is that the other character could grab the cape, wind force can blow the cape; and it can even be torn to pieces. Perhaps cape grabbing would not look very cool.

I am not sure how PhysX cloth will differ from the regular cloth physics system; but it should be worth a shot one day; unless the hard coded method is more comfortable for you.

Dimis
7
Years of Service
User Offline
Joined: 12th Jun 2011
Location: Athens, Hellas
Posted: 4th Dec 2014 23:23
I have tried many solutions, such as trying to update animations as you suggested, or using dummy cameras, they only created slowdowns or messed up animation timing.
This is the strangest thing. Using the glue object command, objects are attached perfectly to limbs of bone animated models. But if you try to position an object in 3d space using something like
position object object1 , limb position x(object2,limb) , limb position y(object2,limb) , limb position z(object2,limb) , if the object2 uses bones of course, you will notice that object1 is positioned in the earlier position of that limb in 3d space. That happens even if object2 is an object glued to a limb of a bone model.
Glue object does not work with cloths unfortunately.

Ortu
DBPro Master
10
Years of Service
User Offline
Joined: 21st Nov 2007
Location: Austin, TX
Posted: 5th Dec 2014 00:28
Gm not sure how you handle update timing and sequence, but i had a similar issue with attached objects being a frame behind. It turned out that while I thought it was doing:

Update base object location, rotation
Update base object frame
Update attached object location, rotation to match base object
Update attached object frame to match base object

It was actually doing

Update base location rotation
Update attached location rotation to match base
Update attached frame to match base
Update base frame

So the attached object would be updated to match the previous data for the base objects frame.

Chris Tate
DBPro Master
10
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 5th Dec 2014 02:12
Have you got a test program of the problem? Might be worth us all playing around with it to see what we can come up with. Not to worry if it is a bit much to give out.

Dimis
7
Years of Service
User Offline
Joined: 12th Jun 2011
Location: Athens, Hellas
Posted: 5th Dec 2014 14:20
Quote: "Have you got a test program of the problem?"

@Chris Tate
No i don't. And that screenshot was from my earlier work. I was experimenting with cloths more than a year ago. I had removed the code back then from my program, and now i will have to write it again, lol.

@ Ortu
I am sure that this is a problem that has to do with animation updates. At that time there was a thread concerning inaccuracy between visual updates and limb positions. someone posted a possible solution, using a dummy camera, but i couldn't make it work without killing the fps.
Think about this:
I load my character
make o box object
make a cloth object
fix the cloth's top points to the box. (fixing the points of a cloth to an object works like the glue object command)
glue the box to the character model
Now when i move or rotate the model with code, just change position and rotation, without animation, the character is dragging the cloth perfectly. The only visual problem of course is the clipping.
When i start to move the object with animation, the problem occurs. The cloth is always 1 frame behind. No matter when i update physics.

Dimis
7
Years of Service
User Offline
Joined: 12th Jun 2011
Location: Athens, Hellas
Posted: 7th Dec 2014 11:37
Some positive results finally. Not quite there yet, but i made the cape use physics. It will take many adjustments but it looks quite possible to animate it more naturally now.



The cape is a limb attached to the character's model. I use vertexdata to animate it. I thought of 2 possible ways to animate it.

First way would be to write custom physics code, but i would only do that as a last solution, although it would be more efficient.
The second way, the one that i am using, is to attach a cloth on the character, hide it, use the get vertexdata commands to extract point positions of the cloth, and then reposition the points of the cape where the cloth's points are. The cape and the cloth have the same number of points so this was possible.

Why not use the cloth directly?
It is possible to attach a cloth on an animated model. The problem, as i said before, is that the cloth is always 1 frame behind.This happens because during the main loop:

- object positions are readjusted
- animations are updated
- cloth positions and physics are updated (always last, before the sync)
- sync (sync will update all limb positions and rotations that are affected by animation and then draw them on screen)

So limb positions will change again after cloth physics update.

I could be wrong, but no matter what, the animated character will always be a frame ahead, probably because this is how dbpro works. If there was a way to:

- adjust object positions
- update animations
- force to update all limb positions and rotations that are affected by animation
- updated cloth positions and physics
- sync (only draw)
then this wouldn't be a problem.

Chris Tate
DBPro Master
10
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 7th Dec 2014 17:04 Edited at: 7th Dec 2014 17:06
Looks like a good improvement; are you using the DK vertex commands (from Dmitry's plugin) or the native vertex commands?

Dimis
7
Years of Service
User Offline
Joined: 12th Jun 2011
Location: Athens, Hellas
Posted: 7th Dec 2014 17:49
Yes, it looks better but it will need more work to achieve a decent result. It is complicated trying to locate the correct limb points positions. When the character is showing his back side to the camera, the result is almost correct. When he shows his front side the cloth appears screwed up. There are some errors in my code.
I use the native vertex commands.

Dimis
7
Years of Service
User Offline
Joined: 12th Jun 2011
Location: Athens, Hellas
Posted: 17th Dec 2014 16:44
This is my first attempt of installing usable background objects to the game's engine. I started working with the easiest case, the relatively smallest objects that fighters will grab and throw instantly. Next i will work with larger objects that fighters will be able to hold and swing around to strike the opponent multiple times. This is going to be a bit harder since i will have to glue the objects to the hands of fighters. also i made more adjustments to the cape's animation system. It is not perfect but it works although the result is not as natural as i want, but i will leave it as it is for now, i am more interested in spending the next days working with 2 more fighters, a dark deity and a female warrior, related to the legendary beast Medusa, probably i will give her the ability to temporarily petrify the opponent for a free hit, something like SubZero's freezing ability in Mortal Kombat.



Now as wattywatts suggested, i installed a bloom shader. I like the result it fit's the mood of the game and the backgrounds nicely, now i will have to adjust the lighting again and tone down some light effects that i am using because they look too bright.







Again i had to deal with some new problems, lol. Using the screen shader effect, something was making the entire screen to go black, showing nothing but sprites. I spent some time trying to figure out why, but eventually i replaced all of the game's sprites with 3d plain objects. I have been thinking of doing that anyway, so there was no problem with that. The downside is that the shader affects all objects now, health bars, fighter's names etc. But i don't really mind about that.

I think that rendering sprites is not such a heavy duty for the processor, but i removed all sprites, so maybe, this will balance a little bit the cost of the extra processing power that the bloom shader uses. Speaking of that, generally no matter what i have added so far, the game runs perfectly on my pc and generally it runs well on most modern day pc systems, with the exception of laptops. I need to optimize some things to improve performance on laptops and older computers. I added the option for the player to disable the bloom shader, if it affects performance, but there is no way to remove the effects while the game is running, the player will have to restart the game, i wish there was a more decent way to do that.

Chris Tate
DBPro Master
10
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 17th Dec 2014 17:47 Edited at: 17th Dec 2014 17:50
Great stuff! That background in the level reminds me of a recent film.

The sprites should not have gone black just because you used a screen shader. The type of bloom shader you used must have altered the sprite images, or the sprites were drawn on the wrong render target; but at least a reasonable solution was found.

The cape looks spot on so far; and the usuable object idea sounds interesting.

It would be nice if you had a performance monitoring system so that it tells you what it is that is slowing the game down on the laptops.

Dimis
7
Years of Service
User Offline
Joined: 12th Jun 2011
Location: Athens, Hellas
Posted: 17th Dec 2014 20:55
which film? speaking of films there is a movie with the same name out now, i didn't realize that i gave the game a biblical name, lol. but the latest background is inspired by sci-fi movies, and it is the first that captures the feeling that i want to give now.
It wasn't the sprites, but the screen that was going black. I guess i was doing something wrong. i am setting the effect to the screen, setting the camera to an image, and i am using that image to texture the screen, like in the help files. when i hide all of the sprites, the screen is back to normal, once i show them the screen goes black again. But it is not important now, because the sprites are gone, also the result is better, i still use the same images but they look smoother now without any pixelation since they have become textures.

Chris Tate
DBPro Master
10
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 18th Dec 2014 11:31 Edited at: 18th Dec 2014 11:37
There is a scene in Interstellar which uses similar effects you have used; I say now more so as to not give away the plot.

The film Exodus is based on the bible character Moses and ancient egypt, but this Exodus is spelled with a 'u' instead of 'o', and is a bible book name.

Questions; do you load ALL of your textures with setting zero (for texture with mipmaps), or one (for high quality)?

Because much of your scene content is always close to the camera, it may be worth providing a video option for high quality mode; loading the floor and nearby textures with image mode one will make them look more sharp, as they are in the actual image files.

Using the Anisotropy plugin will also improve the quality of your mip map filtering. Crutial if you are introducing screen effects which can sometimes blur the scene. With the plugin you can set how blurry or sharp the distant materials are, since it is desirable for some textures to be out of focus.

Not that your textures look bad
, its the filtering which seems to look bad.

You should add more content to your IndieDB page, you can get a lot of early exposure there; there are not many games like this on the database. It feels awkward revealing unfinished content, but never too soon to attract more potential players.

Ortu
DBPro Master
10
Years of Service
User Offline
Joined: 21st Nov 2007
Location: Austin, TX
Posted: 18th Dec 2014 20:27
Agree with Chris, it's never too early to start building a following, and you are well past the point where there is enough to show to spark people's interest.

Dimis
7
Years of Service
User Offline
Joined: 12th Jun 2011
Location: Athens, Hellas
Posted: 19th Dec 2014 16:59 Edited at: 19th Dec 2014 17:04
I was about to name the game "Exodus" but i found some game titles already using that name so i chose to use the greek pronunciation "Exodos". But it is the same word.

Good point about the textures. I pay attention in other aspects of the game and i am neglecting that. I tried changing the object filtering from the default setting to 2. This is the result. Here are two images to compare the filtering. I didn't use the anisotropic pluggin, but if it is going to improve quality more, then i will.

earlier


new


the change is more obvious on the floor, but from another angle. i will post more screenshots later.


And yes guys i should start doing something to promote the game. I was thinking about the indiedb page, but i wanted to complete 1-2 more fighters, at least 1 female fighter.

Chris Tate
DBPro Master
10
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 6th Jan 2015 17:46 Edited at: 6th Jan 2015 17:49
Ever thought about signing up to work for team Tekken; the seventh edition of the game does not look very promising; with all that money they have at their disposal, for instance the character's animation does not look right; their limbs bend like rubber instead of looking natural; and they are appear to be using some default phong shader which makes the characters look like action figures.

Street Fighter 4 looks way better , is 6 years older and has a strong professional e-Sports community, really superb tournament footage and Street Fighter 5 is coming; capcom's game has come back in a big way and team tekken should learn from it.

Any, I think they both has better watch out for Exodus

Dimis
7
Years of Service
User Offline
Joined: 12th Jun 2011
Location: Athens, Hellas
Posted: 6th Jan 2015 19:54
Quote: "Ever thought about signing up to work for team Tekken"

What do you mean?

Generally I am impressed with modern day technology, hardware and effects, but i am not very impressed with the way that modern fighters like tekken 7 or mortal kombat X, make use of that technology. No matter how many effects, high res textures, etc, are thrown in those games, still nothing looks quite natural. Lack of experienced designers? I think that most big companies will rely more on the powerful hardware that they will work with, thinking that high res and super polished graphics are enough for a good game, rather than using experienced and talented personnel that will put that hardware in better use.
I have Tekken 6 for my xbox360 but the truth is that i don't really like it. I still think that Tekken 5 for PS2 was way better from many aspects, no matter the lower level of graphics.
Generally there is a lot of negative criticism for both MK X and tekken 7, mostly concerning new character entries.

About the game's progress, i have a new character almost ready and i am working on another female character. I am having problems with her anatomy, trying to use the same skeleton with the male characters. Her body looks a bit manly now, i will have to modify the bone proportions a lot. Actually in the relaxed pose, she looks ok, but during animation she has some ugly bends and her proportions look weird. I will prepare some screenshots to post.

Login to post a reply

Server time is: 2018-10-15 21:56:59
Your offset time is: 2018-10-15 21:56:59