**New Release** REALMS OF QUEST 3 (available for order!)

Discussion, Reviews & High-scores

Moderator: Moderators

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

Post by Ghislain »

rhurst wrote:You did not d/l the doc archive and unpack it? It includes the necessary doc/vic20.cfg (listed below) to assist in assigning memory:
I did, but I think that the one I downloaded must have been the incorrect one--it works now... thanks! (much appreciated)

As well, I'm able to run cc65 in Linux now.
"A slave is one who waits for someone to come and free him." -- Ezra Pound
carlsson
Class of '6502
Posts: 5516
Joined: Wed Mar 10, 2004 1:41 am

Post by carlsson »

Many of us other use the DASM cross assembler, but it is a matter of taste which one you prefer; e.g. Cameron Kaiser announced an updated version of xa only the other day. I've just heard ca65 can be a bit complex to get going with, but once you're on track there should not be any problems.

Another benefit is that you can use the cc65 C compiler if you like. It would be an intermediate step between Basic and pure machine code, only that I'm not sure how easy it is to link it to your own hand-made machine code routines. Many times now I've thought I should try out the C compiler for real work, but every time I get side-tracked and end up with directly programming in machine code. I suppose I'm obsessed with having optimized code although the C overhead should be relatively smaller the bigger your program is.
Anders Carlsson

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

Post by Ghislain »

carlsson wrote:Many of us other use the DASM cross assembler, but it is a matter of taste which one you prefer; e.g. Cameron Kaiser announced an updated version of xa only the other day. I've just heard ca65 can be a bit complex to get going with, but once you're on track there should not be any problems.
I think that the documentation that I've read on ca65 so far is very good, and I can always refer to rhurst's excellent source code for Quikman. It seems pretty straightforward to me. I love the "Cheap local labels" feature.

I needed to get out of using Turbo Assembler (or it's VIC-20 equivalent, VASM) only because it's that much easier to use a text editor on my PC. I think these programs are great, but if one has a PC then it's probably best to go to the cross assembler route.

After this game is done, I think I'll be comfortable enough with assembly language to take on bigger projects.
Another benefit is that you can use the cc65 C compiler if you like. It would be an intermediate step between Basic and pure machine code, only that I'm not sure how easy it is to link it to your own hand-made machine code routines. Many times now I've thought I should try out the C compiler for real work, but every time I get side-tracked and end up with directly programming in machine code. I suppose I'm obsessed with having optimized code although the C overhead should be relatively smaller the bigger your program is.
Did you use CC65 to port Contiki over to the VIC-20?
"A slave is one who waits for someone to come and free him." -- Ezra Pound
carlsson
Class of '6502
Posts: 5516
Joined: Wed Mar 10, 2004 1:41 am

Post by carlsson »

Yes, cc65 is the only somewhat complete C compiler for 6502 systems including the VIC-20. Not to badmouth Quetzacoatl by Brendan Jones, but it doesn't quite support as many features as cc65 does.
Anders Carlsson

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

Post by Ghislain »

Royas wrote:This looks awesome.

I wouldn't mind seeing user definable fore/background colors myself, since I like blue on green , and ... I dont think anyone else does.
I've put in some code that allows this, but to be honest I might remove it to save memory. Screen colors are a bit tricky on the VIC-20--you have border, screen and inverted bit all in the same memory location--plus there is a defined border inside the screen that would have to change to the same border color in the outer area. If I don't need the memory--that is fine. But otherwise, it will be a simple color scheme.
How will the character system be? Lots of classes/races?

and, I agree 4 characters should be good, and will be a different approach than the typical 6 in every CRPG ever made!
Basic 4 races (Human, dwarf, elf, hobbit) and 6 classes (Fighter, Wizard, Priest, Thief, Knight, Ranger).
"A slave is one who waits for someone to come and free him." -- Ezra Pound
User avatar
orion70
VICtalian
Posts: 4337
Joined: Thu Feb 02, 2006 4:45 am
Location: Piacenza, Italy
Occupation: Biologist

Post by orion70 »

Ghislain wrote:Basic 4 races (Human, dwarf, elf, hobbit) and 6 classes (Fighter, Wizard, Priest, Thief, Knight, Ranger).
(me drooling)
User avatar
Ghislain
Realms of Quest
Posts: 1279
Joined: Sun Aug 08, 2004 12:54 am

Post by Ghislain »

orion70 wrote:(me drooling)
Oh, I have a lot to live up to now. ML programming I find so far is about 10 times slower than it would be in BASIC (for now). Yesterday, all I did was transfer my old TASS code over to CA65 and added a screen color routine and printing some numbers.

I think I'm going to stay with 6 characters for this game. Having only 4 characters does not give it that classic DND (with a party of characters) feel to it.

If I can't fit the game in 3.5KB of RAM, what I'll do is make it an 8K game that resides in cartridge memory (A000-AFFF) and that way it will still technically be a game for the unexpanded VIC-20. That will also leave me about 3.5KB of additional RAM that I can use freely. That will also mean that I can afford the bytes that I would use to allow players to choose their own color configurations.
"A slave is one who waits for someone to come and free him." -- Ezra Pound
carlsson
Class of '6502
Posts: 5516
Joined: Wed Mar 10, 2004 1:41 am

Post by carlsson »

Technical question: Would you run the game from RAM or simulated ROM, i.e. you would not use any inlined self-modifying code if you make it cartridge-style? Practically it has no importance other than if you want to manufacture actual cartridges with EPROM content.
Anders Carlsson

Image Image Image Image Image
User avatar
Pedro Lambrini
Vic 20 Scientist
Posts: 1132
Joined: Mon Dec 01, 2008 11:36 am

Post by Pedro Lambrini »

Ghislain: If you decide to have the game reside in cartridge memory what does that mean with regards to running it on a real Vic? Can,say the Mega-Cart, be set up to emulate a cart and I would then load the game from a disk into that memory location? Sorry for my ignorance... :)
User avatar
Ghislain
Realms of Quest
Posts: 1279
Joined: Sun Aug 08, 2004 12:54 am

Post by Ghislain »

carlsson wrote:Technical question: Would you run the game from RAM or simulated ROM, i.e. you would not use any inlined self-modifying code if you make it cartridge-style? Practically it has no importance other than if you want to manufacture actual cartridges with EPROM content.
Yeah, I would have to take that into consideration. I would make sure that it would not modify any of the ROM in $A000-AFFF.
Pedro Lambrini wrote:Ghislain: If you decide to have the game reside in cartridge memory what does that mean with regards to running it on a real Vic? Can,say the Mega-Cart, be set up to emulate a cart and I would then load the game from a disk into that memory location? Sorry for my ignorance...
If that were to happen, you could run it on a VIC-20 with the cartridge version of the game (by plugging it in) or by downloading the .prg, saving it to disk or tape, and then loading it onto a VIC-20 with RAM expansion (that can be located in A000-AFFF) which the Mega-Cart would definitely support.

I will try as hard as possible to stay within the 3.5KB of VIC-20 memory however. I think that my making a cartridge-based RPG game would be more suited for something like "Realms of Quest III" (I would then make it a 16KB cart that resides in A000 and 6000).

My making of "Dunjon 3-D" will serve as a springboard to RQ3 (kind of like how Dunjon II's game engine eventually turned into RQ2).
"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

Post by Ghislain »

This is what 403 bytes of ML code looks like so far :)

Image Image

PM me if you'd like me to give you my source code so far!

Woohoo!!!! :)

(the reason why you see LV 0 is because the player character data is filled with 0s, and RACE 0=HUMAN and CLASS 0=FIGHTER, if the RACE was set to 1 you'd see "DW" instead of "HU")
Last edited by Ghislain on Sat Jan 09, 2010 7:51 am, 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

Post by Ghislain »

I've quietly abandoned Dunjon 3-D and starting REALMS OF QUEST III. I found that only 3.5KB of unexpanded RAM for a multi-character party RPG game to be constricting. So whatever source code I've programmed so far will be used with REALMS of QUEST III.

The display screen has been changed dramatically, I will post an update in the future. To give you an idea of what things there will be in the game, here is some of the commented source code:

Code: Select all

	;byte	0	= RACE
	;	1	= CLASS
	;	2	= LEVEL
	;	3	= STR
	;	4	= INT
	;	5	= WIS
	;	6	= DEX
	;	7	= CON
	;	8	= CHA
	;	9-14	= XP (FAC)
	;	15-16	= HP (word)
	;	17-18	= MAX HP (word)
	;	19-20	= SU (word)
	;	21-22	= MSU (word)
	;	23	= WEAPON
	;	24	= WEAPON'S magic bonus
	;	25	= ARMOR
	;	26	= ARMOR's magic bonus
	;	27	= SHIELD
	;	28	= SHIELD's magic bonus
	;	29	= RING
	;	30	= CLOAK
	;	31	= BOOTS
	;	32	= GAUNTLET
	;	33	= BRACERS
	;	34	= WAND
Here are weapons in the game:

Code: Select all

CLASSWEAPON:
	;BYTE 0 0 PALADIN RANGER THIEF PRIEST WIZARD FIGHTER
	.byte %00111111		; no weapon
	.byte %00111011		; dagger
	.byte %00111111		; staff
	.byte %00110101		; mace
	.byte %00110101		; flail
	.byte %00111001		; short sword
	.byte %00110001		; long sword
	.byte %00110001		; battle axe
	.byte %00110001		; two-handed sword
	.byte %00111111		; sling
	.byte %00111001		; bow
	.byte %00110001		; crossbow
...and armor:

Code: Select all

RACEARMOR:
	;BYTE 0 0 0 0 HOBBIT DWARF ELF HUMAN
	.byte %00001111		; no armor
	.byte %00001111		; robe
	.byte %00001111		; leather
	.byte %00001111		; studded leather
	.byte %00001111		; ring mail
	.byte %00000111		; chain mail
	.byte %00000111		; plate mail
	.byte %00001111		; elfin chain
Realms of Quest III will be a 32KB cartridge -- but it will work if you also download to a VIC-20 that has 32KB of RAM expansion (such as a Mega Cart)... or you can play it the old-fashioned way by using an emulator ;)
"A slave is one who waits for someone to come and free him." -- Ezra Pound
User avatar
orion70
VICtalian
Posts: 4337
Joined: Thu Feb 02, 2006 4:45 am
Location: Piacenza, Italy
Occupation: Biologist

Post by orion70 »

Ghislain wrote:Realms of Quest III will be a 32KB cartridge -- but it will work if you also download to a VIC-20 that has 32KB of RAM expansion (such as a Mega Cart)... or you can play it the old-fashioned way by using an emulator ;)
Wow, so many options and attributes in this new project... Can't wait to test play it :D .
32K instead of 3.5K: RPGs, when size matters... 8)

BTW, you should consider the opportunity to write a detailed manual (after having finished with the game, of course).
User avatar
Ghislain
Realms of Quest
Posts: 1279
Joined: Sun Aug 08, 2004 12:54 am

Post by Ghislain »

orion70 wrote:BTW, you should consider the opportunity to write a detailed manual (after having finished with the game, of course).
That's something that I definitely want to do--I'm going to delegate some of the writing to a friend of mine who's pretty good at this kind of thing.

I wonder how much it would cost to make a cloth map...
"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

Post by Ghislain »

1400 bytes in, and this is what I have so far...

Image Image

...next, I have to work on special magic items.
Last edited by Ghislain on Sat Jan 09, 2010 7:54 am, edited 2 times in total.
"A slave is one who waits for someone to come and free him." -- Ezra Pound
Post Reply