*ALL PHYSICAL COPIES ARE SOLD OUT*: REALMS OF QUEST V (Digital version is available)

Discussion, Reviews & High-scores

Moderator: Moderators

User avatar
Ghislain
Realms of Quest
Posts: 1279
Joined: Sun Aug 08, 2004 12:54 am

Re: Work in progress: REALMS OF QUEST V

Post by Ghislain »

mingle wrote:I've been following this thread from day one and it's looking better than ever.

It's still hard to believe that those images are from a Vic-20 game... :-)

Mike.
Thank you. I think I'm slowly getting better at this as well. I might even go over my monster images again and re-touch some of them. What I'm surprised about is that there aren't others who are making games with similar graphics to this for the VIC-20. The tools are available now. In fairness, it is a rather large undertaking and I'm pretty much using up a lot of my leisure time to work on it. I always make sure to put some work on the game every day in order to make progress on it.

Here's the latest screenshots from the dungeon entitled "The Arcane Annihilation"
realms8.png
realms6.png
realms5.jpg
"A slave is one who waits for someone to come and free him." -- Ezra Pound
User avatar
Ghislain
Realms of Quest
Posts: 1279
Joined: Sun Aug 08, 2004 12:54 am

Re: Work in progress: REALMS OF QUEST V

Post by Ghislain »

I achieved a milestone today, the game size is now 500 KB. Since I plan on making a 650 KB game or so, it looks like content-wise I am about to finish work on it, or that I'm starting to see light at the end of the tunnel.
realms3.jpg
"A slave is one who waits for someone to come and free him." -- Ezra Pound
User avatar
Mike
Herr VC
Posts: 4841
Joined: Wed Dec 01, 2004 1:57 pm
Location: Munich, Germany
Occupation: electrical engineer

Re: Work in progress: REALMS OF QUEST V

Post by Mike »

in another forum, CadorBolin (a.k.a. Ghislain) wrote:I'm working on a 4-sided disk game (for the VIC-20, but I figured my chances of finding a Commodore disk expert here are greater) and I want to be able to write data to an 8K temp file when certain parts of the game program need to be "swapped out" of RAM temporarily in order to be able to load a module from disk after which the data stored in the temp file is loaded back into RAM once the game can be resumed.

The purpose of this is to avoid having the player switch to another disk side (if they're only using a single disk drive). So I want to avoid excessive disk swapping.

Now, I know that writing to disk files on the 1540/41 is simple enough, but is there a way to just write to a blank part of the disk drive to do this? I want to avoid the chances of the temp/swap file becoming unwriteable (with *PRG, etc) if the process of writing to such a file is interrupted.

So what I'm basically trying to accomplish here is a form of virtual memory. I want to be able to do this in ML and using standard KERNAL routines, if possible.
You can allocate 32 sectors on a freshly formatted disk with the B-A command (say, 21 sectors on track 1 and the rest on track 2), and subsequently access them with the block-read (U1) and block-write (U2) commands. With a 1541 or 1571, this area doesn't show in the directory, and a Validate command will *free* those blocks, so you should explicitly discourage users from doing this (with, like, putting a "DO NOT VALIDATE!" dummy file near the top of the directory).

Of course, with those four *.d64s, the content of the 32 sectors doesn't "propagate" from one disk to the other three ones. :wink:

On the 1581, you can use a CBM file to allocate that sector range (tracks have 40 sectors there, so the sectors fit on track 1). You only need to prepare that once, again on a freshly formatted disk. That one also survives a Validate command.


Note though, in both cases reading/writing the entire swap space will take roughly 20 seconds on a 1541/1571 and maybe half the time with a 1581. To speed this up, and if the game is still supposed to run with SD2IEC, JiffyDOS or SJLOAD are about the only viable options for faster drive access.
User avatar
Ghislain
Realms of Quest
Posts: 1279
Joined: Sun Aug 08, 2004 12:54 am

Re: Work in progress: REALMS OF QUEST V

Post by Ghislain »

Mike wrote:You can allocate 32 sectors on a freshly formatted disk with the B-A command (say, 21 sectors on track 1 and the rest on track 2), and subsequently access them with the block-read (U1) and block-write (U2) commands. With a 1541 or 1571, this area doesn't show in the directory, and a Validate command will *free* those blocks, so you should explicitly discourage users from doing this (with, like, putting a "DO NOT VALIDATE!" dummy file near the top of the directory).

Of course, with those four *.d64s, the content of the 32 sectors doesn't "propagate" from one disk to the other three ones. :wink:

On the 1581, you can use a CBM file to allocate that sector range (tracks have 40 sectors there, so the sectors fit on track 1). You only need to prepare that once, again on a freshly formatted disk. That one also survives a Validate command.


Note though, in both cases reading/writing the entire swap space will take roughly 20 seconds on a 1541/1571 and maybe half the time with a 1581. To speed this up, and if the game is still supposed to run with SD2IEC, JiffyDOS or SJLOAD are about the only viable options for faster drive access.
Thank you. I've actually been reading up on block-write and block-read here:

https://wpguru.co.uk/2016/01/how-to-use ... odore-dos/

So it's pretty self-explanatory, and now I just need to figure out how to do it in ML :) I've figured out how to write files to disk, but issuing disk commands is quite another thing.

I only intend to use swap space on side 3 of the 5 1/4" disk version of the game running in single drive mode. This is just to specifically avoid excessive disk swapping for users who are using a single 1540 or 1541 drive. It's not necessary to swap memory for SD2IEC, 1581 or dual disk drive users because the data that's needed can be easily accessed without having to swap disks.

Basically, side 3 of the disk contains all of the game's monsters graphics and data. So if the player is traveling about (side 1 is the outside world, side 2 is the dungeons) and a monster encounter occurs, the player needs to switch to side 3 to fight the monsters.

Since the combat modules and monster graphics data will overwrite the game world data in RAM at $A000, the player would be required to switch back to side 1 or side 2 if I didn't implement this swap space feature.

So, the solution that I envision will be like this:

1. Player encounters a group of monsters
2. If side 3 is not inside the disk drive, the player is asked to insert side 3.
3. If the game world data at $A000 has _not_ been written to swap space, then write it. (if the game world data that the player is currently exploring has already been written to disk, then why write to disk again?)
4. Load the combat modules and data at $A000
5. After the combat has been resolved, the game world data can be loaded from swap space into $A000 and the game can resume WITHOUT HAVING TO ASK THE PLAYER TO INSERT SIDE 1 or 2 because this data was stored in the swap space.

Why support floppy? Well, while I do recommend that people player the game on an SD card, I still want the game to remain "retro authentic" in the sense that if somebody took "Realms of Quest V" back to the year 1983 by way of a time machine and run it on a Commodore VIC-20 with a 32KB RAM cartridge and floppy disk drive, the game will work. That's how RPG games were played on 8-bit machines back in the day: you switched disks at different parts of the game. Pool of Radiance and Ultima V encompassed something like EIGHT disk sides.
"A slave is one who waits for someone to come and free him." -- Ezra Pound
User avatar
Mike
Herr VC
Posts: 4841
Joined: Wed Dec 01, 2004 1:57 pm
Location: Munich, Germany
Occupation: electrical engineer

Re: Work in progress: REALMS OF QUEST V

Post by Mike »

A took a quick peek at the page you linked to. The description and use of the U1 and U2 commands is mostly correct (it just misses a check of the error channel), but the description of B-A and B-F is wrong: the first parameter is not the device number (which would most likely be 8), but rather the drive number, which normally is 0 and only in case of dual drives may also assume the value 1.

Consequently, if those examples for B-A and B-F happen to work on the 1541, this is just by lucky chance. With "8", they specify an invalid drive number (which the 1541's CBM DOS just might choose to ignore, but I'm too lazy ATM to check for this), and if anything, SD2IECs do the Right Thing™ to reject this invalid parameter.

When you use 0 as valid first parameter for B-A (or B-F), then it works on both 1541 and SD2IEC drives, thus refuting the claim in the article that B-A/B-F would not work on SD2IEC. You can savely assume that the maintainer of the sd2iec firmware (Ingo Korb) had incorporated these functions alongside the other block access commands right from the start (otherwise the block-read and block-write commands in disk-images would have no save way to work on pre-allocated sectors!).

Ghislain wrote:Why support floppy? [...]
Making the game work on a "classic" configuration (here: VIC-20 + +32K RAM + disk drive) is of course a valid goal. But it's quite easy to ensure compatibility to SD2IEC drives and one should not carelessly pass up on this. Anyhow, if you make a SD2IEC drive part of the recommended configuration, that's fine. :)
User avatar
Ghislain
Realms of Quest
Posts: 1279
Joined: Sun Aug 08, 2004 12:54 am

Re: Work in progress: REALMS OF QUEST V

Post by Ghislain »

Mike wrote:A took a quick peek at the page you linked to. The description and use of the U1 and U2 commands is mostly correct (it just misses a check of the error channel), but the description of B-A and B-F is wrong: the first parameter is not the device number (which would most likely be 8), but rather the drive number, which normally is 0 and only in case of dual drives may also assume the value 1.

Consequently, if those examples for B-A and B-F happen to work on the 1541, this is just by lucky chance. With "8", they specify an invalid drive number (which the 1541's CBM DOS just might choose to ignore, but I'm too lazy ATM to check for this), and if anything, SD2IECs do the Right Thing™ to reject this invalid parameter.

When you use 0 as valid first parameter for B-A (or B-F), then it works on both 1541 and SD2IEC drives, thus refuting the claim in the article that B-A/B-F would not work on SD2IEC. You can savely assume that the maintainer of the sd2iec firmware (Ingo Korb) had incorporated these functions alongside the other block access commands right from the start (otherwise the block-read and block-write commands in disk-images would have no save way to work on pre-allocated sectors!).

Ghislain wrote:Why support floppy? [...]
Making the game work on a "classic" configuration (here: VIC-20 + +32K RAM + disk drive) is of course a valid goal. But it's quite easy to ensure compatibility to SD2IEC drives and one should not carelessly pass up on this. Anyhow, if you make a SD2IEC drive part of the recommended configuration, that's fine. :)
Thank you for the advice. I haven't implemented this yet -- this is one of those things that I will do once the actual game has been completed and fully tested.
"A slave is one who waits for someone to come and free him." -- Ezra Pound
User avatar
Ghislain
Realms of Quest
Posts: 1279
Joined: Sun Aug 08, 2004 12:54 am

Re: Work in progress: REALMS OF QUEST V

Post by Ghislain »

I've added more menu and configuration options when the game is booted:
realms5.jpg
The most notable one that I've added here is a "Quick Start" menu option. The purpose of this is to allow the player to jump directly into playing the game with an already-created party of 10 player characters. Because RPG games tend to be quite big in scope and intimidating for the casual gamer, I want to be able to showcase the game to online game reviewers and possibly distribute a demo copy. I found it frustrating that there weren't many reviews of Realms III & IV when they had come out a few years ago. I think part of the reason is that game reviewers only have so much time on their hands.

For certain, the hardcore RPG fans don't mind spending a couple of hours to create a whole party of player characters, but I'm trying to get broader appeal in order to help get the word out.

And besides, even in Dungeons & Dragons game modules from the 1980s, these came packaged with pre-created player characters so that people could jump in right away and play them. I probably should have implemented this for Realms III & IV.
realms6.jpg
And for the configuration menu, I've added options for disk setup (1581 or SD card, 1540/41*2 and 1540/41*1). I figure that since the game will probably have less than 288 files, it will be easy enough to bundle the SD card and 1581 drive into the same option. The other two disk setup options will be for single 1540/41 or dual 1540/41 setup.

And the Loader config option is to enable fast loading or not. I also still intend to implement software based fast loaders like Turbodisk and Hyprasystem. I hope these will fit at $0400 because the fast load options will be available for those who have 35K memory expansion.

... and I'm still working on graphics for the game. You can see my latest artwork on my twitter: https://twitter.com/hitfan2000
"A slave is one who waits for someone to come and free him." -- Ezra Pound
User avatar
R'zo
Vic 20 Nerd
Posts: 514
Joined: Fri Jan 16, 2015 11:48 pm

Re: Work in progress: REALMS OF QUEST V

Post by R'zo »

I took a look at the pictures on your twitter page. They're looking absolutely amazing! Waiting in great anticipation. Keep up the good work.
R'zo
I do not believe in obsolete...
User avatar
Ghislain
Realms of Quest
Posts: 1279
Joined: Sun Aug 08, 2004 12:54 am

Re: Work in progress: REALMS OF QUEST V

Post by Ghislain »

R'zo wrote:I took a look at the pictures on your twitter page. They're looking absolutely amazing! Waiting in great anticipation. Keep up the good work.
Thank you! I think with your music, this will turn out to be one of the greatest VIC-20 games of all time.

I've modified the menu system so that the entire command is highlighted right next to the cursor. For example:
realms5.jpg
realms6.jpg
Adding this feature only took about 50 bytes or so. Anything that can make the gameplay more user-friendly at such a small cost is certainly worth it to implement.
"A slave is one who waits for someone to come and free him." -- Ezra Pound
User avatar
rubygolem
Vic 20 Drifter
Posts: 29
Joined: Fri Mar 28, 2014 5:17 pm

Re: Work in progress: REALMS OF QUEST V

Post by rubygolem »

R'zo wrote:I took a look at the pictures on your twitter page. They're looking absolutely amazing! Waiting in great anticipation. Keep up the good work.
Hi R'zo! I just found your Realms of Quest V Soundtrack demo EP. I just posted about it on my blog. Fantastic work there on the VIC-20 tunes. Sounds great!
https://rubygolem.wordpress.com/2018/08 ... ep-by-rzo/
User avatar
Ghislain
Realms of Quest
Posts: 1279
Joined: Sun Aug 08, 2004 12:54 am

Re: Work in progress: REALMS OF QUEST V

Post by Ghislain »

After a 3 week vacation, I am back and I've resumed work on the game. I just finished work on this graphic image:
1.png
"A slave is one who waits for someone to come and free him." -- Ezra Pound
User avatar
orion70
VICtalian
Posts: 4341
Joined: Thu Feb 02, 2006 4:45 am
Location: Piacenza, Italy
Occupation: Biologist

Re: Work in progress: REALMS OF QUEST V

Post by orion70 »

Reminds me of The Goonies :)
User avatar
rubygolem
Vic 20 Drifter
Posts: 29
Joined: Fri Mar 28, 2014 5:17 pm

Re: Work in progress: REALMS OF QUEST V

Post by rubygolem »

orion70 wrote:Reminds me of The Goonies :)
Rocky Road?
https://youtu.be/dW9liiGyP_g
User avatar
orion70
VICtalian
Posts: 4341
Joined: Thu Feb 02, 2006 4:45 am
Location: Piacenza, Italy
Occupation: Biologist

Re: Work in progress: REALMS OF QUEST V

Post by orion70 »

Yep :)
User avatar
Ghislain
Realms of Quest
Posts: 1279
Joined: Sun Aug 08, 2004 12:54 am

Re: Work in progress: REALMS OF QUEST V

Post by Ghislain »

A bit of a milestone was achieved today, the principal dungeon designs have been completed.

https://twitter.com/hitfan2000/status/1 ... 8325723136
realms5.jpg
"A slave is one who waits for someone to come and free him." -- Ezra Pound
Post Reply