Author Topic: Football Fever (aka - Games with smooth "1" pixel multi directional scrolling.)  (Read 49744 times)

0 Members and 1 Guest are viewing this topic.

Offline sigh

  • 6128 Plus
  • ******
  • Posts: 1.122
  • Liked: 431
  • Likes Given: 41
Sure. Instead of drawing a one pixel wide vertical line in say ink 1, you instead draw a two pixel wide vertical line with the left and right pixels in different inks, say 1 and 2. Now by simply alternating the colour of inks 1 and 2 (one green, one white) you can give the appearance of having a single pixel wide line that moves by one pixel. Doing this means you only really need byte scrolling yet can still get the appearance of pixel scrolling, albeit at the expense of a few colours on screen. It should also be possible to handle the curved sections, such as the centre circle, in a similar fashion with a careful selection of palette colours.

Okay. Here are some animated examples of andycadley's method as I have no coding skills whatsoever:D

The first animation shows to pictures. One is white and green. The other is green and white. They are playing a 2 frame animation.



Next pic is the animation being scrolled by using the normal 4 single pixel scroll (or 2 wide pixel scroll)



Next pic has the black background replaced with the green pitch. As stated by andycadley, this gives the illusion of a 1 pixel scroll.




..and here it is playing at 25fps



So, this method could be used for the area up until the goal posts are seem. In which case, could they be scrolled in using the Commando method as the goal posts wont need to scroll that far?

Also - would this centre vertical line be tiled, or would it just be one single vertical line from the bottom of the pitch to the top?

Offline sigh

  • 6128 Plus
  • ******
  • Posts: 1.122
  • Liked: 431
  • Likes Given: 41
Can someone point to more examples of games that have the Commando scrolling method?
I would like to check some more out.

Offline sigh

  • 6128 Plus
  • ******
  • Posts: 1.122
  • Liked: 431
  • Likes Given: 41
Looking at this again, I'm not to sure how feasible it would be scrolling the advertising boards and crowds when combined with the technique used on the white lines.
The boards move way to fast when compared to the lines:



I also tried to stagger it but it ended up looking very nasty like this:




Removing the crowd and boards (as seen below) results in a much smoother look, but is devoid of atmosphere. This would mean that crowd sounds, sound effects and musical jingle effects would play an even bigger part, needing to play throughout a match with no silent gaps.



Could the crowds use the same technique as the white lines? Or should they be removed?

On another note, I was looking at the screen dimensions for Matchday 2 and Emlyn Hughes Soccer. Matchday 2 uses the full 320 by 200 dimensions (pitch is 320 x 156), while Emlyn Hughes only uses 208 by 192 with the pitch only being 136 in height with the rest being taken up by the HUD.

Any reason why the programmer would of chosen such a small dimension?
« Last Edit: 02:30, 23 February 14 by sigh »

Offline Puresox

  • 6128 Plus
  • ******
  • Posts: 1.290
  • Country: 00
  • Liked: 247
  • Likes Given: 678
The Ad boards move in a paralax style? Why is this ? It  would be a shame to lose the boarding , cos of the atmosphere it creates

Offline Gryzor

  • Administrator
  • 6128 Plus
  • *****
  • Posts: 15.045
  • Country: gr
  • CPC-Wiki maintainer
    • CPCWiki
  • Liked: 2983
  • Likes Given: 5182
I would prefer having ad boards and the crown scrolling imperfectly than not having them at all to tell you the truth...

Offline Puresox

  • 6128 Plus
  • ******
  • Posts: 1.290
  • Country: 00
  • Liked: 247
  • Likes Given: 678
You possibly could make it a feature, As the modern day adverts scroll and change too different Ads?Just a thought

Offline steve

  • Supporter
  • 6128 Plus
  • *
  • Posts: 1.263
  • Country: gb
  • Liked: 178
  • Likes Given: 210
Maybe Google would be interested in buying advertising space. ;D

Offline sigh

  • 6128 Plus
  • ******
  • Posts: 1.122
  • Liked: 431
  • Likes Given: 41
It  would be a shame to lose the boarding , cos of the atmosphere it creates

True....

I would prefer having ad boards and the crown scrolling imperfectly than not having them at all to tell you the truth...

..but I've decided that it will make the gameplay feel jerky and disjointed. The gameplay counts for more than the boards and crowds, despite the lack of atmosphere they may bring if the crowds are removed. After 19 pages of many forum members trying to figuring out the best methods, to settle with the dodgy crowd scrolling would not make me happy at all. I would rather have them removed and have the sound effects create the atmosphere instead.

I've come up with a solution, but I think it may be a bit of a CPU strain.

I have created a crowd sprite which is 24x16. They have 4 frames of animation as seen below. I have then scrolled this animation using the normal 4 pixel software scroll.



I have now sped this up to 25FPS:



In order to create a full crowd, there would need to be 9 of these next to each other (as shown above).
Here is the result of laying the crowds next to each other and playing the animation with normal 4 pixel scrolling:



Here are the results when put onto the pitch against the scrolling lines:



The problem I see with using this method on the crowds is that for this screen size which is 200 x 200, it would need around 9 crowd sprites all animating. Plus there would be the white lines, the players (probably around 8 with this screen size) the ref and ball.

That's 20 animated objects moving every single frame.

So what I would like to know is...

How feasible is this without it slowing down?
« Last Edit: 23:30, 23 February 14 by sigh »

Offline andycadley

  • Supporter
  • 6128 Plus
  • *
  • Posts: 841
  • Liked: 403
  • Likes Given: 71
Doing the crowds shouldn't be overly difficult. They don't need any masking and are in a reasonably small area of the display. I'd probably write custom code to draw them optimally, but it shouldn't be insurmountable.

Offline sigh

  • 6128 Plus
  • ******
  • Posts: 1.122
  • Liked: 431
  • Likes Given: 41
Doing the crowds shouldn't be overly difficult. They don't need any masking and are in a reasonably small area of the display. I'd probably write custom code to draw them optimally, but it shouldn't be insurmountable.

I would need an extra crowd sprite to break up the monotony of that latest example posted.
I'm guessing that the white lines and crowds could be generated as compiled sprits due to there low complexity and the very small amount of RAM they would require.

Anyone know what type of sprites are being used in Commando?

Offline EgoTrip

  • 6128 Plus
  • ******
  • Posts: 1.051
  • Country: gl
    • http://egochip.blogspot.co.uk/
  • Liked: 677
  • Likes Given: 294
Yay the A-Team football game. Shame they are losing :( Mr T must be pissed.

I really can't wait for this to be finished. Wish I could help out but all I can do is offer encouragement.
EgoTrip's Stuff
EgoTrip's Stuff

Offline arnoldemu

  • Supporter
  • 6128 Plus
  • *
  • Posts: 5.332
  • Country: gb
    • Unofficial Amstrad WWW Resource
  • Liked: 2251
  • Likes Given: 3477
Doing the crowds shouldn't be overly difficult. They don't need any masking and are in a reasonably small area of the display. I'd probably write custom code to draw them optimally, but it shouldn't be insurmountable.
Are you putting yourself forward to make this andy?
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

Offline sigh

  • 6128 Plus
  • ******
  • Posts: 1.122
  • Liked: 431
  • Likes Given: 41
I need to demo the goal posts and other lines; Horizontal and semi circle and circle. The circles and goalposts are quite worrying as they are quite big sprites.
Would the goal posts need to be plotted like a sprite? Due to the large size, would it be wise to chop it up into smaller parts?
I will attempt to demonstrate the other lines using the same technique as the vertical line.

Offline Gryzor

  • Administrator
  • 6128 Plus
  • *****
  • Posts: 15.045
  • Country: gr
  • CPC-Wiki maintainer
    • CPCWiki
  • Liked: 2983
  • Likes Given: 5182
The new boards solution works lovely. Too bad that you can't really use them to put ads on, and indeed it needs another sprite to break up the monotony and reinforce the notion that these are, in fact, boards, but it scrolls very nicely.


And I'm in love with the player-with-ball animation :)
« Last Edit: 19:30, 05 March 14 by Gryzor »

Offline andycadley

  • Supporter
  • 6128 Plus
  • *
  • Posts: 841
  • Liked: 403
  • Likes Given: 71
Are you putting yourself forward to make this andy?
Sadly I know almost nothing about football, nor did I ever really get into playing football games. Which I suspect would be something of a limitation in trying to produce something playable because I honestly couldn't tell what worked and what didn't. As a somewhat intellectual exercise in how you might solve some of the problems involved in making a fast, smooth football game, I have to admit it's very interesting though....

Offline sigh

  • 6128 Plus
  • ******
  • Posts: 1.122
  • Liked: 431
  • Likes Given: 41
I'm not into football myself, but as animator I enjoyed animating the movement of the footballers - the run cycles, walks, jogs, skips and diving headers etc. It was great fun animating and trying to squeeze as much personality and realism into a 16x16 character. I've also always been impressed by those AI coders when it comes to such sports games like football, basketball and ice hockey, that have a lot of players on screen at once, all acting out different routines and being aware of each other in a realistic manner.

The only sports games I played a lot was tennis games and I feel we already have some good ones on CPC, however - I don't really feel the same way about the football games CPC.

Basically, what I need from someone is to do 2 things:

1) set up the screen with the scrolling with the white lines and crowd just like the example shown. Should be able to scroll around the pitch with cursor keys.

2) Have as many sprites playing a run cycle on the screen while this is happening, until it starts to drop FPS.


Having these done would help to see if this method works, how much slowdown it would produce and how much strain on the CPU. The screen could maybe start off as the full 320 x 200, then as things get added and start to slowdown, the screen width can be reduced until it reaches a comfortable and stable 25fps. The minimum screen size should be no less than 200 x 200. If it is slow and choppy at this stage, then removal of the crowds should be attempted.
If it's still choppy after that - then there is no point carrying on with the project.

If all goes well with the speed and smoothness, then the next stage would be to find another programmer to take on the painful task of coding the AI and logic!

Sadly I know almost nothing about football, nor did I ever really get into playing football games. Which I suspect would be something of a limitation in trying to produce something playable because I honestly couldn't tell what worked and what didn't. As a somewhat intellectual exercise in how you might solve some of the problems involved in making a fast, smooth football game, I have to admit it's very interesting though....

If your interested in the scrolling and would like to attempt that part only, then let me know.

Offline sigh

  • 6128 Plus
  • ******
  • Posts: 1.122
  • Liked: 431
  • Likes Given: 41
Hi guys,

Anyone know the answers to these questions I had posted please :) ?

1) What type of sprites are being used in Commando? (compiled, compressed etc)

2) Screen dimensions for Matchday 2 uses the full 320 by 200 dimensions (pitch is 320 x 156), while Emlyn Hughes only uses 208 by 192 with the pitch only being 136 in height with the rest being taken up by the HUD.

Any reason why the programmer would of chosen such a small dimension on EH?

Thanks


Offline Xifos

  • CPC6128
  • ****
  • Posts: 174
  • Country: fr
  • Liked: 231
  • Likes Given: 230
Any reason why the programmer would of chosen such a small dimension on EH?

Thanks

Emlyn Hughes Soccer (which i think is the best football* game on 8 bits) uses full software scrolling, and maybe double buffering.
So to save ram (double buffer) and cpu (cpc version of EHS is slow anyway), the screen was reduced.
In my opinion...

For commando i don't know except it "xores" sprites.
*soccer
« Last Edit: 09:44, 06 March 14 by Xifos »

Offline sigh

  • 6128 Plus
  • ******
  • Posts: 1.122
  • Liked: 431
  • Likes Given: 41
Emlyn Hughes Soccer (which i think is the best football* game on 8 bits) uses full software scrolling, and maybe double buffering.
So to save ram (double buffer) and cpu (cpc version of EHS is slow anyway), the screen was reduced.
In my opinion...

For commando i don't know except it "xores" sprites.
*soccer

Hmmm.

I've also been given some excellent info from arnoldemu in regards to scrolling.

I think that this football game would be better off using the same techniques of the examples I posted, but with hardware scrolling instead.
It will take more ram, but things like the goalkeeper (you'll only ever see one at a time), referee and linesman could be compressed along with certain animations, like be fouled and cheering when they have scored a goal.

This would leave more CPU time, but more importantly, scroll a full 320 width screen without taking a performance hit.

Offline Ast

  • 6128 Plus
  • ******
  • Posts: 982
  • Country: fr
    • Amstrad cpc Website of Ast/iMPACT
  • Liked: 757
  • Likes Given: 672
Does your project finish ?
_____________________

Ast/iMP4CT. "By the power of Grayskull, i've the power"


Amstrad Plus French Forum

All friends are welcomed !

Offline sigh

  • 6128 Plus
  • ******
  • Posts: 1.122
  • Liked: 431
  • Likes Given: 41
Hi everyone.

@Ast. Graphics and animation are all done. I need to do 1 more test of pitch scrolling with the goal posts before I try and hunt someone down to try and program and conclude if the scrolling method will work or not with all those sprites.

Much of my time has been spent on the beat em up so I haven't touched this for some time, but will be coming back to it in the next couple of months.

Offline villain

  • Supporter
  • 464 Plus
  • *
  • Posts: 390
  • Country: de
  • Liked: 212
  • Likes Given: 443

Offline sigh

  • 6128 Plus
  • ******
  • Posts: 1.122
  • Liked: 431
  • Likes Given: 41
Wow!!!

Has it really been that long since I last posted on this :o !

I haven't looked at it for a good while, but it isn't dead. I've been busy trying to finish an old project from a long time ago, I've also got the beat em up to tend to which I also haven't been able to touch for some time and I'm also working on two other projects; one for another member of this forum and the other from outside. Having been out of the UK for 3 months, I'm having to acclimatize and get things organized!

Anyway - the football game reached a point where the graphic work is completely done along with the animations. There is a huge amount of animation in this game and I would need to number the sprites correctly, but there isn't much point in doing so unless I can find a programmer to reproduce the scrolling tests I animated on the past pages. I think that the scrolling technique would work incredibly well as described by andycadley, but until it's put into reality, this game cant really move on.

I still need to do the pitch scrolling test with the goal posts. I have a feeling that the goalpost might be tricky to scroll on a per pixel level, and may have to scroll in a 2 wide pixel method just for that section of the pitch. It would only need to come into view at a short distance from the side of the pitch where it would stop scrolling. Hopefully it wouldn't look too jarring.

Offline Gryzor

  • Administrator
  • 6128 Plus
  • *****
  • Posts: 15.045
  • Country: gr
  • CPC-Wiki maintainer
    • CPCWiki
  • Liked: 2983
  • Likes Given: 5182
Thanks for the update mate, hope this sees the light of day!

Offline sigh

  • 6128 Plus
  • ******
  • Posts: 1.122
  • Liked: 431
  • Likes Given: 41
Thanks for the update mate, hope this sees the light of day!

Me too! Still need to do those extra tests.