Jump to content

Destroyer


140 replies to this topic

#126  

    Stargunner

  • 1,758 posts
  • Joined: 25-October 06

Posted Tue Feb 16, 2010 2:47 AM

View PostWillsy, on Tue Feb 16, 2010 12:30 AM, said:

It's surprising how compact assembly is. You should see all my Forth source, and it's <8K!
Absolutely. A little bit of fun with XB doesn’t hurt, but pure assembly beats everything. There’s often both compact and not so compact solutions with both languages. Speed is another factor.


View PostWillsy, on Tue Feb 16, 2010 12:30 AM, said:

Shame the instruction set wasn't byte oriented, like the Z80 - you'd have twice the code space in the same memory footprint... :sad:
Well, if things were only as easy as that. ;)

My Run-Length Encoding seems to be most effective being byte oriented and then having a handful of extensions. I guess this is a bit like the Z80. Implementing this on the 9900 seems like a waste of speed (being 16 bit even with the multiplexer).

I might use RLE with Destroyer.

#127  

    Stargunner

  • 1,758 posts
  • Joined: 25-October 06

Posted Mon Mar 1, 2010 6:39 AM

View Postretroclouds, on Sun Feb 28, 2010 10:02 AM, said:

I also want to thank Karsten for his work on Destroyer.
Still hoping to see a playable version in the near future, cause that game will definitely kick *butts* big time :P
Sorry for not being able to finish what I set out to do - in time. I will finish it though.

:cool:

Edited by sometimes99er, Mon Mar 1, 2010 6:40 AM.


#128  

    Space Invader

  • 15 posts
  • Joined: 21-March 10
  • Location:Seattle WA

Posted Sun Mar 21, 2010 1:19 PM

Enjoyed reading through the thread and the game certainly looks great! Can't wait to see a finished product in the future, another reason to keep a TI emulator installed!

I'm amazed at the amount of time you find to work on the project, if only my time management skills were at that level. ;)

#129  

    Stargunner

  • 1,758 posts
  • Joined: 25-October 06

Posted Mon Mar 22, 2010 12:10 AM

Thanks for the feedback and encouragement !

:)

#130  

    Moonsweeper

  • 339 posts
  • Joined: 06-March 10
  • Location:Newburgh IN

Posted Fri Jul 30, 2010 11:14 PM

Have you been able to do anymore to Destroyer?

#131  

    Stargunner

  • 1,758 posts
  • Joined: 25-October 06

Posted Sun Aug 1, 2010 2:37 AM

View Postjchase1970, on Fri Jul 30, 2010 11:14 PM, said:

Have you been able to do anymore to Destroyer?
Thanks for asking. I've been designing, redesigning, coding and testing different areas of the game.

I haven't been posting updates here, mainly because I felt there weren't much to show. I've kept an intro screen (showing up before title/menu screen) to myself. It's actually nothing, but a quick and perhaps nice effect. There's now several cloud designs and widths to choose from in later development/testing phases. I know what I want the seabed to look like (in my clouded mind), but all graphical attempts has been scrapped. I think I'll put the seabed on hold as optional since I most definitely have to use initial compression techniques to keep within the 8K limit. Some work has been done in the physics department. That's basically tuning joystick input and movement of clouds, enemies and missiles. Yes, you can outrun a sub and I think I'll keep it like that.

I would hate to have to put sound lists together manually. Almost no progress with my sound utilities. Been studying how to recreate/simulate the sound chip - leaving out noise for now. I might have to finish Destroyer with just basic beeps, and then do a second version with better sound and a few other twists.

Here's an early title screen design. It would have been possible to select a country, but I have no idea what the difference would be. The enemy (the subs) would perhaps be the Third Reich or something political acceptable.

Posted Image

:)

#132  

    Star Raider

  • 56 posts
  • Joined: 12-July 05

Posted Sun Aug 1, 2010 9:23 AM

Quote

Here's an early title screen design. It would have been possible to select a country, but I have no idea what the difference would be. The enemy (the subs) would perhaps be the Third Reich or something political acceptable.

Posted Image

:)


It was nice to see finnish flag in your title screen. :)

Country selection... maybe ships can have historical names? (one name per country) When thinking OLD computer games, it was nice to just see flag and/or name of your own country, even there wasn´t any other difference. When thinking newer games, like "The Games" series from Epyx and other companies which made olympic games games, there was no difference, you just could select your own country (if it was in the list), but that was great thing even I remember Finland was really NOT listed in every olympic game in the past.

When adding country selection, then you have to do bit of historical reading (or ask somebody) to give each country realistic enemies. Like thinking nazis, depending on the country, they were considered as "friends" or "enemy". In finnish Jatkosota (translated as Continuation War) in the forties, Germany was actually considered as both.

Edited by mäsäxi, Sun Aug 1, 2010 9:25 AM.


#133  

    Moonsweeper

  • 339 posts
  • Joined: 06-March 10
  • Location:Newburgh IN

Posted Sat Aug 14, 2010 10:04 PM

How are you scrolling the clouds? I assume some kind of bit operation on the characters. I have been trying to work something like this out but haven't had it working right and now time is tied up with work for a couple of month so have to spend what time I have on stuff I need to finish for the TI, new problem solving will have to wait.

John

#134  

    Stargunner

  • 1,758 posts
  • Joined: 25-October 06

Posted Sun Aug 15, 2010 1:11 AM

View Postjchase1970, on Sat Aug 14, 2010 10:04 PM, said:

How are you scrolling the clouds? I assume some kind of bit operation on the characters. I have been trying to work something like this out but haven't had it working right and now time is tied up with work for a couple of month so have to spend what time I have on stuff I need to finish for the TI, new problem solving will have to wait.

John
Overall I personally went through 4 stages.

1)
I never programmed this.

Take a byte from VDP RAM, shift one bit to the left, save that byte to VDP RAM.

Realising I have to get the bytes from the right side of the screen. Any bits shifted out of the byte (a register) into the Carry (status register) would be set for the next shift, moving from right to left, which might then be subtracting 8 to go to the same line in the next characters.

If this does not make sense, I'll try and do some sketches later, and finally I should be able to polish some code and publish.

2)
Take a byte from CPU ROM, shift a number of bits to the left, save that byte to VDP RAM.

Same principle as in first version. The number of bits to shift is a register counting from 0 through 7. I'm basically still wanting to scroll the screen left one bit at a time. I guess the graphical inspiration was Parsec. I used this in my Hellraiser demo.

Also I was thinking that full speed is moving left one pixel every frame update. If I wanted the scroll to be slower I just call the routine every 2nd or 3rd frame etc.

3)
This method was not fully optimized, but it's working and running nicely.

Take 2 bytes from CPU ROM, shift a number of bits, save a byte to VDP RAM.

I want to like stamp the entire cloud wherever I want. I use one major scroll register. If the cloud is like 512 pixels wide (of course only showing like 256 pixels on screen), this register is going to hold a value between 0 and 511. The 2 bytes to be taken are arranged side by side in CPU ROM. The source is like strips, destination has to be character oriented. Just going from left to right through the characters fixed on screen that make up the cloud and manipulating the patterns. Utilizing auto increment with VDP.

The scroll register is actually fixed point. The upper bits containing the value to use in the scroll routine, the lower bits being like decimals or numbers after the decimal point, though this is binary calculations. The point is not between the bytes in the word (making up the register). Let's say that the position between the bytes are 7 (counting from 0 through 15 right to left). The position I'm using then is 6. I only have to modify and decipher the scroll register once or every second frame update to get good overall scrolling.

If the scroll register is the same (ignoring the bits after the point) as before (last update), then no scroll is done.

4)
Since scrolling relatively takes a lot of time, I thought about only doing parts of the scroll every frame. What I found important to get realistic clouds or actually emulating the Parsec scroll, was to do this in a vertically manner instead of my first approach, which was horizontal. The latter made the graphics split in half often (horizontal stripes). Vertically approach make clouds shrink and expand like one pixel horizontally. Almost like viewing higher detailed clouds through a matrix (if we're being very, very nice about it and it's moving slowly and steadily (it doesn't have to)).

This is working, but still it's draft and needs optimizing and polish. As I said I will be trying to do some nice sketches to illustrate.

I'll refactor and do VDP writes using register indirect. I should be able to keep all game control in Scratchpad, so I won't move inner scroll routine to that area. I don't see any "roll out" tweaks(/tricks) yet. I'm still not sure how much any of this will help on the real hardware (and I don't even have any to test on). But I'm guessing between 10 and 200 percent increase in performance (I think Paul Urbanus said 20 percent increase for Parsec).

Movement of the subs (not sprites) is a completely different story - though it is "scrolling" also. It hasn't been fully explored yet. And there's a dark shadow of collision detection lurking here.

:)

Edited by sometimes99er, Sun Aug 15, 2010 1:42 AM.


#135  

    Stargunner

  • 1,758 posts
  • Joined: 25-October 06

Posted Fri Oct 1, 2010 2:38 AM

View Postsometimes99er, on Fri Dec 11, 2009 2:53 PM, said:

View Postretroclouds, on Fri Dec 11, 2009 9:45 AM, said:

You could have the destroyer ship being black and move it slowly from left to right over the logo.
Oh yes, that is a nice effect. Will use it in a future project.

:cool:
Okay, see use of the effect on tms9918a here:

http://www.colecovis...oll-kobashi.htm

#136  

    Stargunner

  • 1,758 posts
  • Joined: 25-October 06

Posted Mon Feb 14, 2011 6:16 AM

Just to let you know that some progress has been made after a lot of detouring. Still working on quite too many projects, but this one is now moving along nicely. Still nothing close to playable, but quite a few routines seem both robust and generic. Although I always try and read this forum on an almost daily basis, my effective, or should I say productive TI time is rather sporadic (guess that applies to everyone around here).

:cool:

#137  

    Chopper Commander

  • 225 posts
  • Joined: 06-October 09
  • Location:Italy

Posted Mon Feb 14, 2011 6:29 AM

View Postsometimes99er, on Mon Feb 14, 2011 6:16 AM, said:

Just to let you know that some progress has been made after a lot of detouring. Still working on quite too many projects, but this one is now moving along nicely. Still nothing close to playable, but quite a few routines seem both robust and generic. Although I always try and read this forum on an almost daily basis, my effective, or should I say productive TI time is rather sporadic (guess that applies to everyone around here).

:cool:



:D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D


:D :D___Wow ! it's a real nice News !___:D :D


:D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D

#138  

    River Patroller

  • 3,019 posts
  • Joined: 18-November 09
  • Location:Elizabethtown, KY

Posted Mon Feb 14, 2011 10:33 AM

Glad to see Destroyer going again!!! Yay!!! This project is quite exciting--- and I love the graphics.

Willsy--- TF is under 8k?? I thought you were bank switching--- someone told me you were using 16k. :) I can't remember who, though....

In any case-- assembly object code is certainly quite compact. :)

#139  

    Stargunner

  • 1,758 posts
  • Joined: 25-October 06

Posted Tue Aug 30, 2011 2:17 PM

Again some delightfully refreshing graphical input from UnderExtended, breathing new life into an old project.

:)

Posted Image

#140  

    Dragonstomper

  • 609 posts
  • Joined: 16-November 09
  • Location:Uzbekistan (no, really!)

Posted Tue Aug 30, 2011 2:28 PM

Have a look at scuba dive on the zx spectrum for some beautiful animated under-water graphics... ;)

#141  

    Stargunner

  • 1,758 posts
  • Joined: 25-October 06

Posted Tue Aug 30, 2011 2:37 PM

View PostWillsy, on Tue Aug 30, 2011 2:28 PM, said:

Have a look at scuba dive on the zx spectrum for some beautiful animated under-water graphics... ;)
Indeed very nice graphics. That was an 39K game. Destroyer is going to be 8K (if I can help it).

:)





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users