|
Post by christophertumber on Dec 22, 2015 21:31:23 GMT -5
Yeah, trying to post an attachment.
IIRC I still have a website somewhere. I'll check my notes and upload there later.
|
|
|
Post by christophertumber on Dec 23, 2015 8:00:00 GMT -5
|
|
|
Post by jfmateos on Dec 24, 2015 4:07:10 GMT -5
Dear christopher... it is really impressive. Whenever I get killed nothing else happens... I don't see the final score. youtu.be/zmopPqXF9As
|
|
|
Post by christophertumber on Dec 24, 2015 8:16:07 GMT -5
Yes, I've removed score for the moment - I needed to reorganize RAM and the score and high score table take up a big chunk of RAM. Because I want such big numbers, each score is 4 bytes, plus 3 bytes for player's initials. It's about 64 bytes total for the score/high score table...
|
|
|
Post by vtk on Dec 24, 2015 8:44:21 GMT -5
when the game is ready we could have a high score competition; see who can do best (hopefully Christopher will also play, perhaps we can literally beat him at his own game )
|
|
|
Post by christophertumber on Dec 24, 2015 13:36:19 GMT -5
(hopefully Christopher will also play, perhaps we can literally beat him at his own game ) Cheat code? What cheat code?
|
|
|
Post by mountaingoat on Dec 25, 2015 9:51:03 GMT -5
Very nice.
You could also consider the old Atari-2600 trick - make the patterns of the ships symmetrical and then you can save on having to keep track of the coordinates for half of them.
Store only if the "left" and "right" ship is still there but the coordinates of the "right" ship are just the mirror of the "left" one.
|
|
|
Post by christophertumber on Dec 28, 2015 9:46:39 GMT -5
Hrm, well the problem there would be that all enemy formations would need to be symmetrical. Or I'd need a bitflag to turn it on and off.
Actually, bigger problem would be the structure I use for enemy ships. Which is a list and I have a subroutine to spawn enemies according to a specific sequence. That just picks the first empty spot on the list and puts the enemy data there. I don't see how I could flag pairs of enemies and I really don't want to redefine that structure...
This did give me an idea for bosses and mini-bosses though which are all symmetrical (so far) and drawn in multiple parts due to drift. There's really only need for a the left half of the vector set. Right half can be done with a second drawing routine that inserts a NEGB before every line. Actually saves a ton of room (more than a hundred bytes for the boss in the demo I posted the other day). Sweet!
|
|
|
Post by thomas on Feb 6, 2016 14:26:01 GMT -5
Just tried it out on a Vectrex: really nice !
I was playing with sprite function ideas this week myself and almost decided that I could manage 25-30 sprites at 60 fps plus the overhead (score string, joy/kbd/sound) but maybe there seems to be room to do a bit more.. those faster-to-draw shots really help to crowd the display
I also realized that I always assumed as a standard for 64k bins that the normal cartspace would be at the bottom, the 'other' page at the 0x8000+ top. Since the VIA pin is default high maybe it makes more sense this way, I just happened to implement it the other way until now.. is there some standard ? There probably is now, since ParaJVE does like this bin..
|
|
|
Post by garryg on Mar 6, 2016 7:53:14 GMT -5
Would the symmetrical drawing trick speed up anything if you have simple shapes as enemies and player ship. Also why does the plot big draw small trick speed up drawing?
Some tests I've run seem to suggest that drawing certain objects using individual lines is quicker than using the built in ROM 'sprite' type routines.
|
|
|
Post by christophertumber on Mar 7, 2016 11:28:02 GMT -5
Would the symmetrical drawing trick speed up anything if you have simple shapes as enemies and player ship. Symmetry wouldn't speed up any drawing time, just reduce the amount of RAM required to store (X,Y) co-ordinates. Also why does the plot big draw small trick speed up drawing? I'm not exactly sure what you mean here but I'm going to assume you mean drawing with the smallest possible scale and largest possible vectors length. The scale is just a timer. A scale of $10 takes $10 cycles. A scale of $20 takes $20 cycles. So a line (63,63) drawn at scale $20 will be the same as a line (126,126) drawn at scale $10. Except the second line will take half as long to draw. Some tests I've run seem to suggest that drawing certain objects using individual lines is quicker than using the built in ROM 'sprite' type routines. The BIOS routines are fine for getting something up and running (they're easy to use) or for relatively simple displays but are not at all suitable for highly optimized projects.
|
|
|
Post by garryg on Mar 8, 2016 10:39:24 GMT -5
Thanks for the reply Christopher,
Looking back I got the wrong end of the 'symmetrical drawing' conversation, and couldn't figure out how that sped things up - but it doesn't, my bad. The scale timer makes perfect sense when you explain it like that. I'd been doing this, and getting better results, without really understanding why, which was bugging me.
And, yes the BIOS routines are slow when trying to plot a lot of small objects. I was looking at eventually doing VecWars2, as I have some time on my hands lately. The original was one of the first 'complete' (e.g. beginning, middle, end) games I wrote for the Vectrex, and I used the ROM routines exclusively. I'm planning on pushing the concept a bit further with the second one. So if anyone has any links to good references/techniques for shifting graphics fast, or would just like to say what they liked and didn't like about the original VecWars, now's the time!
|
|
|
Post by pcenginefanx on Jun 4, 2016 19:20:25 GMT -5
Is it possible to add the scoring & high score list back into the sd.bin so that it's a little more complete?
Quite ace that you can fight against the end-stage boss. I, too, have noticed after your fightercraft is destroyed, it's truly game over and have to hit the reset button to begin a new gaming session. Is it possible to add some lives and still respawn at the same spot where you last died?
Thank you for your time & consideration,
PC Engine Fan X! ^_~
|
|