English Amiga Board


Go Back   English Amiga Board > Coders > Coders. Language > Coders. Blitz Basic

 
 
Thread Tools
Old 07 August 2019, 15:23   #41
Shatterhand
Warhasneverbeensomuchfun
 
Shatterhand's Avatar
 
Join Date: Jun 2001
Location: Rio de Janeiro / Brazil
Age: 41
Posts: 3,450
The only version that doesn't allow 2 players to choose the same character was the first one, World Warrior. All versions (and basicaly every fighting game after) allowed both players to choose the same character.

Even home versions allowed it with some kind of cheat. I don't know now to do it on the Amiga version, but once by accident playing with a friend we had an E.Honda vs E.Honda fight. Both had the same palette but player 2 had an arrow above it so we could tell who was who. (We *never* managed to do it again, I even thought that a bug had happened, but the fact an arrow appeared to indicate who was player 2 also made me think that was actually programmed into the code).

Another thing we always forget is that coding a full game goes beyond blitting graphics on screen. If all we had to do was blitting graphics I am pretty sure any Street Fighter 2 game on Amiga could run on 50 fps on any configuration. There's a lot more to consider when coding something like this to make it work at 50 fps.
Shatterhand is offline  
Old 07 August 2019, 15:34   #42
mcgeezer
Registered User
 
Join Date: Oct 2017
Location: Sunderland, England
Posts: 2,702
Quote:
Originally Posted by Shatterhand View Post
From what I got of all the discussion, the main problem is that using just sprites for characters you'll have just 16 color for all of them.

Also, I am nearly sure that using just characters, even on AGA (and I may be wrong since I know nothing about AGA sprites and stuff) a Dhalsim vs Dhalsim, both doing the low stretch punch would be troublesome to do as there wouldn't be enought sprites to draw

I mean... look at this. How wide does this get?


Yeah on AGA the 16 colour palette limitation was removed, AGA can have 8 different sprite palettes so all of the characters could be different colours.

http://jvaltane.kapsi.fi/amiga/howto...a.html#sprites

So really you could have two 128*Y pixel sprites in AGA with 16 colours each, for that big lanky character though the colours would need to come from the first palette because you'd have to blit all that as extra sprite data. I do a sort of similar thing in Rygar with the Lizards on the vertical levels.


Geezer
mcgeezer is offline  
Old 07 August 2019, 16:14   #43
Daedalus
Registered User
 
Daedalus's Avatar
 
Join Date: Jun 2009
Location: Dublin, then Glasgow
Posts: 6,335
Quote:
Originally Posted by mcgeezer View Post
Yeah on AGA the 16 colour palette limitation was removed, AGA can have 8 different sprite palettes so all of the characters could be different colours.
That's not quite the whole story. On AGA, the 16-colour bank can be any bank of 16 in the 256 registers for even sprite channels, and any other bank of 16 for odd channels, whereas under OCS/ECS it was fixed as pens 16-31 for every channel. But all sprites using the same channels still have to use the same bank. Under AGA, this lets you use a different palette for each 3/4 colour sprite, but 15/16 colour sprites all still have to share the same bank because they're all considered odd.
Daedalus is offline  
Old 07 August 2019, 18:27   #44
lilalurl
Global Moderator
 
lilalurl's Avatar
 
Join Date: Aug 2001
Location: France
Posts: 3,289
Send a message via ICQ to lilalurl
Quote:
Originally Posted by Shatterhand View Post
Even home versions allowed it with some kind of cheat. I don't know now to do it on the Amiga version, but once by accident [...]
With you being a relatively recent member of EAB, you probably don't know about it, but we have a database of Amiga games, which includes a cheat section :
http://hol.abime.net/2137/cheatcode
Quote:
In two player mode, pause the game and type “7KIDS”. The border

should flash. Quit the current game and restart a two player game.

You both can have the same fighter.

If you have remembered correctly your story, it is quite interesting that it happened by accident to you and your friend. It would mean that something happened (a sort of memory corruption?) and that the "register" that normally does not allow for two players to have the same character got altered.
lilalurl is offline  
Old 07 August 2019, 18:35   #45
Shatterhand
Warhasneverbeensomuchfun
 
Shatterhand's Avatar
 
Join Date: Jun 2001
Location: Rio de Janeiro / Brazil
Age: 41
Posts: 3,450
Quote:
Originally Posted by lilalurl View Post
With you being a relatively recent member of EAB, you probably don't know about it, but we have a database of Amiga games, which includes a cheat section :
http://hol.abime.net/2137/cheatcode
Thanks for reminding me how bad I am to get sarcasm when its written

The weird thing is that we didn't type nothing for sure. The cheat activated out of nowhere... we were selecting fighters and out of nowhere "WAIT WE BOTH HAVE E.HONDA AT THE SAME TIME??? DONT MOVE AND CHOOSE HIM!"
Shatterhand is offline  
Old 07 August 2019, 19:15   #46
Retro1234
Phone Homer
 
Retro1234's Avatar
 
Join Date: Jun 2006
Location: 5150
Posts: 5,773
I don't see why you can't have Two of the same characters on screen at the same time one has Blue shorts One has Red from the Sprite Palette.

How you would write a routine to do that the Re cut all those sprites with the new colour I have no idea , it's probably quite simple but I can't think right now how.

Last edited by Retro1234; 07 August 2019 at 19:25.
Retro1234 is offline  
Old 07 August 2019, 20:05   #47
Master484
Registered User
 
Master484's Avatar
 
Join Date: Nov 2015
Location: Vaasa, Finland
Posts: 525
Quote:
Can all frames of 2 players be fitted in 2mb and in Reverse.
Yes. I counted that 2 Players in both directions take about 1,2 MB. So this means 800 kb can be used for everything else.

Quote:
The Shadow could be added to the Frames as one bigger image.
True, but when the characters jump, the shadow needs to stay in the ground. So it's better to make it a separate object.

Quote:
How you would write a routine to do that the Re cut all those sprites with the new colour I have no idea , it's probably quite simple but I can't think right now how.
Blitz has a command called "ReMap", which can change any color in a Bitmap to an another color. So we just do that, and then use GetaShape + GetaSprite to get the recolored sprite.

---

And players choosing the same character isn't a problem anymore, because as I explained in my last post, the SNES size Dhalsim can be easily reduced 128 pixels, and therefore it's doable with 2 sprites.
Master484 is offline  
Old 07 August 2019, 22:54   #48
mcgeezer
Registered User
 
Join Date: Oct 2017
Location: Sunderland, England
Posts: 2,702
Quote:
Originally Posted by Daedalus View Post
That's not quite the whole story. On AGA, the 16-colour bank can be any bank of 16 in the 256 registers for even sprite channels, and any other bank of 16 for odd channels, whereas under OCS/ECS it was fixed as pens 16-31 for every channel. But all sprites using the same channels still have to use the same bank. Under AGA, this lets you use a different palette for each 3/4 colour sprite, but 15/16 colour sprites all still have to share the same bank because they're all considered odd.
I do stand corrected, I was hasty in reading the docs earlier and now do recall this strange limitation. I'll get my coat.
mcgeezer is offline  
Old 08 August 2019, 00:16   #49
Retro1234
Phone Homer
 
Retro1234's Avatar
 
Join Date: Jun 2006
Location: 5150
Posts: 5,773
What about the clock and energy bar? Blocks?
Retro1234 is offline  
Old 08 August 2019, 16:30   #50
Master484
Registered User
 
Master484's Avatar
 
Join Date: Nov 2015
Location: Vaasa, Finland
Posts: 525
Quote:
What about the clock and energy bar? Blocks?
In the actual game I would most likely use sprites for the clock numbers, and the energy bars would be updated with simple filled Box drawing commands.

The status panel is a separate "screen", so it can have it's own set of 8 sprites, which are totally separate from the main game screen sprites.

So two sprites for the clock, and six sprites for the fighter names and maybe some special effects for the energy bars.

Currently the status panel uses 8 color mode + copper, but if the sprites are added, then I think it can go down to 4 colors + copper, or maybe even just 2 colors. This will boost performance slightly.
Master484 is offline  
Old 08 August 2019, 18:32   #51
Shatterhand
Warhasneverbeensomuchfun
 
Shatterhand's Avatar
 
Join Date: Jun 2001
Location: Rio de Janeiro / Brazil
Age: 41
Posts: 3,450
Quote:
filled Box drawing commands.
This is kinda slow from tests I've made.
Shatterhand is offline  
Old 08 August 2019, 18:46   #52
Retro1234
Phone Homer
 
Retro1234's Avatar
 
Join Date: Jun 2006
Location: 5150
Posts: 5,773
What about the score, I've used the equivalent of Block in Amos to do this and it was a lot faster than the print command.

Usually Print, Line Drawing, filling commands are quite slow why is that?
Retro1234 is offline  
Old 09 August 2019, 10:32   #53
zero
Registered User
 
Join Date: Jun 2016
Location: UK
Posts: 428
I'd just ditch the score display and maybe Dhalsim if he turns out to be a major problem. No one cares about the score anyway.
zero is offline  
Old 09 August 2019, 10:56   #54
Tigerskunk
Inviyya Dude!
 
Tigerskunk's Avatar
 
Join Date: Sep 2016
Location: Amiga Island
Posts: 2,770
I read some interesting idea about the healthbar, don't remember where I read it though.. Probably it's by Sandruzzo, sounds like one of his "think around the corner"-ideas.

You could just blit one line, and make the displayed area taller by using modulus. The "KO" in the center would have to be an overlayed sprite.
Tigerskunk is offline  
Old 09 August 2019, 11:49   #55
vulture
Registered User
 
Join Date: Oct 2007
Location: Athens , Greece
Posts: 1,840
If someone opts to ditch the score panel, and since some of us actually care about the score, it could still be counted and just be displayed in-between rounds, merely an idea.

Last edited by vulture; 09 August 2019 at 11:55.
vulture is offline  
Old 09 August 2019, 14:04   #56
Master484
Registered User
 
Master484's Avatar
 
Join Date: Nov 2015
Location: Vaasa, Finland
Posts: 525
About the score, it's indeed better not to show it at all, except maybe between rounds.

This way the panel area height can be smaller, which is good for performance; the more "empty lines" the screen has, the faster it'll be.

But if the score was displayed, then yes, I would probably use the Block command to draw the numbers.

And about the energy bar, filled Boxes are indeed quite slow, so maybe I would draw it by BlockScrolling stuff from a separate "energy bar bitmap", which means chunks that are multiples of 16, and then the remaining small pieces could be drawn with BoxF.

---

But everything in the status panel only needs to be updated when something changes (score, energy, time), so I wouldn't worry too much about it causing slowdown.

And the potential slowdown would only be 1 frame, and would only happen when hits connect, and that's when the action "stops" for a short time anyway; neither player can move, and the animations actually pause for a few frames in order to create a sense of "impact". This happens in almost every fighting game.

Quote:
Usually Print, Line Drawing, filling commands are quite slow why is that?
Print is slow because every character is a separate "blit". So a 10 letter word is almost the same as drawing 10 bullets.

And I think line drawing and filling being slow is just the way it is. For example look at the area filling speed in Deluxe Paint, it's pretty slow, especially on an A500.
Master484 is offline  
Old 09 August 2019, 14:21   #57
Retro1234
Phone Homer
 
Retro1234's Avatar
 
Join Date: Jun 2006
Location: 5150
Posts: 5,773
Going off topic but my experience using the Block equivalent can't Print 10 characters alot quicker than Print.

Also out of a whole game Blitting Tiles etc if you used the Print command if would be the slowest part of the program????
Retro1234 is offline  
Old 13 August 2019, 10:25   #58
zero
Registered User
 
Join Date: Jun 2016
Location: UK
Posts: 428
Forget printing blocks. Use BCD and blitting. Make it the lowest priority, so it only gets done after all other blits are complete if there is any spare time left.
zero is offline  
Old 13 August 2019, 20:33   #59
Master484
Registered User
 
Master484's Avatar
 
Join Date: Nov 2015
Location: Vaasa, Finland
Posts: 525
Quote:
Also out of a whole game Blitting Tiles etc if you used the Print command if would be the slowest part of the program????
If you mean a scrolling game that does scrolling by blitting every tile to the screen every frame, then yes, those tile blitting commands would be slowest part of the program. Slow with Block, and Super Slow with Print.

Quote:
Forget printing blocks. Use BCD and blitting. Make it the lowest priority, so it only gets done after all other blits are complete if there is any spare time left.
Yes, Elfmania too uses a priority system like that for the background animations, and this is how it keeps a solid 50 FPS frame rate at all times.
Master484 is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
SNES mini alexh Retrogaming General Discussion 36 08 January 2018 16:13
sf2 with cd32 pad support (whdload?) turrican3 support.Games 10 03 September 2013 16:36
A600 dual kickstart, dual boot drive TreacleWench Hardware mods 41 18 May 2012 12:02
Best SNES Platformers? Fingerlickin_B Retrogaming General Discussion 39 02 February 2010 13:45
US Snes Games on UK Snes Steve Retrogaming General Discussion 13 17 December 2001 22:48

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


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

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.09735 seconds with 14 queries