Millipede

I can’t believe I haven’t posted about this here. I programmed a game for the VZ200 using TRSE!

Millipede for VZ200

It was quite a lot of fun to do. It also motivated me to provide a lot more library support for the VZ200. I ported all of my Foxglovz game library for the VZ to TRSE since both are just Assembly calls.

Millipede is written in Turbo Rascal’s Pascal-like language with calls to Assembly to make things fast and to interact with the VZ memory.

I always loved Centipede and there was never one made for the VZ200. Greg Dubois — who made a lot of arcade ports for the VZ200 and TRS80 — said he wrote “Insect Frenzy” for the TRS80 which is basically Centipede, however he didn’t make a port for the VZ200.

It was really interesting to do and took a while due to creating new Assembly code and trying to make it work as close to the original Centipede game’s mechanics as possible.

I actually designed all the graphics in my Paintyx program I wrote for the VZ200 which lets you design graphics on the VZ and export ‘sprite’ data then another program, Spritex reads the values and displays them on the screen in Hex or Decimal. However, I later wanted to make some changes as I’d made the spider and scorpion smaller (4 pixels high) to be more in line with the mushrooms.

I already had a copy of Aseprite. Shallan50k had talked about using this to design sprites for the Commodore 64 and he’d needed some new sprites, so I bought it on Steam and made some sprites for him.

I figured there must be some way to export the sprite data since it’s platform-independent and I could surely use this to make sprites for the VZ200. Well, after reading some exporting code for the GameBoy I found online I managed to cobble together a plugin for Aseprite to convert Aseprite sprite data to data I could use on the VZ200. I mentioned it on the TRS80 CoCo Facebook page since their platform has the same graphics chip and could possibly use it. They advised of the style of text their assembler uses and so I added an option to export for that platform as well.

Now I can design graphics for the VZ200 with a professional sprite editor. Way cool! It also helps with testing animations as you can step back and forwards through sprite frames to see what it looks like. You can also set it to animate and play the animation onscreen to see if it looks good. I used it to design all the graphics again so I could output it all in one go. Here’s an example:

bigSprites: array[] of byte = (000, 000, 000, 062, 105, 188, 195, 170, 195, 012, 000, 048, 012, 000, 048, 050, 105, 140, 051, 170, 204, 003, 000, 192, 003, 000, 192, 014, 105, 176, 014, 235, 176, 012, 195, 048, 012, 000, 048, 050, 105, 140, 051, 170, 204, 003, 000, 192, 204, 204, 048, 048, 048, 204, 013, 220, 012, 003, 255, 240, 204, 204, 000, 048, 048, 012, 013, 220, 051, 003, 255, 195, 204, 204, 060, 048, 048, 003, 013, 220, 060, 003, 255, 192, 204, 204, 012, 048, 048, 051, 013, 220, 048, 003, 255, 192, 012, 051, 051, 051, 012, 012, 048, 055, 112, 015, 255, 192, 000, 051, 051, 048, 012, 012, 204, 055, 112, 195, 255, 192, 060, 051, 051, 192, 012, 012, 060, 055, 112, 003, 255, 192, 048, 051, 051, 204, 012, 012, 012, 055, 112, 003, 255, 192, 204, 195, 051, 055, 060, 220, 055, 060, 220, 204, 195, 051, 012, 195, 048, 003, 125, 192, 012, 195, 048, 000, 000, 000, 000, 195, 000, 000, 060, 000, 000, 195, 000, 000, 000, 000, 000, 000, 000, 000, 060, 000, 000, 000, 000, 000, 000, 000, 128, 128, 136, 038, 038, 096, 009, 152, 152, 034, 002, 002, 002, 002, 000, 009, 152, 136, 034, 038, 096, 000, 128, 128, 000, 128, 000, 002, 038, 000, 000, 152, 128, 000, 002, 000, 000, 000, 000, 000, 136, 000, 000, 034, 000, 000, 000, 000);

You can also export as Hex or Decimal, but I just use Decimal cos why not?! 🙂

Video of Millipede

You can download and try out Millipede from my itch.io site or link from BlueBilby.com The code is also available as sample code when you download TRSE. I didn’t separate the different parts into files so it’s just one .ras file, but my next project features different files to make reading it all a bit nicer.

Leave a Comment


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

This site uses Akismet to reduce spam. Learn how your comment data is processed.