www.retrosoftware.co.uk
http://www.retrosoftware.co.uk/forum/

I'm starting writing a version of Phoenix for the BBC
http://www.retrosoftware.co.uk/forum/viewtopic.php?f=19&t=909
Page 4 of 5

Author:  tricky [ Sat Jul 05, 2014 11:23 am ]
Post subject:  Re: I'm starting writing a version of Phoenix for the BBC

Got a bit more time; swinging birds now spawn and shoot but can't be killed.
I have also done a first pass at optimisation, so there should be no flickering on the bullets (which weren't in the last video anyway ;)).

URL:http://youtu.be/fMtStO7kBuM
Main todos: kill swinging birds, large explosions (for climbing walkers and centre hits on swinging birds), make walking birds: dive, climb and generally getting in the way, make boss shoot and die, player shield, player explosion, boss explosion, joystick support, SOUND effects and MUSIC :shock: (Phoenix is more sounds capable than the beeb, so is good reason for a SID version of the music). Hi-Score? Anything else?
N.B. The attachment is just the same video as the Youtube video but at 50Hz and clearer.

Attachments:
File comment: Same as the Youtube video but at 50Hz and clearer
28_swinging_birds_spawn_and_shoot.zip [417.13 KiB]
Downloaded 5 times

Author:  tricky [ Sun Jul 06, 2014 10:53 am ]
Post subject:  Re: I'm starting writing a version of Phoenix for the BBC

Added killing the swinging birds and a bit more scoring this morning, so you can now play through all the levels without using SHIFT to skip the level.
The boss bonus is about 100 times to small, but I still challenge anyone to beat my hi-score ;)
You only get one life and there are many things missing (see previous list) but it currently loads at &1100 without relocation and has 190 bytes free (about what the music and sfx needs), so there is still plenty to get the rest of the explosions and all the special birds movements in (all gfx are already in).

URL:http://youtu.be/t2JxUNWWNLQ
Keys are: Z,X (left and right), RETURN (fire) and SHIFT (currently skip level)
Attachment:
File comment: basically playable, many bits to add
Phoenix.zip [5.89 KiB]
Downloaded 7 times

Image

Attachments:
File comment: Hi-score of 5320
hi-score.jpg [30.09 KiB]
Not downloaded yet

Author:  DavidB [ Sun Jul 06, 2014 10:21 pm ]
Post subject:  Re: I'm starting writing a version of Phoenix for the BBC

Wow! It's looking very much the way I remember Phoenix in the arcades. Well done so far! :D

Author:  tricky [ Sun Jul 06, 2014 10:38 pm ]
Post subject:  Re: I'm starting writing a version of Phoenix for the BBC

Fixed swinging bird eye colours and body only collision.
Need to fix bug where you can't kill walkers from the centre of the screen!

EDIT: Sorry David, missed your post, thanks. I have taken a few liberties here and there, but I am trying to get the spirit of the game in before I lose interest :o

Author:  JoolsH [ Mon Jul 07, 2014 10:27 pm ]
Post subject:  Re: I'm starting writing a version of Phoenix for the BBC

This is coming along rather nicely, very fast work! :)

Author:  tricky [ Mon Jul 07, 2014 10:33 pm ]
Post subject:  Re: I'm starting writing a version of Phoenix for the BBC

Thanks Jools, fixed killing walkers from the centre of the screen (just re-wrote it, couldn't see the problem!). Added boss bonus (score, no numbers displayed). Added large explosion, but they just crash the game at the moment - may fix them tomorrow.

Author:  RobC [ Tue Jul 08, 2014 8:35 pm ]
Post subject:  Re: I'm starting writing a version of Phoenix for the BBC

Really excellent work - the speed at which you work is amazing and seeing something progress so quickly is truly inspiring!

This was the first ever arcade game that I played - I shouldn't have been allowed in but a friend's older brother got us in and I remember being absolutely rubbish at it :D

Author:  JoolsH [ Tue Jul 08, 2014 8:51 pm ]
Post subject:  Re: I'm starting writing a version of Phoenix for the BBC

RobC wrote:
This was the first ever arcade game that I played

Ha, it was mine too :)

Author:  tricky [ Tue Jul 08, 2014 9:50 pm ]
Post subject:  Re: I'm starting writing a version of Phoenix for the BBC

Fixed the big explosions and attached them to body hits on fully grown swinging birds. I should really add vertical movement - maybe next!

URL:http://youtu.be/-i27-IEkhEw

Author:  tricky [ Wed Jul 09, 2014 10:49 pm ]
Post subject:  Re: I'm starting writing a version of Phoenix for the BBC

Added a test for vertical movement of swinging birds and sprite relocation, leaving 3K+. I need to wait for the last big explosion at end of level.

URL:http://youtu.be/dafRlGJdDNk

Author:  jbnbeeb [ Thu Jul 10, 2014 10:01 pm ]
Post subject:  Re: I'm starting writing a version of Phoenix for the BBC

Cool on the latest updates - this is what I was waiting to see - all the birds growing simultaneously and then the explosions when they're shot. Really excellent animation - looks like the real thing. A real testament to seriously good Beeb coding skills.

Richard - how do you manage to plot so many big sprites on the screen (in "mode 5"?) and animate them so smoothly? Do you iterate/update one sprite at a time or something more clever?

Author:  tricky [ Thu Jul 10, 2014 10:55 pm ]
Post subject:  Re: I'm starting writing a version of Phoenix for the BBC

Added swinging bird bombs and bobbing.
Added placeholder explosion for mothership.
Hey mode 5 :o Mode 1 please :D
I update the sprites when the arcade version did, some are every frame (player ship), some are every 2 frames (swooping birds) and some are 4 (or 8, walking birds).
I use a few different methods to draw different things:
The walking birds (16) are all draw on the same frame with code a bit like:
ldy #23 : .loop : lda (sprite),y : sta (bird0),y : sta (bird1),y ... sta (bird15),y : dey : bpl loop
The players ship is similar (but with self modded page offset):
ldy #31 : .loop : lda ship,y : sta (ship_row0),y : lda ship+&100,y : sta (ship_row1),y : dey : bpl loop
The ship is drawn in 16 byte (8x8 pixel) chunks where a page (half a char row) needs to be redrawn, the shield is 4x8 pixel chars from a shifted array.
The stars are drawn one page at a time if anything else drew to that page last frame.
I often use self-modded code to turn a lda (),y : sta (),y into a lda abs,y : sta abs,y saving 2 clocks per byte copied, which on 224 byte birds adds up!
I'll show you the gory details if I ever make it to another show :shock:

URL:http://youtu.be/ORWI3_H1R-c
I've attached a new .ssd, so please feel free to try to beat my hi-score on the video of 14910
Attachment:
File comment: playable but lots more to do
Phoenix.zip [6.34 KiB]
Downloaded 9 times

Keys are: Z,X (left and right), RETURN (fire) and SHIFT (currently skip level)Image

Attachments:
File comment: high score of 14910
hi-score-14910.jpg [11.49 KiB]
Not downloaded yet

Author:  fwibbler [ Fri Jul 11, 2014 5:41 pm ]
Post subject:  Re: I'm starting writing a version of Phoenix for the BBC

Dragging this thread back a fair bit as I've only just seen it...

tricky wrote:
Thanks Cybershark,

I did look at Green Beret, but at 32k just for the man (men - I can't remember) without and backdrops, again it was a no.


To be fair, this game hasn't converted well to most home machines.
From the brief look I've had, the C64 version is best followed (surprisingly) by the Spectrum.
Perhaps the BBC Master might be capable of a better job but it would probably still be a monster job to do.


tricky wrote:
Mappy - Nice little project - use the horizontal scrolling from Rally-X, it seems solid it you are on an B-Em or have a CRT, but can be tricky if not.


This is another game I like a lot.
As long as it works on a real machine, then it's up to the emulators (authors)to keep up ;-)

tricky wrote:
Dig Dug - I thought we had a version of this, on checking, it wasn't as good as I remembered it - not the first time that has happened!


This is a game I'd love to see on the Beeb. Currently there is 'The Mine' and I thought there was another one but I can't remember.
Certainly The Mine is nothing like the arcade in the way it plays unfortunately.


tricky wrote:
Pac Mania - another smooth side scroller, same problem/restriction as all the others. I never played this much in the arcades, so never really thought of a port. If I did, I would fit it on one screen, making all the "sprites" easier to draw and let the player jump walls while the ghosts were blue - not very authentic, but something my teenage self though should have been in the game.


I always used to think, if the ZX Spectrum can do it with it's limited hardware, then surely so can the BBC!
But I'm guessing it's not /that/ simple is it?

Anyway, Now I'm going to have a look at Phoenix :geek:

Author:  tricky [ Fri Jul 11, 2014 9:43 pm ]
Post subject:  Re: I'm starting writing a version of Phoenix for the BBC

The problem with smooth (2 mode 1 pixels) scrolling is that it works by changing the sync pulse width, which fools a CRT into re-centering the display, this takes a few scan lines to settle. Modern displays seem to use a different method which isn't fooled by the h-sync trick.

The spectrum is only 1 bit per pixel plus 1 byte per 8x8 pixels for colour, so even for 4 colours, the beeb has to push twice as much memory and only has 8 bit registers to do it.

Author:  Cybershark [ Sat Jul 12, 2014 4:02 am ]
Post subject:  Re: I'm starting writing a version of Phoenix for the BBC

Had a look at that latest version Tricky but, as you say, it's not best suited to emulators.
It was almost playable on B-Em, but quite flickery - and I couldn't see my own ship :P

fwibbler wrote:
tricky wrote:
Dig Dug - I thought we had a version of this, on checking, it wasn't as good as I remembered it - not the first time that has happened!


This is a game I'd love to see on the Beeb. Currently there is 'The Mine' and I thought there was another one but I can't remember.
Certainly The Mine is nothing like the arcade in the way it plays unfortunately.


The other "conversion" was Visions' "Digger". It's not terrible, but still leaves a bit to be desired. Looking back on them all now, they're not all that different from Mr. Do really, are they?

Author:  tricky [ Sat Jul 12, 2014 10:14 am ]
Post subject:  Re: I'm starting writing a version of Phoenix for the BBC

Trying to save a bit of memory in case things get too tight so I have tweaked the boss explosion - I know it's not authentic, but it does the job ;)
http://youtu.be/nwQzgpgXhIc

Author:  tricky [ Sat Jul 12, 2014 7:30 pm ]
Post subject:  Re: I'm starting writing a version of Phoenix for the BBC

I just realised (well about an hours and a half ago) that the boss' hull was too weak and was destroyed with about half the correct number of shots - fixed ;)
http://youtu.be/cCFhTJXSdRI

Author:  tricky [ Wed Jul 16, 2014 10:54 pm ]
Post subject:  Re: I'm starting writing a version of Phoenix for the BBC

Sorry guys, I am going to put Phoenix on hold (possibly permanently).
I guess some of you may have had an idea from my post on stardot that I was struggling to stay motivated on it.
I am attaching the current version and source (beebasm) in case anyone wants to see how I did any of it and also so that there is a permanent copy in case I ever change my mind (hopefully I will).
I was playing the arcade version and just don't feel I am doing it justice.
Maybe it is just that I have done the hard bits and can't face the long slog of doing the rest!
I am pleased with some of the technical bits:
6 colours (eg black, white, red, blue, yellow and magenta) per line in mode 1.
16 x 32 byte sprites drawn at 50fps without flicker.
8 x 224 byte sprites animating on screen vertically and horizontally, no flicker.
4 x 2 x 96 byte half explosions, redrawing stars as they go.
320 stars of 1-3 pixels each redrawn whenever necessary.
The boss ship redraws if birds walk (fly not finished or included) over it.
Up to 30 bombs falling consistently on screen even when v-rupturing.
Pixel perfect collision detection for everything.
There are still occasional "invisible" bombs - a bug really :o.
The small explosions make the adjacent birds flicker, I was going to fix this, but it does match the original :roll:.
I'll stop there because I am starting to annoy myself!


EDIT: ZIP swapped for one with source and data
Attachment:
Phoenix.zip [30.37 KiB]
Downloaded 10 times

Author:  sweh [ Thu Jul 17, 2014 12:56 am ]
Post subject:  Re: I'm starting writing a version of Phoenix for the BBC

Sorry to hear this. But I do understand the 'slog' part; you've solved the hard problems, the rest is boring...

What you need is to partner with a Finisher Completer :-)

Author:  oss003 [ Thu Jul 17, 2014 3:54 pm ]
Post subject:  Re: I'm starting writing a version of Phoenix for the BBC

Hi Tricky,

it's a pitty if you stop the game now, you did put a lot of effort and time in the development.

You said the sources were included in the zip file but I can't see them??
Like Sweh said, maybe you need a Finisher to complete the game and that is a lot easier with the sources online ... :)
Not that I'm able to finish it but I'm curious about how you did write such a fast game engine.

It's looking very good but I know the feeling because I still have to finish Atomic Elite ..... :?

Greetings
Kees

Page 4 of 5 All times are UTC [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/