Jump to content



2

Shunting puzzle for the ColecoVision


15 replies to this topic

#1 PkK OFFLINE  

PkK

    Chopper Commander

  • 208 posts

Posted Sun Oct 18, 2009 7:18 AM

Some time ago I created a simple shunting puzzle game (see http://www.pdroms.de/files/2177/ for screenshot and ROM).

I now consider releasing this game on cartridge.

Compared to the version downloadable at the linka bove I already made some changes:

- Replaced the music by tunes from railroad-themed songs.
- Added another level.
- Some minor improvements (small speed improvement, minor graphics changes).

What other features would you wish for in a version released on cartrige?

Philipp

#2 newcoleco OFFLINE  

newcoleco

    Stargunner

  • 1,053 posts

Posted Sun Oct 18, 2009 6:11 PM

I've tried the ROM file and I still don't know why BlueMSX can't handle it.

I do play puzzle games, I'm a fan of brain teasers and puzzles in general, but at the same time we are talking here about a videogame cartridge. The first thing I want to know is : what is the replay value of a cartridge version of this puzzle game? If there is no reply value, it's then a point to work on before considering a cartridge format. If there's enough rom space, try adding a bonus game and/or a storyline with cute pictures if you can.

#3 Pixelboy ONLINE  

Pixelboy

    River Patroller

  • 3,598 posts
  • Location:Montreal, Canada

Posted Mon Oct 19, 2009 7:06 PM

View Postnewcoleco, on Sun Oct 18, 2009 6:11 PM, said:

I've tried the ROM file and I still don't know why BlueMSX can't handle it.
Tried it with BlueMSX myself, and I can confirm that it doesn't work. It works no better with the version of Meka I have installed here. Not only are the tile graphics completely garbled, but the decoupling button doesn't seem to work (unless I'm doing something wrong?). I hope you can fix this under emulation, because this looks fun! :)


Quote

I do play puzzle games, I'm a fan of brain teasers and puzzles in general, but at the same time we are talking here about a videogame cartridge. The first thing I want to know is : what is the replay value of a cartridge version of this puzzle game? If there is no reply value, it's then a point to work on before considering a cartridge format. If there's enough rom space, try adding a bonus game and/or a storyline with cute pictures if you can.
Replay value is a good point. If it was me, I would work on some kind of randomized level generator. :)

#4 PkK OFFLINE  

PkK

    Chopper Commander

  • 208 posts

Posted Tue Oct 20, 2009 11:46 AM

Well, for replayability so far I have the random starting positions of the wagons. However random tracks would probably add a lot to replayability.

I usually use mess for testing my .rom files before releasing demos, etc, but I agree that I should do testing on other popular emulators (VColeco, Meka, BlueMSX), too.

Philipp

#5 Bruce Tomlin OFFLINE  

Bruce Tomlin

    River Patroller

  • 3,531 posts
  • CD C9 01
  • Location:Austin, TX

Posted Tue Oct 20, 2009 4:11 PM

View PostPkK, on Tue Oct 20, 2009 11:46 AM, said:

I usually use mess for testing my .rom files before releasing demos, etc, but I agree that I should do testing on other popular emulators (VColeco, Meka, BlueMSX), too.
SDLmess is good when developing code, because you can run it from a makefile:

messpm coleco -cart ${CART} -window -keepaspect -skip_gameinfo -skip_warnings -switchres -nofullstretch &


Testing on real hardware is more important than testing various emulators. I have written code that can lock up under an emulator (some versions of MESS) but not on real hardware, presumably because of a subtle bug in how the VDP interrupt is handled.

Edited by Bruce Tomlin, Tue Oct 20, 2009 4:11 PM.


#6 dvik OFFLINE  

dvik

    Combat Commando

  • 9 posts

Posted Thu Oct 22, 2009 11:50 PM

I did some debugging and the reason why its not running properly in blueMSX (and probably Meka although I haven't really checked), is that on the TMS video chips that we based the emulation on, the VRAM address is always updating when you write to the VDP latch register (also when you write VDP registers with bit 7 set).
This 'feature' is only present in the TMS video chips and not the successor V9938. Mess may have a V9938 like emulation if it shares code between these video processors, but I don't remember since its been a while since I looked at the Mess source.

Did you run the game on a real ColecoVision or only in Mess? If it does run properly in a real ColecoVision it would be very interesting to get the model number of the video chip so I can look at whats different compared to the MSX VDP. Before I change the emulation it would be nice if you could check these two things.

Thanks,
-Daniel

Edited by dvik, Thu Oct 22, 2009 11:52 PM.


#7 PkK OFFLINE  

PkK

    Chopper Commander

  • 208 posts

Posted Sat Oct 24, 2009 8:18 AM

View Postdvik, on Thu Oct 22, 2009 11:50 PM, said:

Did you run the game on a real ColecoVision or only in Mess? If it does run properly in a real ColecoVision it would be very interesting to get the model number of the video chip so I can look at whats different compared to the MSX VDP. Before I change the emulation it would be nice if you could check these two things.

Thanks,
-Daniel

The .rom at the download link has not been tried on a real ColecoVision (it was for the PDroms competition and approaching the deadline I was running out of time). However Previous and later versions have been tested on real hardware. I will test the .rom at the download link on real CVs and report the results here.

Philipp

#8 dvik OFFLINE  

dvik

    Combat Commando

  • 9 posts

Posted Sat Oct 24, 2009 8:29 AM

Sounds very good. I will do that too, but I don't have my setup easily accessible atm. If it runs correctly on a real Coleco, I'll do some more investigations to see if there are differences in the address handling.

#9 Pixelboy ONLINE  

Pixelboy

    River Patroller

  • 3,598 posts
  • Location:Montreal, Canada

Posted Sat Oct 24, 2009 11:25 AM

View Postdvik, on Sat Oct 24, 2009 8:29 AM, said:

Sounds very good. I will do that too, but I don't have my setup easily accessible atm. If it runs correctly on a real Coleco, I'll do some more investigations to see if there are differences in the address handling.
I just tried the shunting game on a real CV, and it does not work. I get the exact same messed up graphics on-screen as I get with blueMSX and Meka.

#10 dvik OFFLINE  

dvik

    Combat Commando

  • 9 posts

Posted Sat Oct 24, 2009 2:28 PM

So it sounds like Meka and blueMSX is emulating this feature correctly then.

#11 PkK OFFLINE  

PkK

    Chopper Commander

  • 208 posts

Posted Sun Oct 25, 2009 3:07 AM

View Postdvik, on Thu Oct 22, 2009 11:50 PM, said:

I did some debugging and the reason why its not running properly in blueMSX (and probably Meka although I haven't really checked), is that on the TMS video chips that we based the emulation on, the VRAM address is always updating when you write to the VDP latch register (also when you write VDP registers with bit 7 set).
This 'feature' is only present in the TMS video chips and not the successor V9938. Mess may have a V9938 like emulation if it shares code between these video processors, [...]

Thanks a lot for looking into this. Your description made finding the bug in my code trivial. Looking at the level loading function I used in the version I submitted to PDRC one can see that it had the calls to cv_set_write_vram_address() and set_screen_active() swapped:

void load_level(const struct level *restrict l)
{
	uint_fast16_t i;

	current_level = l;
	tracks = l->tracks;
	load_data(PATTERN, l->pattern, 6144);
	load_data(COLOR, l->colors, 6144);
	cv_set_write_vram_address(IMAGE);
	cv_set_screen_active(false);
	for(i = 0; i < 768; i++)
		cv_voutb(i % 256);

	for(i = 0; i < MAX_TRACKS; i++)
		track_states[i] = 0;

	(*(l->init))();
}

Philipp

P.S.: Thanks, Daniel for trying the ROM on real hardware (I don't have a TV tuner nearby at the moment, so I couldn't have done this before next week).
P.P.S.: Looking through the TMS 9918 datasheet I didn't notice this (unlike the well-known interference of status register reads with writes). So this seems to be an undocumented feature (which are common on this chip anyway).

#12 lucifershalo OFFLINE  

lucifershalo

    River Patroller

  • 2,366 posts
  • Location:Belgium

Posted Mon Nov 8, 2010 2:30 AM

any news about this game?

#13 PkK OFFLINE  

PkK

    Chopper Commander

  • 208 posts

Posted Sun Nov 21, 2010 4:53 AM

View PostPixelboy, on Mon Oct 19, 2009 7:06 PM, said:

If it was me, I would work on some kind of randomized level generator. :)

Well, randomizing the track layout would be both difficult to do and hard to get right (especially making the levels neither trivial nor unsolveable). However the wagon's starting positions are randomized in the Inglenook and Timesaver levels.

Philipp

#14 PkK OFFLINE  

PkK

    Chopper Commander

  • 208 posts

Posted Sun Nov 21, 2010 4:54 AM

View Postlucifershalo, on Mon Nov 8, 2010 2:30 AM, said:

any news about this game?

It has four levels now (though Inglenook and Timesaver are still the most interesting). Some bugs have been fixed. I intend to release it next year.

Philipp

#15 newcoleco OFFLINE  

newcoleco

    Stargunner

  • 1,053 posts

Posted Sun Nov 21, 2010 2:36 PM

View PostPkK, on Sun Nov 21, 2010 4:54 AM, said:

It has four levels now (though Inglenook and Timesaver are still the most interesting). Some bugs have been fixed. I intend to release it next year.

Philipp
That's great news! Any chance to see how the new levels looks like? (teaser?)

#16 PkK OFFLINE  

PkK

    Chopper Commander

  • 208 posts

Posted Wed Nov 24, 2010 4:06 AM

View Postnewcoleco, on Sun Oct 18, 2009 6:11 PM, said:

I've tried the ROM file and I still don't know why BlueMSX can't handle it.

I do play puzzle games, I'm a fan of brain teasers and puzzles in general, but at the same time we are talking here about a videogame cartridge. The first thing I want to know is : what is the replay value of a cartridge version of this puzzle game? If there is no reply value, it's then a point to work on before considering a cartridge format.

Well, the Inglenook and Timesaver levels have replay value due to the randomized starting configuration. The others don't (or at least not much, you'll probably want to play them a few times until you've found the optimal solution).

Quote

If there's enough rom space, try adding a bonus game and/or a storyline with cute pictures if you can.

Currently there is no ROM space left. I could probably get some by adding an indirection in the graphics representation (or by another year or so of sdcc improvements). However currently I'd rather use my time to improve BB (maybe adding a third, randomized level set, to the existing two ones there).

Philipp




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users