25 November 2021, 19:18 | #181 | |
Registered User
Join Date: Mar 2012
Location: UK
Posts: 1,893
|
Quote:
If only... |
|
25 November 2021, 21:08 | #182 |
This cat is no more
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,161
|
Not to mention killer development tools.
|
25 November 2021, 22:32 | #183 |
Registered User
Join Date: Sep 2019
Location: Italy
Age: 50
Posts: 292
|
SQUEEZING THE MUSIC INTO MEMORY
Mark Day - 25 November 2021 In a previous post I mentioned my original 65kb mods would be too big to load into memory and this is still very much the case - I have budgeted about 12kb maximum for music. So this had led me to explore different options - first using very low memory chip instrumentation - which as previously stated would give it a different feel - but would also require a major rewrite to adapt the tracks to those sounds. So instead I tried working with the current instruments to see if I could reduce their size without losing the feel. This is what I came up with: https://t.co/iRDceO8PQe?amp=1 I worked out I can do all the original instruments for about 7kb (down from 53kb) by using a combination of upsampling and loops combined with tracker hex fades. Each protracker pattern takes up about 1kb so I have also reduced these to 5kb (down from 12kb). I have also explored a no percussion version which works just as well in game and saves another 4-5kb, so I could end up doing it this way. How I load / unload tracks will also need looking at but it’s encouraging to know we can achieve very close to the original sound for much less memory! http://www.electriccafe.xyz/double-d...ic-into-memory http://www.electriccafe.xyz/ |
25 November 2021, 22:33 | #184 |
Registered User
Join Date: Mar 2012
Location: UK
Posts: 1,893
|
|
27 November 2021, 21:03 | #185 |
Registered User
Join Date: Sep 2019
Location: Italy
Age: 50
Posts: 292
|
SPEED TESTS
Mark Day - 27 November 2021 I’ve been testing adding the barrel to the scene and it has revealed something I suspected - the more actors on screen (despite their image size) the slower the game will run. I thought the game was running a bit quicker before I started to paste the legs onto the body, but couldn’t be completely sure as I had also added alot of code. But it is quite obvious, that once the barrel is added that it is like adding another enemy to the scene, the player alone becomes 3 actors. See how the game really slows down as more and more actors are on screen at once: [ Show youtube player ] So put simply, the game will run quicker if the legs are not seperate actors, as having 1 player and 2 enemies means 6 actors. When I did speed tests at the start I could do 4 - 5 enemies without any visible slowdown, so I will explore going back to using the full walking frames. Weapons will still use the parent lock movement system that Earok implemented. http://www.electriccafe.xyz/double-d...27/speed-tests http://www.electriccafe.xyz/ |
28 November 2021, 16:18 | #186 | |
Registered User
Join Date: Aug 2018
Location: Untergrund/Germany
Posts: 408
|
Quote:
Sounds quite good for just 7kb samples! I like the short bass sample. |
|
01 December 2021, 12:37 | #187 |
Registered User
Join Date: Sep 2019
Location: Italy
Age: 50
Posts: 292
|
MEMORY CALCULATIONS AND PLANNING
Mark Day - 1 December 2021 In my quest to squeeze as much of the arcade Double Dragon into the Amiga 500 + 512kb slow ram, I am now carefully planning how much memory each little bit is taking up. To reiterate we have 512kb of chipram to load everythng we need at any one time (Slow ram is only useful for swapping things in and out without having to do any disk loading). So here is some info I have gathered along with help from Earok and EAB members: Overheads Kickstart 1.3 takes up 40kb The Display (5 bitplanes x2 buffers) = 115,200kb So before we even start to load any graphics that is 145,200kb of our 512kb chip ram used up. I have also worked out the following from looking at the buld.log output from Scorpion and then adding a new tile and a new frame: 1 x 16x16 pixel tile is 160 bytes 1 x frame of animation for Player or enemy avg is 2.48kb Bolo’s frames approx 3kb as he is bigger Also 1 frame of Bolo punching is approx 4kb as it is wider 1 x 16x256 pixel panel image is 8kb So we can start to plan how we use up the memory and also prioritise the things that are most important. For example I now know that the cat on the bin took up nearly 1kb as it was 6 tiles big. But let’s add up what I currently have: Kickstart = 40kb Display = 115.2kb Map tiles x297 = 47kb Top and bottom panels = 16kb Billy frames x25 approx = 62kb Roper frames x13 approx = 32kb Bolo frames x13 approx = 41kb Music 12kb Sfx 30kb In addition the following is loaded into slow ram: Code 8kb Metadata 40kb So the current total being loaded into chip ram is 395kb, which you would think leaves enough room for at least another enemy? Not so.. Something I was not considering was that all the animation frames get X flipped and those versions are saved into chip ram separately! In fact Billy’s frames total 104kb, Roper 64kb and Bolo 82kb. This explains why I’m running out of memory. The actual total I am unsuccessfully loading in is 530kb - so we will need to do some more thinking about how we display the player and enemies without affecting performace and reducing the memory. http://www.electriccafe.xyz/double-d...s-and-planning Last edited by skyzoo73; 01 December 2021 at 12:46. |
01 December 2021, 12:40 | #188 |
Registered User
Join Date: Sep 2019
Location: Italy
Age: 50
Posts: 292
|
ENEMY AI IN SCORPION ENGINE PART 2
Mark Day - 1 December 2021 In this iteration of the AI I have improved the enemies ability to approach and also change sides correctly. In this video you will see the enemy now tries to position themselves correctly on the Y axis as a priority, if they are too close on the X but too far away on the Y then they make diagonal movements around the player before trying to position themselves for an attack. [ Show youtube player ] Apart from a slight animation bug when moving diagonally this looks really nice and almost completes this part of the AI which I call the “Engage” state. The last thing to do for this state would be to ensure they consider if an enemy is already attacking from one side, so they would choose the other. In addition to this “Engage” state, next we will compliment it with a “Patrol” state. In the “Patrol” state the enemy will be coded to keep a distance and make less movements, possibly changing sides. It’s likely this “Patrol” state will only be used if 2 enemies are already engaged with a player. We can track this by giving the Player “slots”, if front and back slots are filled then the enemy can remain in “Patrol”, if a slot becomes free then they will switch to “Engage”. |
01 December 2021, 23:43 | #189 |
Registered User
Join Date: Jun 2020
Location: Leeds, UK
Posts: 770
|
Wow that’s looking and sounding great! Enemy AI breaks my brain so it’s interesting to see how people approach it, too!
|
02 December 2021, 01:25 | #190 |
Registered User
Join Date: Sep 2019
Location: Italy
Age: 50
Posts: 292
|
Recreating the arcade-like AI I think is the most complicated part, and the most important for a port faithful to the original. The music is temporary, it will be replaced later.
|
02 December 2021, 06:04 | #191 |
Registered User
Join Date: Dec 2013
Location: Auckland
Posts: 3,539
|
I was talking about this with ElectricCafe earlier, I believe that the blitter can't flip a bob on the X axis, hence that X flipped copies of all bobs do need to be stored in memory (hence why you can't jump over enemies in Rise of the Robots) but I'd love to be proven wrong if there is actually a trick for it.
|
02 December 2021, 10:05 | #192 | |
Registered User
Join Date: Jul 2015
Location: The Netherlands
Posts: 3,408
|
Quote:
*) i.e. not simply having pre-flipped version of everything stored |
|
02 December 2021, 22:53 | #193 |
Zone Friend
Join Date: Mar 2004
Location: Middle Earth
Age: 40
Posts: 2,127
|
wow, it looks so beautiful can't wait to see that on the A500
|
03 December 2021, 15:13 | #194 |
Registered User
Join Date: Sep 2019
Location: Italy
Age: 50
Posts: 292
|
GAMEPLAY FOOTAGE
Mark Day - 3 December 2021 Here’s some extended gameplay footage from a recent build, it has a few bugs and is obviously missing moves but it's really coming together fast! A few new things it shows off are the Top and Bottom panels, so we now have functioning health bars, scores and a countdown timer. Also you can see the palette swapping working with the Roper enemy being recoloured just before the level loads in. Note: This video shows Linda but as I previously mentioned we will need some clever memory swapping to achieve this on Amiga 500. [ Show youtube player ] Coming up next will be throws, jumps and knees to the head, expanding the moveset.. and I need to sort out the Z layering. http://www.electriccafe.xyz/double-d...meplay-footage http://www.electriccafe.xyz/ |
03 December 2021, 17:19 | #195 |
This cat is no more
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,161
|
this looks and sounds very good. I've completed the game in the arcades and really, really it's excellent.
don't forget that the character(s) can climb ladders too. |
03 December 2021, 20:07 | #196 |
Registered User
Join Date: Apr 2018
Location: UK
Posts: 487
|
Absolutely superb!
|
04 December 2021, 12:45 | #197 |
Registered User
Join Date: Dec 2021
Location: Uk
Posts: 3
|
This is an amazing project!
I know this is not being vanilla A500, but once it is finished could we have a CD/iso version that runs on CDTV/CD32 that just replaces the music with CD music using the arcade tunes? |
05 December 2021, 15:43 | #198 |
Registered User
Join Date: Sep 2019
Location: Italy
Age: 50
Posts: 292
|
BATTLE ZONES
Mark Day - 5 December 2021 One of the features of most beat’em ups is the camera stopping at certain points to allow for a battle before it will let the player move on. In Scorpion we can achieve this using “Blocks”. In the video you will see the blocks are placed along the floor and when the player collides the camera is stopped (they will be invisible in the final game). At this point we also generate collision blocks either side of the screen (to stop the player walking out of the zone) To control the battle zone I keep an enemy count (a debug display can be seen next to the player 1 health bar). Once this count reaches 0, the collision blocks are removed, the camera is told to follow the player again and we pop up a little “Go” hand to tell the player they can continue. [ Show youtube player ] http://www.electriccafe.xyz/double-d...5/battle-zones |
05 December 2021, 19:24 | #199 |
Ex nihilo nihil
Join Date: Oct 2017
Location: CH
Posts: 4,856
|
^
|
05 December 2021, 23:07 | #200 |
Registered User
Join Date: Jan 2020
Location: oslo/norway
Posts: 1,607
|
I remember this game very well from the arcades. This seams to come together very nice
Keep on the great work. |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
DOUBLE DRAGON II vs DOUBLE DRAGON 3 AMIGA TITLE MUSIC | ZEUSDAZ | Retrogaming General Discussion | 20 | 16 January 2021 13:29 |
Double Dragon 2 | The Master | project.WHDLoad | 2 | 04 June 2006 19:20 |
Double Dragon 2 Whdload? | fryguy | request.Old Rare Games | 2 | 17 November 2005 01:31 |
Double Dragon 2 HD-Install | Konrad | support.Games | 3 | 08 October 2002 23:04 |
|
|