15 January 2015, 22:55 | #21 | |
Amiga will never die!
|
Quote:
Street Racer uses this technique, but sadly the engine doesn't support hills which I think are important for a game like this. If you can work out how to code it, I'd like to help with the road/roadside textures, objects and colour palettes. I've had this on my mind for a long time and have just been waiting for someone else to be interested in the idea. I think an AGA Amiga should be able to reproduce a Need For Speed-style game with OutRunners-style graphics using a mixture of pseudo-3D roads, (animated) pattern-mapped polygonal landscapes combined with scaled bitmaps. |
|
15 January 2015, 23:00 | #22 |
AMOS Extensions Developer
Join Date: Jun 2007
Location: near Cambridge, UK
Age: 44
Posts: 1,924
|
I have Street Racer for the Megadrive, and completed it
Whilst the game does not indeed have hills, it is one of (the only?) racing game of this style that allows you to reverse back the way you came. The game also ran super smoothly (probably due to the lack of not worrying about hills in the games code) - probably 50fps or close to it. |
16 January 2015, 07:39 | #23 | ||
Banned
Join Date: Dec 2014
Location: Montreal
Posts: 129
|
Quote:
Quote:
These objects have to be drawn using a cookie cut function which is the most expensive blitter copy operation, and this has to be repeated for every bitplane of the road and background instead of just two for a Lotus-like three colours road/roadside. I would not be surprised if Street Racer was using sprites to draw the vehicles precisely because cookie cutting through the road would have been too expensive. It's definitely possible I'm wrong since I haven't bothered to compute bandwidth estimates but it's definitely difficult to do full screen redraws per frame on AGA machines unless you limit the number of bitplanes close to ECS levels or rely exclusively on sprites for foreground objects. Last edited by Nekoniaow; 16 January 2015 at 07:41. Reason: Clarified. |
||
16 January 2015, 09:05 | #24 |
Registered User
Join Date: Feb 2011
Location: Italy/Rome
Posts: 2,281
|
Nekoniaow
You can use dualplayfield mode: one playfield will be used to do full texture road, and the other ones will be used for sprite. Thit tecnique will allow us to do a great off the chart racing game for AGA. |
16 January 2015, 09:08 | #25 | |
Registered User
Join Date: Feb 2011
Location: Italy/Rome
Posts: 2,281
|
Quote:
That's my problem to have good quality graphics . I can code, I just need time to polish my skill, a lot of years whitout coding on Amiga. First I'll code road engine on Pc, then I will traslate it on Amiga Aga. |
|
16 January 2015, 10:22 | #26 | |
Banned
Join Date: Dec 2014
Location: Montreal
Posts: 129
|
Quote:
And while this lightens the load on the blitter by partially removing the need to cookie cut bobs against the background, the overlapping ones still need it at least between themselves on at least three bitplanes. I highly recommend to compute an estimate RAM bandwidth budget as a function of the desired "specs" in order to avoid any deception: Using the following variables it's relatively easy to determine if what you want to draw can fit in an AGA frame. - Number of bitplanes for the background/road playfield? - Number of bitplanes for the objects/vehicles playfield? - Fraction of the background playfield to be redrawn each frame? - Number of blitter channels needed per background element draw? - Average surface (in bytes) * number of top objects/vehicles? - Number of blitter channels needed per objects/vehicles element? Once you decide on these numbers you can compute the number of DMA access needed for each frame and compare against what's available in an AGA frame. Then only can you determine whether that's feasible or not. The AGA sprites, colour registers banks and the copper allow for nice cheats but obtaining a really good looking result is certainly not an easy task. |
|
16 January 2015, 11:58 | #27 | |
Warhasneverbeensomuchfun
Join Date: Jun 2001
Location: Rio de Janeiro / Brazil
Age: 41
Posts: 3,450
|
Quote:
|
|
16 January 2015, 13:09 | #28 | |
Registered User
Join Date: Feb 2011
Location: Italy/Rome
Posts: 2,281
|
Quote:
|
|
16 January 2015, 15:48 | #29 | |
Banned
Join Date: Dec 2014
Location: Montreal
Posts: 129
|
Quote:
As for the road you wrote yourself about pattern filled polygons for the background and hills, there is no way you can have these without actually writing to the frame buffer which is why I implied a redraw was needed. If you go with a purely scrolling based solution for the road this makes it much easier indeed and coincides with what I described as a Lotus AGA with the dual playfield enormously reducing blitting needs in exchange for an ECS-like colour palette. This clearly has the added benefit that more blitter time is available for objects and vehicles even with one more bitplane than Lotus which I indeed failed to realize. I would definitely have liked to buy and play such a game around 1992-94 and probably still would buy it if someone made one (damn, now I want to try it!) but it seemed to me that you were aiming for more. Last edited by Nekoniaow; 16 January 2015 at 15:49. Reason: Grammar |
|
16 January 2015, 17:32 | #30 |
Registered User
Join Date: Feb 2011
Location: Italy/Rome
Posts: 2,281
|
Nekoniaow
If you do a pre animated road, and use it as look-up table, you can have zero blitter aid for it, and spare it for moving object. |
16 January 2015, 19:13 | #31 |
Posts: n/a
|
One way could be to prerender the road, dump the frames and then use a mask on the section at the bottom (the same height as the player sprite) to determine the valid road edges. As the animation of the road changes, you change the mask, as to match the new bounds at the line that the player/car is...
Would generate a lot of frames, but if you can fin a way to stream that it should work. Would be similiar to Megarace actually. |
17 January 2015, 01:30 | #32 | ||
Banned
Join Date: Dec 2014
Location: Montreal
Posts: 129
|
Quote:
What I was arguing was costly was your initial proposition: Quote:
|
||
17 January 2015, 01:58 | #33 | |
Banned
Join Date: Dec 2014
Location: Montreal
Posts: 129
|
Quote:
If your road "texture" is sufficiently repetitive then you can store all scaled versions of it in memory and simply use the copper to fetch the proper line, shifting it left or right depending on the curvature of the road. If say, your texture repeats after the bottom 8 pixels then you can store all scaled versions with the equivalent of 8 copies of the screen space taken by the road. Given that there is a lot of aliasing for the portions of the road which are further away from the camera you can probably get away with not storing all possible high z versions. That's still a lot of space: about 8/2 = 4 screens worth of road if you assume that the road only takes half of the screen and neglecting the side margins needed for shifting the road left and right but the effect might be worth it given that there's nothing to draw at all since you are simply using the copper to point at the proper portion of pre-rendered road in memory. The biggest drawbacks to this approach is that even just a few pixels of texture (along the z axis) require to reserve a large amount of screen space. This said it seems possible to cheat and use the copper + bitplane delay to generate intermediate z values from existing ones on the fly which would reduce the memory requirement. Also as I said, high z values do not need to be all stored since the aliasing makes them unrecognizable anyway, using some kind of mipmapping scheme would both decrease memory consumption and increase visual quality in the distance. It seems difficult at this stage to affirm that this would make the road visually pleasing enough to justify the memory consumption though. A prototype would help. |
|
17 January 2015, 08:37 | #34 | |
Registered User
Join Date: Feb 2011
Location: Italy/Rome
Posts: 2,281
|
Quote:
My fault on says polygon. What I meant is just to have an animated road, like Agony's water on level one, and use it as lookup table when we calculate road, hills, and curves |
|
17 January 2015, 23:59 | #35 | |
AMOS Extensions Developer
Join Date: Jun 2007
Location: near Cambridge, UK
Age: 44
Posts: 1,924
|
Quote:
Here are some videos on YouTube: Megadrive - [ Show youtube player ] SNES - [ Show youtube player ] PS1 - [ Show youtube player ] Saturn - [ Show youtube player ] Differences: - Megadrive: is essentially the version we are trying to reproduce on the Amiga. Note the 3 layers of parallax movement in the background. - SNES: same as Megadrive but made use (predictably) of Mode 7. It is the special mode for the SNES that allows a low-res texture to be applied to the 'ground' and rotated. Mode 7 is also used in other racers such as Mario Kart and F-Zero. - PS1: Polygonal racer, with 2 layers of parallax in the background. - Saturn: Same as PS1, but had better clouds, transparencies & reflections. The better effects are due in part to the Saturn having superior sprite power vs. the PS1 - polygon-wise the reverse is true (750K per second for PS1 vs. 500K per second for Saturn). |
|
18 January 2015, 08:54 | #36 |
A1260T/PPC/BV/SCSI/NET
Join Date: Jan 2013
Location: Moscow / Russia
Posts: 839
|
Anybody gave a thought about virtual carting and some other similar games? They had textured roads.
What is the hardware target ? Plain 1200, with fast ram or with 030+ ? The later will allow a full 3D engine to run at 20+ fps (like GLOOM) And the benefit is it will also be rtg compatible for more advanced machines and very fast there and if you go with 3D support we are close to WipeOut ;-). |
19 January 2015, 08:42 | #37 | |
Registered User
Join Date: Feb 2011
Location: Italy/Rome
Posts: 2,281
|
Quote:
|
|
19 January 2015, 14:31 | #38 | |
Registered User
Join Date: May 2014
Location: inside the emulator
Posts: 377
|
Quote:
|
|
19 January 2015, 14:32 | #39 |
Registered User
Join Date: Feb 2011
Location: Italy/Rome
Posts: 2,281
|
2*2 chunky?? no way, just a classic Amiga Game.. Let that things were belong
|
19 January 2015, 15:49 | #40 |
A1260T/PPC/BV/SCSI/NET
Join Date: Jan 2013
Location: Moscow / Russia
Posts: 839
|
Why 2x2 ? It will run nicely in 1x1 on 030 chip and possibly 2x1 on a fast ram A1200.
And if we are really pushing the limits it can be a combination of textured mapped simple 3D (2.5) engine for the road and side buildings, bridges, and sprites for cars and powerup objects. Anyways, this is for an advanced game, I will still be happy with Lotus, XJ200, Batman, ChaseHQ type road enigines. Or maybe a fully polygonal road like StuntCarRecer. Anybody remembers AlienF1 ? A very nice and fast textured engine, just needs the easier arcade controls and more conventional lambo style cars |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Coding my game in Blitz2 | r0ber7 | Coders. General | 103 | 11 September 2011 20:14 |
EAB/Lemon Super League 2008: Round 8 - What Lotus III Game Mode? | Graham Humphrey | EAB's competition | 41 | 20 July 2008 01:49 |
Need help with audio coding. | Thorham | Coders. General | 6 | 05 March 2008 08:38 |
Help coding | alexh | Coders. General | 14 | 15 August 2006 09:24 |
Bedroom coding | SabreGolly | Nostalgia & memories | 40 | 21 May 2003 20:35 |
|
|