Jump to content
IGNORED

Creating a Qix-like game for the ColecoVision


PkK

Recommended Posts

I'm currently considering writing a Qix-like game for the ColecoVision (see http://en.wikipedia.org/wiki/Qix for an introduction to Qix).

 

However there is one issue that I could not yet come up with a solution for, related to the restriction on the number of colors in the ColecoVision: With arbitrary line locations allowed, there can be the situation of filled_color next to line_color next to unfilled_color, which the ColecoVision in general cannot handle.

 

I see two possible workarounds:

 

1) Coarse-grained line position: One would not be able to draw lines at arbitrary places, but only on a 32x24 or so grind on the screen.

 

2) Do not show lines. This would allow movement of the player only along the contour of the current area (similar to the Gals Panic game), not along any previously drawn line (as in Qix).

 

Which of these would you prefer?

 

Philipp

  • Like 2
Link to comment
Share on other sites

I am confused with your question PKK. But couldn't the player, the line the player draws and the fill color of the completed box all be the same color. The background would be black and the ememy swirls could be a different color from the player.

 

I hope more people comment/offer help. Qix is a GREAT game and it would be awesome to have it for the ColecoVision.

Link to comment
Share on other sites

Isn't that how the actual Qix arcade game works, with the player staying along the perimeter of already-defined blocks?

 

It seems I remembered wrongly (maybe from playing some other Qix clone: I thought the player was also allowed to move along the borders between old blocks). That makes implementing the game a lot easier.

 

Philipp

  • Like 1
Link to comment
Share on other sites

I've been experimenting a bit. Here's an early techdemo (no enemies, no score, when you touch your styx the game just stops, same for some exception conditions, not yet optimized for speed, qix doesn't move, etc). But the basic thing is there: Make lines and have the non-qix part filled.

 

Philipp

Ȼyx.rom.gz

  • Like 2
Link to comment
Share on other sites

Another small update, this time with a moving Qix, that can destroy Stix. The Qix in this demo is the type I will use for advanced levels, earlier levels will use a more harmless Qix (the final game will have Sparx type enemies, too, so Qix shouldn't be too dangerous by itself).

 

Philipp

Ȼix.rom.gz

Edited by PkK
  • Like 1
Link to comment
Share on other sites

Another update. This version already has all the basic gameplay.

 

There's Qix and Sparcs. When enough of the area is filled, you get to the next level (Qix gets a bit more active in higher levels, and there are more Sparx).

 

Still missing:

* Difficulty selection (currently always easy - you go to the next level when 50% of the area are filled).

* Two-player mode

* Multiple lives - dying currently halts the game

* Game end screen

* Interlevel screen

* Score keeping

 

It needs some genral polish, and probably some bugfixes, too.

 

Philipp

Ȼix2.rom.gz

  • Like 1
Link to comment
Share on other sites

Nice effort. I managed to stomp a bug after filling an area appeared a horizontal line in the top of block covering qix and I've won.

 

I think it would be better if movement could be faster.

 

It seems there was a bug in a corner case in the detection of the polygon in which Qix is in. The attached version should have it fixed.

 

Philipp

Ȼix3.rom.gz

  • Like 1
Link to comment
Share on other sites

Wow! you're fast :)

 

I've tested it again and so far I've been able to replicate the case drawing blocks over the right side (qix_test_2)

 

Also at some point the qix got up to top-left screen without touching me and the game ended (qix_test_1)

 

I hope this helps you.

post-30245-1143_thumb.gif

Link to comment
Share on other sites

Also at some point the qix got up to top-left screen without touching me and the game ended (qix_test_1)

 

Which emulator are you using? I see that there are two vertical black bars in your image, one in the upper right, isolated from the rest of the black area. The other in the upper left, attached to the black main area. The latter is what probably causes this bug: The black bar is drawn over part of the border, which means the Qix can pass through the border and reach a non-black pixel that is not part of the border (and concludes that it is part of the Stix). I do not see these two black bars (I use mess 0.146 on Debian GNU/Linux).

 

Philipp

 

Edit: I now also tried Meka 0.70, and couldn't reproduce the issue there either.

Edited by PkK
Link to comment
Share on other sites

I've been testing with a private emulator that I've made for my use.

 

I've activated a feature to fill VRAM with 0x01. Your ROM doesn't init that zone, you can test it with a real Colecovision (you'll see some trash)

 

I like very much the new speed, it's just right :)

Link to comment
Share on other sites

The best and most complete emulator to use is BlueMSX. If you use MESS, use the ADAM emulation (even for playing ColecoVision roms) as it is more complete than the ColecoVision only emulation that MESS provides. I haven't kept up with MESS in quite a while (think since v0.140) so things might have progressed as far as the CV emulation and I recall someone mentioning that ADAM emulation was broken somewhere around v0.141 or v0.142... but again, you'll have to experiment seeing as I haven't kept up to speed on newer releases.

Edited by NIAD
Link to comment
Share on other sites

I've been testing with a private emulator that I've made for my use.

 

I've activated a feature to fill VRAM with 0x01. Your ROM doesn't init that zone, you can test it with a real Colecovision (you'll see some trash)

 

I like very much the new speed, it's just right :)

 

Ok, this bug is fixed now. There's probably more, though.

 

The best and most complete emulator to use is BlueMSX. If you use MESS, use the ADAM emulation (even for playing ColecoVision roms) as it is more complete than the ColecoVision only emulation that MESS provides. I haven't kept up with MESS in quite a while (think since v0.140) so things might have progressed as far as the CV emulation and I recall someone mentioning that ADAM emulation was broken somewhere around v0.141 or v0.142... but again, you'll have to experiment seeing as I haven't kept up to speed on newer releases.

 

Which parts are (or were) missing in MESS in the ColecoVision emulation?

 

Philipp

Ȼix5.rom.gz

Link to comment
Share on other sites

Which parts are (or were) missing in MESS in the ColecoVision emulation?

I'm sorry to say that I'm not really sure especially after not following MESS releases for quite some time. I do recall a past discussion where it was stated that when the ADAM emulation was vastly improved a side affect was that the CV emulation under ADAM reaped the benefits as well and had surpassed the separate CV emulation.

Link to comment
Share on other sites

Very good progress! :)

 

Finally I've discovered how to replicate the bug of horizontal line after filling a block. :)

 

At start just move to right and start a block upwards, move to right to finish and keep control pointing to up while block fills up: a magical horizontal line will appear.

 

Also happens with BlueMSX.

 

I've made an animated GIF recording to show it to you. I hope this helps.

post-30245-39946_thumb.gif

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