Vectrex Aklabeth (7)

Optimizing is finished… with the exception of some odds and ends, that I did not explicitly mention.

There is one last thing I want to share. The title screen!

Following is the “original”:

I converted that selfsame image using mighty VIDE! It took me about the better part of 1/2 an hour. I totally like the resulting vector image!

You start vecci and on the 2d-Tool tab you press the “image to vector” button. On the opened dialog press “load image file”.

After some adjustments, the dialog looks more or less like:

export to vecci

Pressing “to vecci” – well, transports the vectorlist to vecci.

You can not use such an image out of the box, as seen – the vectorcount exceeds 600 – we can not display it, and even if we could, it looks bad.

Now we have to invest some manual labor. First we remove all “writings”, than we remove all “double” vectors (this is due to inner workings of potrace, sometimes you can use autotrace option to make them disappear – sometimes not).

After this manual labour – the image looks better – but not good:

Removed “double lines”

This took me about 10 minutes. It reduced our vectorcount to half – we are at about 350, next we press the button “connect where possible”. Not unexpected – this connects all vectors that share the same coordinates.

Again manual labour:

  • (mode point) connect dots which are not connected yet, but should.
    Switch “continues mode” on, and select the two vector ends you wish to join. From the popup menu select “join selected here”.
  • (mode vector) remove vectors, till you reach a count that might be possible for the vectrex to draw. For now try 200 vectors.
    We remove vectors by “eye sight” – select two neighbouring vectors and chose from the popup menu “remove middle point” – and voila – one vector removed.
    We do this with the (more or less) straight lines!
connected vectors/removed inner points

Another 10 minutes gone by – but the vector count is now nearly 200 (207 to be exact).
As you see some features are hardly discernable anymore, the last step of our manual labour.

Redraw finer features:

  • straighten or draw new the “castle”
  • make the dragon dragon like
  • give the mouse some “ears”
  • give the adventurer some features
after some more detail work

Finaly we press “Isidro all” and export this list as a synced list – and experiement a little with the scale factors – so the size is displayed alright – and we are still within 50Hz.

For a change – I implemented THIS draw_synced_list() function in pure “C” – and it displays within the 50Hz range.

Done!


For the moment I am finished.

Below you find version 0.9 of “my” VecAklabeth. As the version number suggests I am not 100% finished and/or content with this version. Possible things to add:

  • better intro/extro
  • some more “text” introduction, as in the later Akalabeth games
  • right now on a game over you have to do a reset – better to restart on a button press
  • some background music, like in ultima (midi like)
  • save current game to a DS2431 and/or VecFever
  • some more polishing
  • (at the moment for all of this there is only 2 kB memory left – so I need to opimize for space now!)

Thing is… it is playable now. Mentally I am for the time being “done” with it. I published this version 2 weeks ago on FB – and while there was an occoasional “nice” – it seems nobody is really all that much interested in the game, understandable for sure… as it is in many ways cumbersome and historic. But on the other hand it is a raw jewel, which grew on me – and I really like it.

For now it will be one of my “lose” ends. Perhaps this blog series might inspire or help others to do their own conversions of “good old games” :-).

Cheers!

VecAkalabeth_II.zip
Version: 0.91
Published: November 23, 2020
Tagged on:

2 thoughts on “Vectrex Aklabeth (7)

  1. Chris Parsons

    Well this is fantastic reading Malban and I’ll be trying it out shortly… I’ll be sure to feed back anything I think of/find even if you are done with it for now 🙂

  2. Peer

    Thanks again also from my side. I very much enjoyed reading all the episodes. And referring to your last sentence in the post above: Yes, this is inspiring!

    This endeavor also nicely shows, how C can be used for rapid prototyping, and how the C sources then can easily be combined with assembly subroutines when it comes to optimizing things later.

    One more comment from my side: I am still very bad at the fighting, but – when looking over my sholder – my kids very much enjoyed the grapics and the excitement of exploring a dungeon and then meeting all those monsters 🙂

Leave a Reply to Chris Parsons Cancel reply

Your email address will not be published. Required fields are marked *

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