*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 »

I also changed the logo so that the Q is a bit more obvious that it's a Q:
Attachments
realms5.jpg
Last edited by Ghislain on Fri Feb 10, 2017 10:37 pm, edited 1 time in total.
"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'm grateful that there is a ".include" feature with the CA65 compiler that I'm using. It's certainly very useful in the context of making a multi-program file game like this one.
"A slave is one who waits for someone to come and free him." -- Ezra Pound
User avatar
majikeyric
Vic 20 Afficionado
Posts: 349
Joined: Fri Oct 24, 2014 2:08 pm
Website: http://majikeyric.free.fr
Location: France

Re: Work in progress: REALMS OF QUEST V

Post by majikeyric »

Thanks for sharing your development diary :)
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 »

majikeyric wrote:Thanks for sharing your development diary :)
Thanks. Recently I have been organizing my source code files in such a way that if the memory locations change in one .s file (that contain essential subroutines), the headers are easily updated so that they can be JMPed or JSRed from a separate .s file.

Realms V will be an ML version of the Realms IV game system (expanded for additional races, classes, items and monsters). Since Realms IV was part ML and part BASIC, I'm revisiting the Realms III source code (100% pure ML) for re-use.

The game world will be around the following size:

World map - 72900 tile units
City maps - 65536 tile units
Dungeon maps - 12500 space units

Total World size = 150936 units

It's certainly quite a few steps above it's predecessors. I'd like to fit everything under 4 disk sides as well keeping the total number of files to under 288 so that it can fit on a single 3.5" floppy as well (and the D81 file can also be easily used with an emulator and SD card reader).
"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 »

Mike has been great in providing code that uses raster interrupts to change the border and background color on the fly and I was able to integrate it with the source code for my game.

That being said, my plan to take images off the web, convert them to Koala Pad C64 format and then convert them into Vic-20 multicolor custom chars produced not very good results (see below). Mike has been kind enough to offer a tool that he will write where I can import images comprised of solid colors (in a non-dithered context).

Not only the game will show a 44*88 (11*11 char) multicolor image in the upper left corner of the screen, it will also display 4 colors that are completely independent of the rest of the screen's background and border colors. As well, Mike said that his image importing routine would also support displaying unique CHAR colors for the 121 individual custom chars.
castle.png
castle.png (94.23 KiB) Viewed 5668 times
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 program now displays the entire party (10 characters) on the main game screen (so this is no longer a mock display that you see here). The information is plentiful:

-Character # (cyan)
-Character Name (white)
-Level-Up Indicator (not shown, but it appears as a + or ++ below the character # in cyan)
-Hit Points (yellow)
-Health Status (red)
-Spell Points (blue)
-Alignment (green)
-Sex (green)
-Race (green)
-Class(green)
realms5.jpg
The game program listing is now about 2100 lines of assembly language.
"A slave is one who waits for someone to come and free him." -- Ezra Pound
User avatar
beamrider
Vic 20 Scientist
Posts: 1447
Joined: Sun Oct 17, 2010 2:28 pm
Location: UK

Re: Work in progress: REALMS OF QUEST V

Post by beamrider »

looks impressive - especially with the imported graphics

..not sure purple is the best colour choice for the borders - maybe red?
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 »

beamrider wrote:looks impressive - especially with the imported graphics

..not sure purple is the best colour choice for the borders - maybe red?
Thanks. I used purple because red had already been used in Realms IV.

How about this:
realms5.jpg
"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 »

Looking very nice.
R'zo
I do not believe in obsolete...
User avatar
beamrider
Vic 20 Scientist
Posts: 1447
Joined: Sun Oct 17, 2010 2:28 pm
Location: UK

Re: Work in progress: REALMS OF QUEST V

Post by beamrider »

Yes better IMO
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 »

These past couple of days I converted R'Zo's music player to work with the IRQ so that his music creations can play in the background. Mike also contributed a joystick routine.

Today I worked on the player character cursor selection interface. In the screen posted here, player char #3 is selected. I always like to make sure that my games are as intuitive and as user-friendly as possible.
realms5.jpg
"A slave is one who waits for someone to come and free him." -- Ezra Pound
Vic Porter
Vic 20 Amateur
Posts: 61
Joined: Thu Sep 22, 2016 9:12 pm
Occupation: VIC porter

Re: Work in progress: REALMS OF QUEST V

Post by Vic Porter »

Ghislain wrote:These past couple of days I converted R'Zo's music player to work with the IRQ so that his music creations can play in the background.
The music in Realms III put me off my first stab at the game. Noticed the music toggle option later; I hope it makes a comeback. (No offense to any past or present musician, it's just the VIC off-tune notes that irk me.)

Thanks for the games and the posts about them!
User avatar
Mike
Herr VC
Posts: 4816
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 »

Vic Porter wrote:it's just the VIC off-tune notes that irk me.
They're really only *grossly* off-tune if you stick to the table in the user guide.

If you recalculate the register values from the tempered scale, you arrive at:

Code: Select all

C     255    191    223
C#    134    195    225
D     141    198    226
D#    147    201    228
E     153    204    230
F     159    207    231
F#    164    210    232
G     170    212    234
G#    174    215    235
A     179    217    236
A#    183    219    237
H     187    221    238
C     191    223    239
Those are only slightly de-tuned regarding the base frequency - on PAL all notes generally are a quarter-tone too high, on NTSC they're a quarter-tone too low. But this would only be relevant if the VIC-20 was supposed to play alongside an orchestra or for someone with absolute hearing.

Note though the values above 230 in the third octave (E-3) are still unusable - there the resolution of the register values simply drops below a bearable threshold and most intervals sound wrong.

The value 255 for C in the first octave is correct though. 255 actually produces the lowest note for a given voice.


P.S. in an older thread I calculated more accurate register values for PAL and NTSC with the standard A at 440 Hz. The table above is a compromise between PAL and NTSC which actually also aims to minimize the interval errors.
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 »

Mike wrote:
Vic Porter wrote:it's just the VIC off-tune notes that irk me.
They're really only *grossly* off-tune if you stick to the table in the user guide.

If you recalculate the register values from the tempered scale, you arrive at:

Code: Select all

C     255    191    223
C#    134    195    225
D     141    198    226
D#    147    201    228
E     153    204    230
F     159    207    231
F#    164    210    232
G     170    212    234
G#    174    215    235
A     179    217    236
A#    183    219    237
H     187    221    238
C     191    223    239
Those are only slightly de-tuned regarding the base frequency - on PAL all notes generally are a quarter-tone too high, on NTSC they're a quarter-ton too low. But this would only be relevant if the VIC-20 was supposed to play alongside an orchestra or for someone with absolute hearing.

Note though the values above 230 in the third octave (E-3) are still unusable - there the resolution of the register values simply drops below a bearable threshold and most intervals sound wrong.

The value 255 for C in the first octave is correct though. 255 actually produces the lowest note for a given voice.


P.S. in an older thread I calculated more accurate register values for PAL and NTSC with the standard A at 440 Hz. The table above is a compromise between PAL and NTSC which actually also aims to minimize the interval errors.

Thank you, I will try this out.
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 »

I happen to like the way the VIC-I chip produces sound. While I always insist on putting music in my RofQ games (for the sake of providing atmosphere), there is always the option to turn it on or off built in.

For the past few days I've been working on the character sheet display (see below) -- for which I am only partially finished. A lot of the information displayed will be in color -- to match what is shown on the main game screen (purple used for hit points, for example). I want the game to be as intuitive and as user friendly as possible. It will be very easy to know what the ALIGNMENT+SEX+RACE+CLASS symbols (in green) mean because the character sheet will also provide the text for what they mean.
realms5.jpg
realms6.jpg
If this was a game programmed in BASIC, producing this would only take me a matter of minutes. This is a very data-driven game and I'm basically converting the Realms 4 game system (that's written in BASIC) and translating it into ML. But I'm creating the subroutines and data management that can be reused to build a strong base for the CORE module program that will be the heart of the game engine.

But the major advantage of using ML in this case is to use Mike's routines that manipulate the display registers in real time and also the bigger 23*26 screen. And of course it goes without saying -- speed. Realms 4 had some ML to speed up some things but the game just does not feel as elegant as it's predecessor (but the game system had far more features and data).

And because I'm using a resized screen, I cannot use the KERNAL print routines. I'm aware that the source code for the INFOCOM interpreter that allows you to display to the screen is available here ( http://www.sleepingelephant.com/ipw-web ... php?t=3661 ) but I need the ability to move the cursor precisely where I want it to be (I don't see it handle cursor ASC codes) as well as being able to print numbers to the screen (for which I do use the KERNAL -- I print to a temporary part of the screen and then "cut+paste" to the new part of the screen. If I am incorrect, feel free to point this out. I need to be able to print out single byte, double byte and floating point numbers which I already did in Realms 3 by calling the BASIC KERNAL.
"A slave is one who waits for someone to come and free him." -- Ezra Pound
Post Reply