Ultimate Double Dragon

Complete LOTDD - Now: Ultimate Double Dragon 3.0 (Final)

No permission to download
Project is completed.
Great job Mr.Q!!! can't wait to play the full version of one of my favorite Double Dragon games ever.
 
This looks just awesome!!! And what a cool trailer! Can't wait. Fantastic work there!

Hopefully this works on the latest PS3 build...
 
O Ilusionista you know, I'm having some video framedrops in the latest stages in my game, any ideas of what should I put in the updated.c for preventing that to happen? maybe 'cause i'm using some enemies with shadow trails script or something else? don't have too many ideas myself why that might be happening, but just as a reventive thing
 
Mr.Q! said:
O Ilusionista you know, I'm having some video framedrops in the latest stages in my game, any ideas of what should I put in the updated.c for preventing that to happen? maybe 'cause i'm using some enemies with shadow trails script or something else? don't have too many ideas myself why that might be happening, but just as a reventive thing

It can be a lot of things. Since I don't saw the stage or the codes, I can give you some ideas:
- large panels with water fx (I made a 5000px - or more, I can't remember - where had made a huge drop on the fps in android)

- Large usage of non-optimized scripts in constantly executed codes, like updated, ondaw or even script

I don't know which code you are using for that shadow trail, but there are different versions - one runs in ondrawscript and one runs at script (which is an updatescript).
If you use the second version (script) I strongly suggest you to move to ondrawscript, since script runs in every cycle and is way heavier.
 
O Ilusionista
He is using the "updatescript    data/scripts/traileru.c" in all levels.

Here is the traileru.c:
Code:
#include "data/scripts/trailer.h"

void main()
{
	int i, j, k;
	void spr;
	int facing, cd;
	float a, z, x;

	for(i=1; i<=trailermax; i++)
	{
		spr = getglobalvar("trailer"+i+".s");
		if(spr)
		{
			cd = getglobalvar("trailer"+i+".c");
			if(!cd) 
			{
				setglobalvar("trailer"+i+".c", NULL());
				setglobalvar("trailer"+i+".s", NULL());
				setglobalvar("trailer"+i+".x", NULL());
				setglobalvar("trailer"+i+".z", NULL());
				setglobalvar("trailer"+i+".a", NULL());
			}
			else
			{
				if(openborvariant("game_paused")==0)
				{
					setglobalvar("trailer"+i+".c", cd-1);
				}
				x = getglobalvar("trailer"+i+".x");
				z = getglobalvar("trailer"+i+".z");
				a = getglobalvar("trailer"+i+".a");
				facing = getglobalvar("trailer"+i+".f");

				setdrawmethod(NULL(), 1, 256, 256, facing, 0, 0, 6, 0);
				drawsprite(spr, x-openborvariant("xpos"), z-a-openborvariant("ypos"), z-i, 0);
				setdrawmethod(NULL(), 0, 256, 256, 0, 0, 0, 0, 0, 0);
			}
		}
	}
}

Here is the trailer.h:
Code:
int trailermax = 50; //total trailers the engine can handle
int trailerc = 5; // totally 5 trailer images for each character
int trailerd = 5; // delay to spawn next trailer, so trailer lasts for trailermax*trailerd
 
O Ilusionista said:
Oh that is the old code. Don't use this, at all.
Search for Malik shadow trail where. It uses ondrawscript, which is lighter.

Ah okay, we will check that. By the way, as he reported to me,(on PC) when loading the stages separately there is not a frame drop. But only when play the whole game from start to last stage, then on the very last stages the fps starts to going down. So i suspected that something eats memory from level to level while playing the whole game.
So now we have to find out if only this updatescript is responsible for this. (i hope so)
 
Probably there is something left on the memory, which is still consuming it.

Damon Caskey could confirm it, but since that shadow trail code runs on level update script (and the code load sprites and draw them) those sprites won't be unloaded from the memory when the enemies are.

Try to use some unload techniques, like " load *name* 3 " on the stages or, in newer builds, use the unload function Malik had added to it.

If you use a debug function to track how many entities are cached and loaded, maybe it will give you some help.
 
O Ilusionista oh I see, well time to change some stuff and do some testings, it's pain in the a$$ to find this stuff just so close to a release date but well better find things than finding after I guess.

I have this guy reporting me some bugs whenever I release a demo and he noticed about sth I haven't and it's about the score system, it goes like this:

-Continues and score won't restart unless you "end" the game or lose naturally.
-Sometimes the score stops adding points for some reason I can't figure out why...
-The score/continue carry over bug still persists. This isn't a big deal to me, I don't mind hitting two buttons to restart the game but its still a problem to those who aren't paying attention.
-Enemies that carry or pickup weapons don't collect score points on hit or knockdown


BTW Are you familiar the Raspberry pi3 latest version of Openbor? I think I have got the "latest" version but somehow I'm getting some errors while tryin my mod, well just about some type text entities not showing properly or the engine ignoring their setlayer value at all, because they are getting spawned behind the back panel. I have Retropie in my system and I've seen some peeps have compiled something the call the latyest version but I wonder if it's the real latest version of Openbor anyways.

Also Bloodbane you think this might be about the "no dying until a positive value knockdown hit makes people die" script ?

I've played this game enough to find the pattern. So here goes... If the PLAYER is knocked to the ground (or high in the air), before the enemy YOU just knocked away hits the ground, Instead of hitting the ground they will just appear in there standing animation frozen. Basically this would happen most often if Roper/Williams comes in with their jump kick behind you and hits you just as you finish off your enemy. Hope this helps.
 
Okay guys, this is one of the moments i really like the newer Engine! With the help of some new cool script commands i was able to replicate the Double Dragon enemy AI behavior. Here is how it works:

1. When there is only one enemy, then he is having aimove chase so he is following you normally.
2. When there are more than one enemies, if they have a certain z+ or z- distance while you are facing them, then they are try to approach you from back while holding a specific z+ or z- distance.
3. Once they are reaching you from back or you just turn your back on them, then they are all getting aimove chase again and they following you again normally.
4. Whenever there is again only one of the enemies left, then he turns again to aimove chase.

Here is an preview test:


Now i really really want to update my game also for the newer engine in order to be able to use it on it as well!!
 
O Ilusionista
Thank you man! Who ever added the changeentityproperties "destz" and "destx" to the engine, have saved the day here! Mix these with the aimove properties and some rage settings and you are getting this! And i'm not sure of how good job this video does to show it, but i does work very good and it is also solving some weird default ai behaviors on certain terrains  ;D
 
nsw25 said:
new engine ? so the update to engine is being released or you just got early access ? I would like early access also as I am getting people complaining about engine specific issues which is damaging the reputation of openbor and us all…  if these issues are fixed then I don't see reason to not release a update so we can all save face...

Oh no no, sorry it's just an misunderstanding. I did not got any early acces or something. I'm just talking about the current latest public Engine verion. I just calling it new because i'm actually using an older version on my DD game unlike Mr.Q on this one here.
Sorry for the confusion  ;D
 
I would like early access
Anyone can compile the code to get "early access". But if someone doesn't know how to compile it, the "early access" won't be useful at all.

if these issues are fixed then I don't see reason to not release a update so we can all save face...

This is not how things works, at all. You don't see to understand how it works - no offense.

And to keep complaining and blaming won't make any good. In fact, it will cause the opposite effect...
 
nsw25 said:
... engine specific issues which is damaging the reputation of openbor and us all…  if these issues are fixed then I don't see reason to not release a update so we can all save face...

Which specific issues? What is the damage it makes?
 
I think he means the controller issues. On THAT specific point, I agree with him - this can harm the engine reputation a bit for sure.
But people are doing the best they can - we are a small team.

My main issue is how he talks, always blamming someone or the engine. In the past, I thought it was my broken english. But even native english speakers agree with me. And this is annoying at max.

Anyway, let's not derail the topic

BTW Are you familiar the Raspberry pi3 latest version of Openbor? I think I have got the "latest" version but somehow I'm getting some errors while tryin my mod, well just about some type text entities not showing properly or the engine ignoring their setlayer value at all, because they are getting spawned behind the back panel. I have Retropie in my system and I've seen some peeps have compiled something the call the latyest version but I wonder if it's the real latest version of Openbor anyways.

While I have a Raspberry PI3 myself, I don't care too much for that version - and I can't explain why.
Also, that version is not official, so there is no way we can offer support for it here, sorry.
 
Back
Top Bottom