Page 20 of 44

Re: Work in progress: REALMS OF QUEST V

Posted: Wed Jul 12, 2017 1:51 pm
by Ghislain
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.
realms5.jpg
realms6.jpg
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.

Re: Work in progress: REALMS OF QUEST V

Posted: Sat Jul 15, 2017 5:03 pm
by Ghislain
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.
realms5.jpg

Re: Work in progress: REALMS OF QUEST V

Posted: Sat Jul 15, 2017 7:20 pm
by hasseapa
realms6.jpg
realms6.jpg (45.75 KiB) Viewed 1665 times
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!
kircher3.jpg
kircher3.jpg (17.61 KiB) Viewed 1665 times

Re: Work in progress: REALMS OF QUEST V

Posted: Sun Jul 16, 2017 7:47 pm
by Ghislain
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!
kircher3.jpg
Thank you. Mike's graphic tools and his raster routine have been instrumental in my making these graphics.

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 first one is simple enough -- pass a value that is between 0-255 from the accumulator and the lo/hi memory locations in X,Y to PRINTPOSNUMBER to print a positive byte number. (PRINTNEGNUMBER can print values from -128 to +127(

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.

Re: Work in progress: REALMS OF QUEST V

Posted: Mon Jul 17, 2017 11:13 am
by Ghislain
I just finished programming spells that allow you to control monsters.
realms5.jpg
realms6.jpg
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.

Re: Work in progress: REALMS OF QUEST V

Posted: Tue Jul 18, 2017 1:37 pm
by Ghislain
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).

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
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.

Re: Work in progress: REALMS OF QUEST V

Posted: Sat Jul 22, 2017 9:37 am
by Ghislain
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.
realms5.jpg
realms6.jpg

Re: Work in progress: REALMS OF QUEST V

Posted: Sat Jul 22, 2017 12:32 pm
by rubygolem
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.

Image
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. :P

Re: Work in progress: REALMS OF QUEST V

Posted: Sat Jul 22, 2017 10:16 pm
by R'zo
Imo this is starting to look better than ultima. And on the humble
Vic. Very beautiful work :D

Re: Work in progress: REALMS OF QUEST V

Posted: Sun Jul 23, 2017 7:45 am
by Ghislain
rubygolem wrote:
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.

Image
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. :P
Well, if you're wondering... here are the rest of the treasure looting images:
realms5.jpg
realms6.jpg
realms7.jpg
realms8.jpg
R'zo wrote:Imo this is starting to look better than ultima. And on the humble
Vic. Very beautiful work :D
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!

Re: Work in progress: REALMS OF QUEST V

Posted: Sun Jul 23, 2017 1:41 pm
by rubygolem
Image

Yes! That's so cool! :D

Re: Work in progress: REALMS OF QUEST V

Posted: Tue Aug 01, 2017 10:33 am
by Ghislain
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.
realms5.jpg

Re: Work in progress: REALMS OF QUEST V

Posted: Tue Aug 01, 2017 11:56 am
by Ghislain
I changed the main game menu again and split it into 2 screens:
realms5.jpg
realms6.jpg
(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.

Re: Work in progress: REALMS OF QUEST V

Posted: Thu Aug 03, 2017 12:59 pm
by Ghislain
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.
realms5.jpg
Now Morgannah commands the Ogre to perform an attack in her stead. Drats, it was only able to do 1 hit point of damage.
realms6.jpg
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!

Re: Work in progress: REALMS OF QUEST V

Posted: Thu Aug 03, 2017 8:53 pm
by R'zo
The battle system is starting to look very nice. I really like the auto hit and repeat options Beautiful work :)