bfg.gamepassion #1 Posted November 6, 2011 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 Quote Share this post Link to post Share on other sites
youki #2 Posted November 6, 2011 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. 1 Quote Share this post Link to post Share on other sites
Pixelboy #3 Posted November 6, 2011 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... Quote Share this post Link to post Share on other sites
bfg.gamepassion #4 Posted November 6, 2011 (edited) 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 November 6, 2011 by bfg.gamepassion Quote Share this post Link to post Share on other sites
bfg.gamepassion #5 Posted November 7, 2011 Wip of the day : http://www.youtube.com/watch?v=JhnabiVJwZo There's slowdown on wave 2 when the player shoot ... Surely collision detection issue. Note that the goal is to have 2 player at the same time playing on the screen if possible. 5 Quote Share this post Link to post Share on other sites
Yurkie #6 Posted November 7, 2011 Looking good. Thanks for the wip video. Quote Share this post Link to post Share on other sites
ChuckH #7 Posted November 8, 2011 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. Quote Share this post Link to post Share on other sites
bfg.gamepassion #8 Posted November 9, 2011 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 ! :) Quote Share this post Link to post Share on other sites
ChuckH #9 Posted November 9, 2011 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. Quote Share this post Link to post Share on other sites
bfg.gamepassion #10 Posted November 9, 2011 My god, you are right !!!! I sure i had test a new version of Mame last week ... But i haven't put it in a new folder, may be i've lanched the bad executable. So yes !! It's playable !! THANKS ! Quote Share this post Link to post Share on other sites
youki #11 Posted November 9, 2011 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....) Quote Share this post Link to post Share on other sites
ColecoDan #12 Posted November 9, 2011 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 ? Quote Share this post Link to post Share on other sites
Pixelboy #13 Posted November 9, 2011 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. Quote Share this post Link to post Share on other sites
Yurkie #14 Posted November 9, 2011 I wouldn't worry about the sky. If anything, change the player submarine to black. Quote Share this post Link to post Share on other sites
youki #15 Posted November 9, 2011 May be something like that. Quote Share this post Link to post Share on other sites
retroillucid #16 Posted November 10, 2011 May be something like that. Top part look excellent ..... but I would not change the water part though Quote Share this post Link to post Share on other sites
Pixelboy #17 Posted November 10, 2011 Top part look excellent ..... but I would not change the water part though Agreed. Quote Share this post Link to post Share on other sites
Yurkie #18 Posted November 10, 2011 May be something like that. As much as I love your work youki, I don't like the look of that mock-up. Quote Share this post Link to post Share on other sites
youki #19 Posted November 10, 2011 May be something like that. Top part look excellent ..... but I would not change the water part though Yes, it is what i was thinking just after having posted. Or may be, keep the light / Dark blue part at the bottom but let the darker part (blue/black) only blue . Quote Share this post Link to post Share on other sites
ColecoDan #20 Posted November 10, 2011 The sky part is awesome, the water part is confusing. Cool to see it looking more like the picture of the game though. Quote Share this post Link to post Share on other sites
youki #21 Posted November 10, 2011 This version is better , i think Quote Share this post Link to post Share on other sites
Pixelboy #22 Posted November 10, 2011 This version is better , i think 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. Quote Share this post Link to post Share on other sites
youki #23 Posted November 10, 2011 This version is better , i think 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.. Quote Share this post Link to post Share on other sites
+wood_jl #24 Posted November 10, 2011 Very cool! 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!!! Quote Share this post Link to post Share on other sites
+GroovyBee #25 Posted November 10, 2011 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. Quote Share this post Link to post Share on other sites