Jump to content
Asmusr

TIX development (on hold)

Recommended Posts

Looking great! Sparks shouldn't follow you down new lines, of course. But it's really looking fantastic!

 

Share this post


Link to post
Share on other sites
13 hours ago, Tursi said:

Looking great! Sparks shouldn't follow you down new lines, of course. But it's really looking fantastic!

 

Indeed. That's the job of the fuze.

  • Like 1

Share this post


Link to post
Share on other sites

I honestly wouldn't have expected to like character-sized lines and a sprite-based Qix so much, but it looks fantastic. I'm looking forward to playing this one :)

 

  • Like 2

Share this post


Link to post
Share on other sites

Wow, Looking forward to this one!  And I agree with Tursi.

 

To fill the regions, are you using a recursive algorithm?  Or just finding x,y to x,y?  

No, I re-watched the video, you have some Non Square/Rectangle shapes, so it must be recursive.

 

I have struggled with this on the TI in XB.  Clearly you are not using XB here.  Well, maybe compiled XB?

 

  • Like 2

Share this post


Link to post
Share on other sites
5 hours ago, 1980gamer said:

Wow, Looking forward to this one!  And I agree with Tursi.

 

To fill the regions, are you using a recursive algorithm?  Or just finding x,y to x,y?  

No, I re-watched the video, you have some Non Square/Rectangle shapes, so it must be recursive.

 

I have struggled with this on the TI in XB.  Clearly you are not using XB here.  Well, maybe compiled XB?

 

Thanks. It's the recursive algorithm, but using a stack instead of recursive procedure calls. And I'm stacking a map address instead of coordinates. I'm using assembly, but it should be doable in XB. 

Edited by Asmusr
  • Like 1

Share this post


Link to post
Share on other sites

I love Qix, interesting take using tiles.  One comment, the tail of the "Tix" does not really impose any threat since it just follows the path of the head.  Maybe try a modification on the actual Qix, which was basically a line drawn between two bouncing balls (that could change direction without necessarily hitting a wall)?  Anyway, it will be neat to see how this develops.

 

  • Like 1

Share this post


Link to post
Share on other sites

I have a new video to show you:

 

 

As the video shows I have some issues with enclosed areas (loops) that are not being filled. Maybe I have to accept this as a consequence of working with characters instead of pixels? 

 

The next question is how to make the levels progressively more difficult. The arcade game has dual Qixes, more Sparx and speed-ups. I need to look into what's possible within the remaining clock cycles.

 

This game is obviously not going to be an accurate Qix clone, but I still think it shows promise. The question is how to prevent it from becoming boring after a few levels.

  • Like 6

Share this post


Link to post
Share on other sites
1 hour ago, Asmusr said:

 

This game is obviously not going to be an accurate Qix clone, but I still think it shows promise. The question is how to prevent it from becoming boring after a few levels.

Think like PacMan, have some kind of interesting load from file video sequence between each level.......

Share this post


Link to post
Share on other sites
1 hour ago, Asmusr said:

[...] The next question is how to make the levels progressively more difficult. [...]

if it can help, I remember that in various versions of Qix, when Qix touches the line that the marker is tracing, the marker explodes if it has not yet reached the destination (example in the Volfied game).

There was also the other option instead, that at the point where Qix touched the line of the marker, appears a fast fuze that wants to reach the marker to destroy it if it does not get to close in time the line, of course in case it closes then disappears.

  • Like 1

Share this post


Link to post
Share on other sites

The intro is really cool!

 

2 hours ago, Asmusr said:

As the video shows I have some issues with enclosed areas (loops) that are not being filled. Maybe I have to accept this as a consequence of working with characters instead of pixels?

I was not sure what you were talking about, but the video cleared it up (I think).  It does not matter if you are using tiles or pixels, they are effectively the same thing.  In the real Qix, I would suspect you can't make an area that consists of the border line only.  Always forcing a single tile in the middle might solve some problems.  Although, the more I think about it, there are a lot of edge cases to consider (I never thought about it that much before).  Just off-hand, you would have to prevent starting lines from any tile adjacent to a corner, and prevent something like connecting back on the starting line.

 

  +- can't start here.
  V
####
   #<- Can't start here either.
   #


  #####
  #   #
  ##### Is this possible?
    #
    #
##########

 

3 hours ago, Asmusr said:

The next question is how to make the levels progressively more difficult.

That is a hard proposition too, since the original game did not have a lot of depth either.  Faster, more things to avoid, etc. just turns up the pressure.  Some ideas taken from modern games to be addictive:

 

* Add achievements.

* Add background template rectangles / designs that you have to copy, or get more points if you manage to copy the template rectangles.

* Start with a single screen play field and introduce the scrolling / larger size over time.

* Add obstacles or unusable areas to the play field.

* Have power-ups that you have to collect in the play field.  Maybe like single-use super-speed, a spark-suppressor, super-wall (can't be killed if the Tix touches the wall while being built), etc.  Power-ups could be fixed at first, and appear / disappear later.  Maybe killing a spark (can you do that) makes a power up appear.  Maybe certain sizes areas makes power-ups appear.  A grappling-hook power up might be cool, to finish a line over a distance.

 

 

  • Like 1

Share this post


Link to post
Share on other sites

I think in the arcade game you can only start a trail on every second pixel. It's so fast it's hard to tell. But doing the same in a character based version would significantly limit the play field. It's not really a problem for the TI version, just something you need to learn to deal with when you play the game.

 

Considering how the smooth scrolling works, the only graphics I can add to the game is sprites (not characters, which are all in use). And the 4 sprites per scanline limit is already challenged when the player and the TIX are aligned. 

 

The thing I'm already doing to prevent unfilled loops is to check that you cannot move into, or closer to, one character of your own trail.

 

 

 

 

Edited by Asmusr

Share this post


Link to post
Share on other sites
26 minutes ago, Asmusr said:

I think in the arcade game you can only start a trail on every second pixel.

I just watched a bit of game play video and I'm pretty sure this is true, the draw grid is only even or odd pixels to ensure there is always at least a 1-pixel path between lines.  Also, it appears you can not connect to the "stix" (line) currently being drawn.  These two constraints significantly reduce the problems and edge cases with drawing.

 

There is an NES version too, and quite a few ports to other platforms of the era.  Might be worth looking at?

  • Like 1

Share this post


Link to post
Share on other sites

It's looking pretty cool! The non-fill case is a bit surprising... does the game realize that you finished drawing?

 

I don't have a difficulty idea, but I'd love to see the fill slowed down a bit like the arcade, I miss watching it paint. Doesn't have to be smooth - can be a random fill or a wipe, or anything, it just felt like the snap-fill lost some character. :) The rest looks fantastic!

Share this post


Link to post
Share on other sites
21 hours ago, Tursi said:

It's looking pretty cool! The non-fill case is a bit surprising... does the game realize that you finished drawing?

 

I don't have a difficulty idea, but I'd love to see the fill slowed down a bit like the arcade, I miss watching it paint. Doesn't have to be smooth - can be a random fill or a wipe, or anything, it just felt like the snap-fill lost some character. :) The rest looks fantastic!

Looking at the video again I'm not sure what goes wrong in that particular case. The general issue is that you can do this, starting from the left side:

#########################
#              OO
#              OO
#          OOOOOO
#          O    O  
#          O    O
#          OOOOOO

The loop will not be filled because when the border (#) is reached there is no space to fill to the left. 

 

You cannot do it starting from the right side, because I'm checking two characters ahead that you cannot move into your own trail. Maybe checking to the left and right as well will do the trick of preventing these loops?

 

The filling is done in CPU memory and copied to a double buffered name table, so there's no way you would be able to see it being done.

 

Edited by Asmusr

Share this post


Link to post
Share on other sites
6 hours ago, Asmusr said:

Looking at the video again I'm note sure what goes wrong in that particular case. The general issue is that you can do this, starting from the left side:

#########################
#              OO
#              OO
#          OOOOOO
#          O    O  
#          O    O
#          OOOOOO

The loop will not be filled because when the border (#) is reached there is no space to fill to the left. 

 

You cannot do it starting from the right side, because I'm checking two characters ahead that you cannot move into your own trail. Maybe checking to the left and right as well will do the trick of preventing these loops?

 

The filling is done in CPU memory and copied to a double buffered name table, so there's no way you would be able to see it being done.

 

Hmm, that is a tricky one. You may have to check, but that may also put the player in the position of being trapped because they started a line, not realizing there was not enough space to finish it.

 

You know the path of the line, right? (for the fuze?) Maybe if you can't find a fill start point, you can backtrack along the path until you find one?

 

As for the fill - the game freezes during the display of the fill. There's nothing preventing your copy from taking a few frames except more code. ;) I always liked the fill sound effects in the arcade.

 

 

Share this post


Link to post
Share on other sites
8 minutes ago, Tursi said:

Maybe if you can't find a fill start point, you can backtrack along the path until you find one?

Hmm, that doesn't seem altogether impossible.

Share this post


Link to post
Share on other sites

BTW, I tried different strategies for preventing unfilled loops today (looking ahead left and right one and two squares), and the only thing I accomplished was to clean up the code a little.

  • Like 2

Share this post


Link to post
Share on other sites
31 minutes ago, Tursi said:

As for the fill - the game freezes during the display of the fill. There's nothing preventing your copy from taking a few frames except more code. ;) I always liked the fill sound effects in the arcade.

Hey, I'm struggling for CPU cycles here. Spending them on showing progress is the last thing I want to do. ;)

Share this post


Link to post
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.

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...