Jump to content
IGNORED

Time Plot WIP


artrag

Recommended Posts

4 hours ago, artrag said:

With small optimizations and a mock-up of the status bar

TimePilotTest.bin 29.01 kB · 2 downloads TimePilotTest.cfg 126 B · 2 downloads

It's looking really good.

 

I was thinking if perhaps the HUD would work better if split into two separate parts:  one row on top, the other on the bottom, concentrating the related status information in each.  That way, the player can easily narrow his focus and find the information he is looking for in an instant.  I am concerned that the full status bar with two rows together may be too dense (especially with the built-in Intellivision font, which makes most characters look similar at a glance).

 

Or maybe there's a way to render some of the status as gauges or other such iconic element that could be very easy to read during split-second decision-making.

 

I don't know, really.  It's just an idea.

 

    -dZ.

Link to comment
Share on other sites

4 hours ago, artrag said:

I will try as you say, but atm I am trying to add plane formations 

No worries, just add it to a "wish list" or "things to do if I have time and feel like it later." :)

 

I think plane formation and AI and all that other stuff is more important.

 

By the way, do you mind if I ask, how do you plan to implement plane formation?  It is a problem I have tried to address in the past via "brute force":  encoding the pattern as a sequence of instructions (e.g., delay, turn left, delay, turn right, etc.), and then relying on emergent behaviour.  So not exactly group formation, unless they start aligned first.

 

I'm sure there are more effective ways.  Just curious.

 

   dZ.

  • Like 1
Link to comment
Share on other sites

About formations, I'm still testing. The main problem is to not impact on performances, so I am trying to avoid to scan the 7 sprites find 3 or 5 empty positions to initialise as planes in formation

I'm going to implement a list of free slots for this and it implies to update the list each time an enemy/bomb dies or spawn

In attach a video (still without formations)

 

 

 

Link to comment
Share on other sites

10 hours ago, artrag said:

I will try as you say, but atm I am trying to add plane formations 

The easiest way is what I know as the "superenemy" it is simply one enemy moving, and the coordinates for several enemies are derived from this prime enemy.

Link to comment
Share on other sites

Yes, the coordinates are derived from the formation leader.

If it get hit all the followers commute to normal enemies. I did a list of sprites where the first entry is the leader. All followers in turn test the status of the leader to decide if commute to normal enemies.

Now I need to add a test in the leader code about followers. If the leader is alone it has to change to normal enemy. I could keep track of the number of followers when killed to simplify the test of the leader.

Another problem is about testing the coordinates of the followers again borders.

I  need to disable the test until they are fully on the screen or they will never appear because they start far behind the leader, outside the screen

 

Edited by artrag
typos
Link to comment
Share on other sites

1 hour ago, nanochess said:

The easiest way is what I know as the "superenemy" it is simply one enemy moving, and the coordinates for several enemies are derived from this prime enemy.

Ah, that’s how I do it too.  I was thinking of something else entirely.  I was thinking of how to implement the patterns of the leader to get something like the acrobatic movements of Galaga or Galaxian.
 

1 hour ago, artrag said:

Yes, the coords are derived from the formation leader.

If it get hit all the followers commute to normal enemies.

I did a list of sprites where the first entry is the leader. All followers in turn test the status of the leader to decide if commute to normal enemies.

Now I need to add a test in the leader code on followers. If the leader is alone it has to change to normal enemy. I could keep track of the number of followers when killed to simply the test of the leader.

Another problem is about testing the  coordinates of the followers again borders.

I  need to disable the test until they are fully on the screen or they will never appear because they start far behind the leader 

 

 

I see what you mean.

 

   dZ.

Edited by DZ-Jay
Link to comment
Share on other sites

15 hours ago, artrag said:

This is an initial attempt with 3 enemies in formation. They are in red for debuging. 

know issues:

- if the leader is alone does not return in normal mode

- followers can spawn in the middle of the screen instead of under the border

- sometime the cpu load makes the scroll jiitter 

 

 

 

TimePilotTest.cfg 126 B · 1 download TimePilotTest.bin 29.99 kB · 2 downloads

 

Hmm ... Glitch city! :grin:

 

I don't see the formation at all.  The scrolling jitters fairly often (but that can be optimized at some point), and it seems that I occasionally hit upon an "invisible" enemy or bullet, because my fighter plane explodes for no apparent reason.

 

Also, if I collide with an enemy, there is a chance that it will not explode, so then I explode again immediately upon re-spawning in the same space.

 

I'm sure you'll shake this bugs out in time.  My main problem is that I didn't notice the formation at all.

 

     -dZ.

Edited by DZ-Jay
Link to comment
Share on other sites

On 7/21/2022 at 1:52 PM, artrag said:

Wow, it seems to work very cool.  I didn't noticed glitches, but I wasn't paying too much attention -- I was focusing on the constant barrage of enemies!  (That's a testament to the exciting action-packed environment you were able to reproduce.  Well done!)

 

Here are a few general observations:

  • The fighter formation works very well, maintaining their relative positions, and scatter when the leader is killed.  That's works very well.
     
  • If the leader of the fighter formation is the last one standing, he remains in his formation pattern.  That seems odd, like a stray or lost fighter, but not necessarily an issue.
     
  • The fighter formation is a little boring, although perhaps that's too strong of a word.  It seems all they do is fly in a straight line.
     
  • The number of enemy fighters at once in your tests so far, seems rather excessive -- at least as compared to the first level in the arcade.  I think the pace of re-spawning may be a little too aggressive.  In the arcade game, they seem to pop-in in small waves no larger than four fighters at a time.
     
  • The enemy fighters seem to always go behind clouds, but the player flies above them.  In the top-down view of the play-field, this seems odd to me, since it makes the player appear to be flying higher above the enemies, yet they can still shoot at each other or crash.  The original arcade game does not seem to observe the z-axis, so that's not a problem, but it does simulate the parallax effect on the clouds:  when the clouds are higher both the enemies and player go behind them, and vice versa.

    Would it be possible to do the same thing?  I mean, not parallax scrolling, but having a z-index on the clouds so that both player and enemies go behind them or above them equally.  I know that your scrolling mechanism would make this sort of thing challenging (if not impossible).
     
  • It seems that the game world is round, yet very small:  when a fighter formation flies off the screen, if I fly in the opposite direction, I will eventually re-encounter them. :grin:  (I know it is the same formation because the alarm that announces a new formation did not play, and the number of planes is the same as I left them last.)

    This seems a little odd to me, but perhaps it is just because you haven't implemented any special A.I. for the formation that would keep it closer to the player.

    In any case, you may want to consider how to handle a fighter formation that goes out of range in a better way.  Unlike the regular enemy fighters, which are all interchangeable, the formation is unique, noticeable, and makes an impression, so the player is bound to notice if it behaves strangely within the world-space.
     
  • Most enemies seem to move in a completely random manner, which makes them appear ... stupid. :grin:  For instance, since they are spawned at the edges of the screen, most of the time, they enter the screen then turn around and go out again!  Sometimes I fly completely straight at an angle and watch all enemies at the edges of the screen pop-in and immediately pop-out and leave me along. LOL!

    I understand that, like the above, this could be because you haven't implemented a proper A.I. for them yet.
     
  • I have to say this, because I made a big deal out of it before:  in context, with most of the game elements in place, the flickering of the player over the clouds does not bother nor distract me at all.  I do notice it from time to time (although seldom), and of course, it is not ideal; but it is a rather innocuous artefact.  I can also imagine that on a console connected to a CRT television set will soften the visual artefact even more.

 

In my opinion, for the game to attain the "feel" of the original and turn from a "good" game into a "great" one, the following things need to be polished:

  • A.I. that closely resembles the aim and pace of the original.
  • A more nuanced spawning strategy.
  • Fighter formations where the leader follows the normal attack strategy.
  • Overall pacing of the game to make it feel more deliberate.

None of these things are trivial, of course, but I'm sure they will come in time.  Well done so far! ??

 

     -dZ.

Link to comment
Share on other sites

1 hour ago, artrag said:

With further fixes on formations.

Now the leader is removed when off screen and the followers keep the direction for 1 sec before disband 

Normal enemies apper less frequently 

Formation color and frequency are for testing 

TimePilotTest.cfg 126 B · 1 download TimePilotTest.bin 30.14 kB · 1 download

Looks great and works great.

 

   -dZ.

 

P.S.  I saw the background twitch with a minor glitch once or twice within a few minutes test.  Perhaps there is room to optimize the rendering or the new formation logic.

 

  • Like 1
Link to comment
Share on other sites

@DZ-Jay

I have to build lists for empty slots and active enemies to speed up the search when formation are spawned.

About the fighter and the clouds, the sole way to make it pass behind the clouds is to use two sprites and set their attributes to pass behind the backtab. It is a possibility, we will see. Maybe the game works fine even with 6 planes.

 

Link to comment
Share on other sites

3 hours ago, artrag said:

@DZ-Jay

I have to build lists for empty slots and active enemies to speed up the search when formation are spawned.

About the fighter and the clouds, the sole way to make it pass behind the clouds is to use two sprites and set their attributes to pass behind the backtab. It is a possibility, we will see. Maybe the game works fine even with 6 planes.

 

Hi, @artrag,

 

On the enemy fighters behind clouds, I'm sorry, I didn't quite understand why you need two sprites?  Obviously I do not know if this is possible, but what I was thinking is to mark the map BACKTAB data with one bit denoting the z-index for a cloud region (bits #14 and #15 are unused).  Then, update an enemy's MOB attribute register to set or clear the PRIO bit (bit #13) according to the BACKTAB z-index bit.

 

Of course, it'll require the fighter to be tested against its underlying background card, reading its z-index and applying it to the sprite attributes, which may be expensive.  Unfortunately, the unused bits in BACKTAB do not align with the PRIO bit, but it could be done with just a shift and XOR to update the PRIO bit of the sprite, so not too bad.

 

(Oh! I just realized that I am talking about the enemy but you probably meant the player sprite.  If so, perhaps that's why you need two sprites instead of one for the player.  But wouldn't you be able to just do the same thing as I mentioned with the enemies on the player sprite, and just not do the card multiplexing when player is behind a cloud?

 

In any case, based on what we've seen so far, reducing the enemy load by one sprite may not be a big deal.  It can still be very challenging.)

 

Of course, this is not something to worry too much about right now.  Just something to consider in the future.

 

Anyway, I'm glad my feedback is at least worth considering, and thank you for that. :)

 

     -dZ.

Edited by DZ-Jay
Link to comment
Share on other sites

37 minutes ago, artrag said:

@DZ-Jay

I was thinking about the fighter, in order to make it pass behind the clouds (all clouds, same as the enemies). 

About probing the backtab under the sprite to change the prio bit according to the background, we will see. For now I am already exceeding the frame time.

 

I understand, no worries.  There are other priorities at the moment. :)

 

Also, perhaps we could go back to the rendering and collision routines and see if there is more room for micro-optimization.  Let me know if I can help in some way.


   Cheers!

    dZ.

Link to comment
Share on other sites

Plays awesome, excellent work!

 

I'm not familiar with this game at all,

but it  reminds me of asteroids.

 

Changing direction is very intuitive and easy, a huge plus!

 

Only nit I noticed is that the direction also changes when pressing some of the keypad keys.

Not a big deal, as the user can just avoid doing that.  But I wanted to point it out

in case it was not intentional.

 

A "quick acceleration burst" button would be a neat addition.

Link to comment
Share on other sites

The controllers do not lend themselves to distinguish between keypad, disk and buttons.

About adding a turbo button, it is something possible and I was thinking about it as well. The scrolling would keep the peace and the code for relative movements would work as is. 

The fact is that the original game does not have this feature.

I would like to port as many game elements as possible before adding extras.

There are many missing details to complete the first level and 4 other levels to be implemented (in total 5 levels, 1910,1940,1970,1985 and ufo in  the space).

 

 

Link to comment
Share on other sites

1 hour ago, Peripheral said:

Plays awesome, excellent work!

 

I'm not familiar with this game at all,

but it  reminds me of asteroids.

 

Changing direction is very intuitive and easy, a huge plus!

 

Only nit I noticed is that the direction also changes when pressing some of the keypad keys.

Not a big deal, as the user can just avoid doing that.  But I wanted to point it out

in case it was not intentional.

 

A "quick acceleration burst" button would be a neat addition.

It's an old 1980s arcade game by Konami.

 

I think @artrag is trying to reproduce it faithfully, using the ColecoVision port as a model.  I do like the idea of a "burst" button for afterburners. :)

 

 

   -dZ.

 

Edited by DZ-Jay
  • Thanks 1
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...