Jump to content
IGNORED

Helifire for Colecovision


bfg.gamepassion

Recommended Posts

Hi Folks !

 

I have paused Coleco dev during 2 months ... After this long pause, i'm back in better condition to develop a new ColecoVision game : Helifire.

 

You can follow (in french) the dev process of the game at this adress :

 

http://bfg-gamepassion.blogspot.com

 

Here is in video the explanation (in french) of the water wave scrolling :

 

http://www.youtube.com/watch?v=Rtu6YPexgZ8

Link to comment
Share on other sites

It would be more optimized if you change let the NAMES table as is , and just change 2 patterns dynamically. ;)

You don't need use put_frame , just define your animation for the 2 pattern that define your wave. (that is repeated in row) ,and change dynamically the pattern definition just for these 2 patterns. As result you will have a scrolling on the entire row without changing the NAMES table on screen.

  • Like 1
Link to comment
Share on other sites

Quite interesting. :)

 

It was hard to read your source code in the video, but I think the reason why your first scrolling algorithm wasn't working is that you didn't account for "double pointers" in your call. You had one (byte*) for each tile pattern, and another (byte *) for the master list that combined all the tile patterns into a single table. So when accessing a specific tile pattern in that kind of structure, you had to do something like (* * var).

 

That's what I think anyway... :)

Link to comment
Share on other sites

It would be more optimized if you change let the NAMES table as is , and just change 2 patterns dynamically. ;)

You don't need use put_frame , just define your animation for the 2 pattern that define your wave. (that is repeated in row) ,and change dynamically the pattern definition just for these 2 patterns. As result you will have a scrolling on the entire row without changing the NAMES table on screen.

 

Very excellent idea !

 

Quite interesting. :)

 

It was hard to read your source code in the video, but I think the reason why your first scrolling algorithm wasn't working is that you didn't account for "double pointers" in your call. You had one (byte*) for each tile pattern, and another (byte *) for the master list that combined all the tile patterns into a single table. So when accessing a specific tile pattern in that kind of structure, you had to do something like (* * var).

 

That's what I think anyway... :)

 

No, i have :

 

byte pattern1[] = {1,2,1,2,...}

byte pattern2[] = {2,3,2,3,...}

 

No pointer for the animation frame but a pointer for the global animation :

 

byte *animation[] = {

pattern1,

pattern2

};

 

and put_frame(animation[0],x,y,w,h) didn't work ... And that's the same thing i use in Commando (in more complex way ...) and it works ...

 

Anyway, my last solution works, and Youki's solution is even better !!

Edited by bfg.gamepassion
Link to comment
Share on other sites

As far as I know, there is only the Arcade version of Helifire. You can play it in MAME and would be a good addition to Colecovision. Your version looks good so far and good luck to you to finish it.

 

It's unplayable under Mame :( :( There's only 2 Helicopter, and when you shoot them ... nothing more.

The only thing i have to adapt the game is the only video we can found on youtube. But the project is on a very good way ! :) :)

Link to comment
Share on other sites

bfg,

You have an earlier version of MAME. Helifire was broken as you say but it was fixed in version .141u1. Get a newer version like 142 or 143 and it will work. If you don't want to mess up your current version of MAME, just make a new folder for the newer version for that game only.

Chuck

Here's the cool bezel.

post-17328-0-98144600-1320852444_thumb.png

Link to comment
Share on other sites

Just a crazy idea ..

 

It could be cool to let the sky black and not red. And then provide an overlay with the cartridge to put on screen! (like vectrex's game) to have the same color effect than the original arcade game. (ok, the problem is to find a standard say for the overlay....)

Link to comment
Share on other sites

Just a crazy idea .. It could be cool to let the sky black and not red. And then provide an overlay with the cartridge to put on screen! (like vectrex's game) to have the same color effect than the original arcade game. (ok, the problem is to find a standard say for the overlay....)

 

I think the red looks ok it probably just needs to be a little darker like it is on the example picture above, but I don't know maybe the colecovision can't do this ?

Link to comment
Share on other sites

Just a crazy idea .. It could be cool to let the sky black and not red. And then provide an overlay with the cartridge to put on screen! (like vectrex's game) to have the same color effect than the original arcade game. (ok, the problem is to find a standard say for the overlay....)

 

I think the red looks ok it probably just needs to be a little darker like it is on the example picture above, but I don't know maybe the colecovision can't do this ?

 

He's already using dark red, the ColecoVision doesn't offer a darker red than that. At best, he could do a dithered gradient from dark red to black up into the sky.

Link to comment
Share on other sites

This version is better , i think

 

helifire2.png

 

Yeah, it's better, but then you won't have any scrolling stars in the red-to-black dithered portion, not unless the star pixels are red also.

 

Correct, but you don't need to have it here to have good rendition of the star scrolling effect.

And if really you want, you can have it anyway... use sprites for star in that area... Even if you put 8 sprites in a row (i think you really don't need to do that, 3 star in a row is enough anyway) with flickering for the stars i think the result will be correct. Just don't put Helicopter on that row..

Link to comment
Share on other sites

Is that C++ code there (1st video)? Just curious. I don't know anything myself, but I had just assumed the older systems were always programmed in assembly language. If you can use C++ (or something close) that is amazing!!!

 

You can program several of the older systems in "C". I develop most of my 7800 games in "C" (combined with an assembly language library of routines) using CC65 (visit http://www.cc65.org for more information on the other 6502 platforms supported). Anything that needs optimising gets rewritten in assembler.

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