English Amiga Board

English Amiga Board (http://eab.abime.net/index.php)
-   Coders. AMOS (http://eab.abime.net/forumdisplay.php?f=119)
-   -   Double Dragon Amos file download link (http://eab.abime.net/showthread.php?t=88805)

Brick Nash 28 September 2017 15:55

Double Dragon Amos file download link
 
Ok folks, as promised here's the download file for Double Dragon Amos and all its banks. I was going to post it in the other thread but I figured only the coder types would be interested. I can delete and move to the other thread if it's more convenient.

Obviously you'll need to set the paths to the banks yourself in the code but it should work fine. If you want the enemy to follow you around just uncheck the WILLIAMSWALK procedure call.

I've found it works ok on these minimum settings:

A1200 Non expanded quickstart
68020 (Approx. A500/A1200 or Cycle Exact)
OCS
2MBChip.

It does run on the old A500 settings but it's just really slow. Might be faster when compiled mind you.

Anyway, enjoy trawling through my inefficient, messy and probably overly long code. Bear in mind it's still a work in progress and a lot of fat will probably get cut further down the line.

I'm going down to the pub because I've been spending too much time at the computer lately haha!

Thanks. Download link and a list of know bugs is below.

https://drive.google.com/uc?export=d...nhwb1Y4OE96UXc

KNOWN BUGS:

- Grab moves animation for enemy is glitchy sometimes
- Enemy disappears when hit sometimes
- Player can't walk off screen but he can jump off
- Player and enemy share a jump mechanism so if both are in the air both will fall at the same height and speed
- There are depth issues with the player and enemy. If the player's X (not Y) is greater than the enemy's then he will be on top of the enemy and vice versa.
- If the fire button is held down a move will just repeat instead of just firing once.
- If the flying kick right is activated by pushing right, up and fire, if fire is held and then left and up is pushed, the player will travel left but still be facing right and vice verse.
- Player can still walk in front of the healthbar icons.

Dan 28 September 2017 21:31

1 Attachment(s)
Its cool.

Iv got few hints:

Amos Pro is saving the sprite/icon/sample banks with the program.
But compiled program would cause a Guru Crash. (i guess because the length of the banks has to be even/ haven't checked their size)

I have added a simple On Break procedure, erasing all banks (after the sprites/sound icon banks are loaded):

Code:

on break proc br

Procedure Br
erase all
end
End Proc

So pressing ctrl c will erase them.

As you are loading them anyway, then they do not need to be saved with the source.

And for loading the banks, use relative paths.

e.g. If you want them to be organized in folders:

Code:

Load "images/Image bank new"
Load "icons/icons"
Load "snd/Sound effects"

anyway, attached is the compiled exe and a bootable adf, if someone would like to test it.

Amigajay 28 September 2017 22:00

I think u forgot to attach the files Dan!?

Dan 28 September 2017 22:02

Nope, iv just tested the bootable adf, and changed the source code to load the data first, and then the Picture.

edit:
But somehow, the loading text is still not being displayed ...
its ok now ...

So here it is ^^

Press esc to end the demo.

Brick Nash 28 September 2017 22:11

Oh cool. I just tried the adf on the A500 68000 OCS setting and it actually runs to a semi-playable level when compiled. Still a bit slow mind you, but I'm surprised at the speed, even with my hack job coding skills. This could be multi platform after all!

If anyone wants to know the controls for a quick reference it's:

Fire - Punch combo

Left or right and fire - Kick combo

If facing right then down/right and fire - Elbow to left (and vice versa)

Up/right and fire - Right flying kick (and vice versa + up and fire for up flying kicking in whatever direction the player is facing)

Down and fire - hurricane kick (currently inactive)

When grabbing an enemy by walking into them when they are in the bent over position after either two punches or one kick :

Fire - knee to face

If facing right, then left and fire - Shoulder throw (and vice versa)

Down and fire - elbow head smash

Amigajay 28 September 2017 22:15

Great job, cheers guys!
And Nash never mind your skills, at least you are trying to get something and that's cool with a lot of us, and your skills will only improve with time.

Brick Nash 28 September 2017 22:24

Quote:

Originally Posted by Amigajay (Post 1188338)
Great job, cheers guys!
And Nash never mind your skills, at least you are trying to get something and that's cool with a lot of us, and your skills will only improve with time.

Cheers dude. I'm actually super encouraged with the way it runs on the A500 settings. Maybe with a few tweaks it could run to a really playable level for all the Amiga platforms.

Dan 28 September 2017 22:32

It runs Great.

If you like to speed up things a bit, then there is a way, but do not ask me, i left amos before i could get into the advanced techniques.

There is a way,which is described in the amos pro examples, to manually update the bobs, but for that you need to draw them double times ...

And Amos is using automatic way of updating the screen, to reduce the flickering, but this is, as well slower as it could be.

Of course, as you are using EHB mode, lowering the colors to 32 would speed the things up a bit (a tiny bit) ...

The more colors are used on screen, the slower would it be, that's how it worked back then.

Anyway, great work.

Samurai_Crow 28 September 2017 22:34

AMAL scripting could help but it has glitches.

Sent from my Prism II using Tapatalk

Brick Nash 28 September 2017 22:37

Quote:

Originally Posted by Dan (Post 1188343)
It runs Great.

If you like to speed up things a bit, then there is a way, but do not ask me, i left amos before i could get into the advanced techniques.

There is a way,which is described in the amos pro examples, to manually update the bobs, but for that you need to draw them double times ...

Of course, as you are using EHB mode, lowering the colors to 32 would speed the things up a bit (a tiny bit) ...

The more colors are used on screen, the slower would it be, that's how it worked back then.

Anyway, great work.

Thank you!

I'm just using the bog standard Amos pro right now, but I heard the Powerbobs extension could speed things up a bit when it comes to drawing them on the screen. I'll need to check out the examples you mentioned too and see if I can maybe use that technique in conjunction with other things.

And thanks for compiling and converting to the adf. It's great to actually see how it runs properly! :)

Samurai_Crow 28 September 2017 23:09

PowerBobs will help on the '020+ only but what might help more is learning to do AMAL scripts. Once initialized, they run faster than compiled AmosPro mainline source text. The only thing is that every frame of animation they try to restart at the beginning of the script so you have to use a state variable to remember from one frame to the next what position you were in previously.

Brick Nash 28 September 2017 23:20

Quote:

Originally Posted by Samurai_Crow (Post 1188356)
PowerBobs will help on the '020+ only but what might help more is learning to do AMAL scripts. Once initialized, they run faster than compiled AmosPro mainline source text. The only thing is that every frame of animation they try to restart at the beginning of the script so you have to use a state variable to remember from one frame to the next what position you were in previously.


I never had much luck with AMAL. Because it ran independently of the main program it wouldn't (as far as I could tell) recognise code for X/Y movement in the main program. At least, that was back then when I was just starting out.

To be fair, I should really re-code all my animation parts with the built in things like AMAL as it would be faster, but I just had it in my head that I had to do it all myself with the basic code using timers. It's probably more flexible with AMAL in regard to holding on certain frames for a desired time for a more swish effect. Something which I didn't manage to do by myself, but I had planned for the game.


All times are GMT +2. The time now is 04:06.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2020, vBulletin Solutions Inc.

Page generated in 0.04260 seconds with 11 queries