Jump to content
IGNORED

Time Pilot demo


retroclouds

Recommended Posts

You're so kind ... thanks a lot again ... 

I just compiled the source pgm in the .zip directory tms9900 and it works perfectly like tpilot1.obj in the same directory...

Now it's up me to understand the code (line by line :( ) that will be an adventure... 

Thanks you so much again for this very good example of game template ...

I never thought that the TI99 would be able to make similar games in a similar graphics mode ... I am from the 80s and my memory of the TI99 after hours and hours of typing programs I found myself with games with jerky movements and fluidity of a snail ... now 30 years later I want to work hard to understand what it meant to make a real video game on the TI99 ... it takes patience but I will succeed ....
Thanks from an old TI99 enthusiast ..

Any other suggestion, recommendation, book, listing , example or diagram that comes to your mind is absolutely welcome

Get in touch

Francesco

TPILOT4.obj TPILOT4_ListingFile.lst

  • Like 3
Link to comment
Share on other sites

3 hours ago, Asmusr said:

If you're looking for examples, the source code for several of my games is in github. Here is the code for Bouncy's obstacle course, for instance:

https://github.com/Rasmus-M/obstacle

I have attached the game in case you haven't seen it.

obstacle-8.bin 16 kB · 2 downloads

a Sort of TI99 source code bible... :) ... thank you so much 

 

Edited by whoami999ster
Link to comment
Share on other sites

Not trying to sound like an a** but my intention was to create a Time Pilot version that is more true to the arcade version and superior to the colecovision version. Think (hope) that showed in the demo a little bit. 

 

Always thought we can do better than the stock colecovision version (which is understandable considering the ROM size they used).

If I understand opcode correctly, he is/will be working on an arcade conversion for the colecovision with superb quality.

 

  • Like 4
Link to comment
Share on other sites

5 hours ago, jstimson said:

I assume everyone has looked over at the Colecovision version of Time Pilot.  Given it uses the same video chip as the TI, it shows what could be done.

 

 

 

I love you guy but nothing comparable with the version of Retroclouds ... did you notice the difference ?!? .... one is colecoxyz and one is TI99 arcade like... 

Link to comment
Share on other sites

  • 1 year later...
On 10/6/2020 at 7:30 PM, retroclouds said:

Not trying to sound like an a** but my intention was to create a Time Pilot version that is more true to the arcade version and superior to the colecovision version. Think (hope) that showed in the demo a little bit. 

 

Always thought we can do better than the stock colecovision version (which is understandable considering the ROM size they used).

If I understand opcode correctly, he is/will be working on an arcade conversion for the colecovision with superb quality.

 

Hello Retroclouds 

guess whos back :)

 

sorry for disturbing you again , I'm trying to evolve your demo in XB256 ... I'm fine with the movement of the fighter but I'm struggling with fire ... how did you implement it? I know that probably you forge everything but even some hits are welcome

Just to explain my issue :

1. how did you managed the 3 bullet barrage vs. single bullet 

2. how did you managed the bullet sprite deletion

3. how did you manage more than 4 sprite on the same row !!!!!!!! I getting crazy

 

consider I'm developing in EXT BASIC and not in assembler  so just the theory on how did you implement such effect would help

 

Thank a lot in advance for your help 

Ciao

   

TIPILOT_SPRITE ON THE SAME ROW.png

Edited by whoami999ster
image added
  • Like 1
Link to comment
Share on other sites

9 hours ago, whoami999ster said:

Hello Retroclouds 

guess whos back :)

 

sorry for disturbing you again , I'm trying to evolve your demo in XB256 ... I'm fine with the movement of the fighter but I'm struggling with fire ... how did you implement it? I know that probably you forge everything but even some hits are welcome

Just to explain my issue :

1. how did you managed the 3 bullet barrage vs. single bullet 

2. how did you managed the bullet sprite deletion

3. how did you manage more than 4 sprite on the same row !!!!!!!! I getting crazy

 

consider I'm developing in EXT BASIC and not in assembler  so just the theory on how did you implement such effect would help

 

Thank a lot in advance for your help 

Ciao

   

TIPILOT_SPRITE ON THE SAME ROW.png

 

oh yes, that was a long time ago, I think about 10 years or more.

Even if you are not into assembly language I suggest you take a look at the code. 

Tried my best to document the code on to what I was doing. 

 

Anyway, the “secret” is that the bullets are not sprites. They are just plain characters that get redefined on the fly.

Basically there is a region in RAM where I draw the bullets and this gets copied to VDP memory. 

Repeat this process multiple times per second putting the pixels on a different Y,X coordinate and you get the illusion the bullets are moving.

 

 

 

 

  • Like 1
Link to comment
Share on other sites

6 hours ago, retroclouds said:

Anyway, the “secret” is that the bullets are not sprites. They are just plain characters that get redefined on the fly.

Basically there is a region in RAM where I draw the bullets and this gets copied to VDP memory. 

Repeat this process multiple times per second putting the pixels on a different Y,X coordinate and you get the illusion the bullets are moving.

Now I am curious about why you did it this way versus using a sprite.

Link to comment
Share on other sites

On 11/16/2021 at 8:01 AM, retroclouds said:

 

oh yes, that was a long time ago, I think about 10 years or more.

Even if you are not into assembly language I suggest you take a look at the code. 

Tried my best to document the code on to what I was doing. 

 

Anyway, the “secret” is that the bullets are not sprites. They are just plain characters that get redefined on the fly.

Basically there is a region in RAM where I draw the bullets and this gets copied to VDP memory. 

Repeat this process multiple times per second putting the pixels on a different Y,X coordinate and you get the illusion the bullets are moving.

 

 

 

 

LOL You cheat me! ... do you think that this trick could be applied to XB256 ... and then how to manage the collision with enemy ? I guess that my trial will stay only an exercise ... too many sprites needed ... and full the sprite sequence of the fighter is too "heavy" to manage in XB256 even after compiling.

What's your general opinion ? do you think that TI99 is able to "manage" a game like that even with some simplification ? 

 

your opinion would be very appreciated ... 

 

I manage the "sequence" of the fighter in a matrix with all the characters definition and then based a current frame variable I use a CALL PATTERN statement for sprite visualization ... but everything seem to be too slow ... any suggestion?

 

... and thanks a lot for your patience :)

 

here enclosed a short video (make for our dear Ciro Barile) 

 

Edited by whoami999ster
errata corrige
  • Like 1
  • Thanks 1
Link to comment
Share on other sites

2 hours ago, whoami999ster said:

do you think that this trick could be applied to XB256

I would say "yes," with the caveat that, and the caveat that I am only learning XB256 thanks to @Retrospect, that it might not work exactly as with raw assembly.  As for collisions, I cannot recall if COINC can test for collision with background on the 9918A.  If not, then you have four values to start with: X,Y of the bullet tile and X,Y of the ships. 

Every time you move a ship, you check the rough closeness to a bullet tile (or the other way around if there are more bullets than ships, to make a search quicker.) If a ship is close, then you start a granular watch for each movement of the ship and bullet.

 

...just thinking out loud...

 

Time Pilot is a pretty intensive game -- a shittonne of bullets and ships on-screen at once. Fetching info from VDP RAM might be costly. I was also thinking of a small table of occupied X,Y coordinates to make more immediate comparisons, but I am not certain this approach would be any better than the live coordinates of the individual objects. Especially consider the stack is still in VDP RAM, so GCHARing versus variable retrieval.

 

Something else which just hit me is that as your ship flies around and the screen scrolls, bullet movements are commensurate to the screen scroll.  Thus, pre-rendered bullet graphics do not fit that paradigm unless you scroll the screen in tiles rather than pixels.  Might make for more difficult collision calculations, as well.

 

Link to comment
Share on other sites

1 hour ago, Asmusr said:

@retroclouds It's a brilliant demo, but what's the reason you didn't use bitmap mode? I believe it would have been a lot simpler to draw the shots if you weren't limited to 256 characters, and maybe you could have drawn more of the player ship as characters?

 

Thanks.

 

The simple reason is that back then I didn’t know enough about bitmap mode to seriously consider implementing Time Pilot using it. Best approach would probably have been to do more proof-of-concept things before starting the actual implementation, but yeah I was kinda pleased how far I got before I lost interest.

 

I’m sure that with the 9918VDP a real good conversion of the Time Pilot arcade game is possible on the TI-99/4a.

Heck, with your skills and the experience you gained with your previous Ti-99/4a games I can see an almost arcade perfect Time Pilot.

  • Like 1
Link to comment
Share on other sites

if something is possible only Rasmus can make it possible ... i

you destroyed me ... I think that also my trial will be a nice exercise and thta's all ... Or I will decide to semplify a lot of thighs with a low result ..

About the bullet movement I already "evolved" now I manage one bullet at time using a sprite only ... it's seems to work ... let's see ... 

 

... maybe a keyboard/joy scan with better performance would be helpful here ... maybe a assembler routine ... I will address this point in XB256 thred maybe someone will advice on it  

 

thanks once again for your patience and advice ... 

stay tuned ;) and see you soon   

  • Like 2
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...