A Few Revisions and Recent Progress (VIC 20 point and click engine)

June 9, 2010 at 3:09 pm | Posted in Uncategorized | Leave a comment

Let me start by updating everyone on the file format.  The file begins with the bitmap (at this point still uncompressed), from address $1100 to $1fff.  There are actually a few bytes at the end of the bitmap that I will find a use for at a later point.  After the bitmap, there are a bunch of zero-terminated arrays of pointers.  I haven’t actually implemented them yet, so order may change, but the pointers needed are:  all the BASIC related pointers (start of BASIC, start of arrays, start of variables, etc.), sprite pointers, string pointers, and object pointers.

In my last post (2 months ago to the day) I said that objects were structures of data.  Well, this has changed.  Objects now don’t actually contain the data.  They just contain the ID’s of their data.  For example, a “decoration” object contains the ID of its sprite and the ID of its string.  IDs were already a central part of the engine for sprite handling, so it made perfect sense to do it this way.  The advantage is that the object can be altered in BASIC just as easily as any other sprite or string.

In my last post I also said that the engine would support multi-color graphics.  It would be simple for me to implement this feature into the engine, but it is not so easy to support this feature in all of the editor’s procedures.  For this reason, I’ve decided to not worry about multi-color graphics.  The fact is, it is very difficult to produce nice mulit-color pictures on the Vic-20 anyway.

Okay, now to discuss progress that has been made.

There’s actually not a ton left to do before the engine can be tested in a relatively complete state.  I’ve created functions that will load all but the BASIC pointers to memory so that they can be handled by the rest of the engine.  Events are not correctly working yet, but I should mention that I’ve beefed up the system for event handling.  Sprites are now capable of triggering events.  This adds some complexity to event handling, but it shouldn’t cause any noticeable slowdown since events are not at all time critical.

Sprites now have transparency, which was a major flaw as of my last post.

I’m not sure when I started working on the editor, but I don’t think I had even begun as of March 9th.  It is now probably 60% the size of the entire engine, so that progress cannot be overlooked.  The editor is capable of producing sprites, strings, and events.  The event creator is the only one with serious flaws.  The string and sprite editors simply need polishing (lots of it I may add :)).

The latest feature of the engine I am currently working on is an exit map.  Anyone that’s played any of the MacVenture games (Shadowgate, Deja Vu, Uninvited) knows what I mean.  There’s a little map with squares that show areas that the player may move from their current position.  It makes movement a lot less frustrating and it’s a feature I’ve wanted to implement for a long time.  Right now I have all the display code done.  I still need to do the user interface and write an editor for it.

Hmm, that should be good for now.

Have a good summer!  Hopefully by the end I’ll have something to show! 😀

-Bryce

Leave a Comment »

RSS feed for comments on this post. TrackBack URI

Leave a comment

Blog at WordPress.com.
Entries and comments feeds.