*ALL PHYSICAL COPIES ARE SOLD OUT*: REALMS OF QUEST V (Digital version is available)
Moderator: Moderators
Re: Work in progress: REALMS OF QUEST V
I'm programming combat spells now. I just finished the programming for the magic missile. The following screenshots depict the player select which monster to attack and then the damage is inflicted on the selected monster.
A lot of the code will be reused for spells that can be cast against monsters as well as for missile weapons that allow the player to select which row of monsters to attack.
A lot of the code will be reused for spells that can be cast against monsters as well as for missile weapons that allow the player to select which row of monsters to attack.
"A slave is one who waits for someone to come and free him." -- Ezra Pound
Re: Work in progress: REALMS OF QUEST V
I added a feature that lets you examine the monster characteristics during combat. This makes it more convenient for the player without having to look up the information in the manual.
"A slave is one who waits for someone to come and free him." -- Ezra Pound
Re: Work in progress: REALMS OF QUEST V
Especially one that looks as great as the one done by Mike and Minipaint. I did not know of this one until now!
Re: Work in progress: REALMS OF QUEST V
Thank you. Mike's graphic tools and his raster routine have been instrumental in my making these graphics.hasseapa wrote:That golden warrior is such a treat... Makes me think of the Tutankhamun mask of Deluxe Paint and Amiga fame. I remember adoring a C64-version - squinting my eyes and telling myself that it was just as good. I surely would have been blown away by a VIC-version then.
Especially one that looks as great as the one done by Mike and Minipaint. I did not know of this one until now!
For the past few days I've been focusing on cleaning up some of the code and making it more tight and efficient. I probably shaved off about 1K of wasted space.
I've also programmed routines that will print numbers and text at specific locations on the screen which is 24*26 in size, so I had to create my own non-kernal printing routines.
Code: Select all
; print monster hitdice
lda MONSTER_MLEV
ldx #<(4097+24*22+4)
ldy #>(4097+24*22+4)
jsr PRINTPOSNUMBER
....
; print health status
jsr GETSTATUS
ldx #<(@status)
ldy #>(@status)
jsr FINDSTRING
ldx #<(4109)
ldy #>(4109)
jmp POKETEXTSCREEN2
The second one (POKETEXTSCREEN2) will print text on a string whose pointer is setup with FINDSTRING (pass lo/hi with X,Y of the first string in the array and ACC has the value of which string number you want returned) and then you pass the lo/hi location of the screen in X,Y.
I programmed Realms IV in BASIC (with ML speed up routines) and while that is an appropriate language to program an RPG game (commercial titles like Question and Legacy of the Ancients were also programmed in BASIC with ML speedup routines), it would have been quite a challenge to program a game of this scope in BASIC which is why I went 100% ML this time around.
"A slave is one who waits for someone to come and free him." -- Ezra Pound
Re: Work in progress: REALMS OF QUEST V
I just finished programming spells that allow you to control monsters.
10 player character slots with each allowed to have 1 NPC Ally or controlled monster = up to 20 members in your party. This must be an 8 bit CRPG record, otherwise can somebody point me to such a game that allows this feature.
10 player character slots with each allowed to have 1 NPC Ally or controlled monster = up to 20 members in your party. This must be an 8 bit CRPG record, otherwise can somebody point me to such a game that allows this feature.
"A slave is one who waits for someone to come and free him." -- Ezra Pound
Re: Work in progress: REALMS OF QUEST V
I just rewrote my spell damage routine so that it can be reused for other spells. That way, I just pass the lo/hi address at X/Y that the routine can use to cycle through the entire party of monsters if needed (spells have 3 areas of effect: single monster, single row of monsters and all monsters).
Looks like spaghetti code for certain, and I probably should refactor it at some point in the future. But it works, and it's a very elegant solution that lets me avoid copy-pasting this long nested loop for each spell type. That means that I get to save on a lot of RAM memory which can be a scarce commodity even in a 32K expanded VIC-20.
Code: Select all
GOTHROUGHMONSTERS:
; pass X/Y - lo/hi address that performs spell action
stx @jump_point+1
sty @jump_point+2
jsr ATTRIBUTEADJUST
lda SPELLAREA
cmp #3
bne @sd0
jmp @sdall
@sd0:
jsr SELECTMONSTER_ROW
lda SPELLAREA
cmp #1
beq @sdsingle
jsr @sdsinglerow
cmp #1
beq @sdvictory
jmp @sd2
@sdsingle:
; single monster
ldx #0
jsr @jump_point
cmp #1
beq @sdvictory
jmp @sd2
@sdvictory:
lda #1
rts
@sdall:
; go row by row
ldx #0
@sdall2:
stx @rowreg
stx ATTACK_ROW
ldy MONSTER_ROWS
sty @numbrow
jsr DISPLAYMONSTER_ROW
jsr @sdsinglerow
cmp #1
beq @sdvictory
ldy MONSTER_ROWS
cpy #0
beq @sd2
ldx @rowreg
cpy @numbrow
bne @sdall2
ldx @rowreg
inx
cpx @numbrow
bpl @sd2
beq @sd2
jmp @sdall2
@sd2:
rts
@sdsinglerow:
; one row of monsters
lda MONSTER_ROWS
sta @rowcount
ldx #0
@sd1_1:
ldy ATTACK_ROW
lda MONSTER_NUM,y
sta @numbcol
stx @colreg
jsr @jump_point
cmp #1
beq @sd1victory
lda @rowcount
cmp MONSTER_ROWS
bne @sd1_2
ldy ATTACK_ROW
lda MONSTER_NUM,y
cmp #0
beq @sd1_2
cmp @numbcol
bne @sd1_1_2
ldx @colreg
inx
stx @colreg
@sd1_1_2:
ldy ATTACK_ROW
lda MONSTER_NUM,y
sta @numbcol
ldx @colreg
cpx @numbcol
bpl @sd1_2
beq @sd1_2
jmp @sd1_1
@sd1_2:
lda #0
rts
@sd1victory:
lda #1
rts
@jump_point:
jmp PAUSE
@numbrow: .byte 0
@numbcol: .byte 0
@colreg: .byte 0
@rowreg: .byte 0
@rowcount: .byte 0
"A slave is one who waits for someone to come and free him." -- Ezra Pound
Re: Work in progress: REALMS OF QUEST V
My team of playtesters would like to be able to buy stuff in the castles, so I decided to work on the post-combat treasure finding module.
"A slave is one who waits for someone to come and free him." -- Ezra Pound
Re: Work in progress: REALMS OF QUEST V
Nice! Disarm n' loot! + try not to get annihilated with the trap in the process. Here's where the thief/ninja comes in. Will there be traps of assorted variety? All sorts of possibilities. Poison needle traps, Explosions, Slicing, Stabbing, Noxious fumes, Pits, Falling rocks, Stoning, Disintegration.....or perhaps a magic spell could attempt to disarm the trap like the Bard's Tale's TRZP.Ghislain wrote:My team of playtesters would like to be able to buy stuff in the castles, so I decided to work on the post-combat treasure finding module.
![]()

Re: Work in progress: REALMS OF QUEST V
Imo this is starting to look better than ultima. And on the humble
Vic. Very beautiful work
Vic. Very beautiful work

R'zo
I do not believe in obsolete...
I do not believe in obsolete...
Re: Work in progress: REALMS OF QUEST V
Well, if you're wondering... here are the rest of the treasure looting images:rubygolem wrote:Nice! Disarm n' loot! + try not to get annihilated with the trap in the process. Here's where the thief/ninja comes in. Will there be traps of assorted variety? All sorts of possibilities. Poison needle traps, Explosions, Slicing, Stabbing, Noxious fumes, Pits, Falling rocks, Stoning, Disintegration.....or perhaps a magic spell could attempt to disarm the trap like the Bard's Tale's TRZP.Ghislain wrote:My team of playtesters would like to be able to buy stuff in the castles, so I decided to work on the post-combat treasure finding module.
![]()
Thank you! Well, I'm pretty certain that the graphics back in the days of Ultima were produced using graph paper and manually tabulating the binary numbers (ex: 128+64+32+16, etc). Having tools like GIMP and PGM IMPORT certainly makes this job a lot easier!R'zo wrote:Imo this is starting to look better than ultima. And on the humble
Vic. Very beautiful work
"A slave is one who waits for someone to come and free him." -- Ezra Pound
Re: Work in progress: REALMS OF QUEST V
Work continues on the game. I do wonder if I'll ever see the light at the end of the tunnel, so to speak. But even if the project takes more than a year to complete, I take heart that it took Brian Wilson 38 years to finally complete SMiLE and Victor Hugo 17 years to write Les Miserables. Hopefully this game won't take nearly as long (though you could say that Realms 1 through 4 are basically working prototypes of the current game).
I added 2 features to the combat module:
Auto-Hit: This makes the entire party perform basic weapon attacks for the next combat round.
Repeat: This makes the entire party perform their previous actions for the next combat round.
If any repeating action requires further input from the user (like casting a spell, using an item or selecting a monster row while using a missile weapon), then the player will be prompted for those inputs.
I added 2 features to the combat module:
Auto-Hit: This makes the entire party perform basic weapon attacks for the next combat round.
Repeat: This makes the entire party perform their previous actions for the next combat round.
If any repeating action requires further input from the user (like casting a spell, using an item or selecting a monster row while using a missile weapon), then the player will be prompted for those inputs.
"A slave is one who waits for someone to come and free him." -- Ezra Pound
Re: Work in progress: REALMS OF QUEST V
I changed the main game menu again and split it into 2 screens:
(one for starting/resuming game and information and the other for configuring the game options)
I removed the FileSystem configuration option. I figure that I will distribute the game into 2 versions: one for emulators/SD cards/1581 disk users and the other for 1540/41 disk users (on 4 disk sides). In it's place is a configuration for reading speed. Beginners can set it to slow to be able to read what's going on during combat and later on, they can set it to medium or fast once they know the basic game mechanics.
(one for starting/resuming game and information and the other for configuring the game options)
I removed the FileSystem configuration option. I figure that I will distribute the game into 2 versions: one for emulators/SD cards/1581 disk users and the other for 1540/41 disk users (on 4 disk sides). In it's place is a configuration for reading speed. Beginners can set it to slow to be able to read what's going on during combat and later on, they can set it to medium or fast once they know the basic game mechanics.
"A slave is one who waits for someone to come and free him." -- Ezra Pound
Re: Work in progress: REALMS OF QUEST V
Today, I'm programming the Ally combat option. What this does is allow the player's Ally/Summoned Monster/Controlled Monster to perform a combat option in the player's stead.
Here, Morgannah the Wizard inspects the ally in her inventory, which is an Ogre she controlled by way of magic in a previous combat encounter.
Now Morgannah commands the Ogre to perform an attack in her stead. Drats, it was only able to do 1 hit point of damage.
And because every player is allowed to have an ally and there are 10 players in a party -- the party size is effectively comprised of 20 members.
And any kills that your Ally performs in combat is given to the controlling player's experience for the purpose of leveling up!
Here, Morgannah the Wizard inspects the ally in her inventory, which is an Ogre she controlled by way of magic in a previous combat encounter.
Now Morgannah commands the Ogre to perform an attack in her stead. Drats, it was only able to do 1 hit point of damage.
And because every player is allowed to have an ally and there are 10 players in a party -- the party size is effectively comprised of 20 members.
And any kills that your Ally performs in combat is given to the controlling player's experience for the purpose of leveling up!
"A slave is one who waits for someone to come and free him." -- Ezra Pound
Re: Work in progress: REALMS OF QUEST V
The battle system is starting to look very nice. I really like the auto hit and repeat options Beautiful work 

R'zo
I do not believe in obsolete...
I do not believe in obsolete...