(wip) Final Quest

Discussion, Reviews & High-scores

Moderator: Moderators

User avatar
R'zo
Vic 20 Nerd
Posts: 514
Joined: Fri Jan 16, 2015 11:48 pm

Re: (wip) Final Quest

Post by R'zo »

Thank you for the input
1. movement input method : direction plus steps....okay....a little cumbersome. I understand it's similar to Temple of Apshai so perhaps I can forgive that. But maybe there should be default of 5 steps if one simply hits return and does not enter a number of steps. Also the choice of numbers for movement seems awkward. I remember back in the 80s when games like this used a computer's number pad as a directional compass (i.e. 4 for west, 6 for east, 8 for north, so on...). That actually made a lot of sense. Then when these games got ported to the VIC-20 / C64, they kept the number system for movement, even though Commodore users had to use the top row of the keyboard. Still, it followed a standard (the numbers remained the same from the keypad versions). However, in your game the choice of numbers you've used for movement doesn't even seem to follow this standard. i.e. I believe you have 4 for east, whereas it would seem to make more sense for that number to be west. It would also make the game nice to play in VICE, using a PC keyboard with a number pad. Even reserving a fake directional pad, like I,J,K,M, on the VIC-20s keyboard would be better.[
The idea behind the layout of the controls was that west is to the left (1) and east to the right (4) with North and South in the Middle (2 &3) this makes the most sense to me on a row style keypad but that's why we need feedback from others. I think I,j,k,m or w,a,s,z might be better possible layouts. The only complication being that in the code I used the number values to pull ongoto routines with the movements and menu controls. I'might just not sure if I like how the 2,4,6,8 method spreads the movement keys out across the numerchant row on the vic. This would sremain more cumbersome to me.
I will definitely put some thought into a default movement value.
2. The whole narrow line-of-sight thing. Am I missing something, or does the player's character have tunnel vision? Maybe I didn't play it long enough and there is a lamp spell or light spell to acquire which will light up the whole room. I didn't want to play it that long because it was so tedious to move and figure out what the room was like with this very narrow range of vision. The whole game isn't like this, is it? Back in the 1980s, even when games used direction line-of-sight like this, it was about a 45-degree range of vision in the direction the character was looking, rather than a single character line.
The idea of the game is that your I am dark catacomb with nothing but a magic candle to light the path ahead of you. 45 range of vision was a little more difficult to do in basic without slowing the game down.
A magic scroll of illumination is something I'ever already put some thought into and I will will look into adding it in. All it will take is a background screen color change.

Thank you again your input has been very helpful.
R'zo
I do not believe in obsolete...
User avatar
R'zo
Vic 20 Nerd
Posts: 514
Joined: Fri Jan 16, 2015 11:48 pm

Re: (wip) Final Quest

Post by R'zo »

This requires 24k expansion if anyone needs to know.
R'zo
I do not believe in obsolete...
User avatar
R'zo
Vic 20 Nerd
Posts: 514
Joined: Fri Jan 16, 2015 11:48 pm

Re: (wip) Final Quest

Post by R'zo »

Change of plans concerning controls...

I just got the vice vic-20 emulator for android and I am loving it. I've been playing drone-x and exit plan z on my tablet and the controls work beautifully.
However The legend of victor is as of current keyboard based and the keyboard interface for the android emulation leaves little to be desired and makes the term cumbersome a huge understatement as far as the game controls are concerned.
I really want to be able to play my games on tablet as well as it would be nice if I could utilize this program to put my games up for play for people outside of the vic community if possible.

Due to this the following changes will be made...
- Movement control will be direct instead of menu based input.
- Movement will be controlled with the joystick.
- The eternal candle will only shine 3 to 5 spaces ahead in order to speed up movement controls for smoother play. ( Adding in a spell of illumination will help make up for this sacrifice.)
- All menus will have only 6 options to allow for the 6 buttons available in emulation.
- I may decide to expand to 32k or 35k to allow room for more music and possible user graphics.

I would be interested to know if anybody has any opinions or feedback on the directions or storyline.
R'zo
I do not believe in obsolete...
User avatar
Ola H
Vic 20 Enthusiast
Posts: 170
Joined: Thu Aug 20, 2015 6:08 pm
Website: http://www.athleticdesign.se/
Location: Sweden

Re: (wip) Final Quest

Post by Ola H »

I'm more of an arcade game guy, but I plan to try this out when time allows so. I really hope you get more feedback eventually!
User avatar
R'zo
Vic 20 Nerd
Posts: 514
Joined: Fri Jan 16, 2015 11:48 pm

Re: (wip) Final Quest

Post by R'zo »

I have taken some time to toil over this game and what direction to take it in from here. At this point in order to do what I want I will have to do almost a total rewrite of all the routines. I will be able to use the current code for a skeletal structure to build off of so I will fortunately not have to rewrite it from the ground up.

First I am putting in custom graphics. Here is what I have been working on. (graphic sample images are taken from the graphics editor in cbm .prg studio.)

This will be the new title screen. It will be displayed why the initial loader program is running. The initial loader will load most of the game data that will be stored in the expansion areas... enemy graphics/data, music routines, ml routines etc... and then set the basic area to block 0 and load the menu program.

Image
R'zo
I do not believe in obsolete...
User avatar
R'zo
Vic 20 Nerd
Posts: 514
Joined: Fri Jan 16, 2015 11:48 pm

Re: (wip) Final Quest

Post by R'zo »

The menu program will be placed in the lower 3k @ block 0. I have not yet decided if it will remain there to return to from the main game program or if it will get cleared for game data. I am thinking of using this space for player data, stats and inventory. I am now planning on using full expansion provided by ultimem (block 0,1,2,3,5,io1 and io2) So I may have enough space to keep in here. If not It can always be reloaded from the main game program on exit.

The menu first load character data from a .seq on disk into the unexpanded area just above the screen and set character pointers accordingly and then print the menu screen.

Image

Start Game- will load initial character data from disk into designated expansion area, set basic pointers to start above character data (main basic program will probably take place in expansion blocks 1,2 and 3) and load the main program.

Load game- will load saved character data from disk and then load the main program.

Story- will print story from .seq on disk

Directions- will display game instructions for playing.

Credits- Will display game credits, thank yous and links.

Exit- will either reload the title screen or clear all data out and reset the vic, I have not decided yet.
R'zo
I do not believe in obsolete...
User avatar
R'zo
Vic 20 Nerd
Posts: 514
Joined: Fri Jan 16, 2015 11:48 pm

Re: (wip) Final Quest

Post by R'zo »

Here are the text font, enemy graphics and symbol key for the game.

Image

Enemies when loaded for battle will appear in different colors for elemental alignment. i.e. blue wraith =ice wraith, red sprite will be fire sprite. This will make it less of a guessing game to tell how the enemy is aligned.

I did not list the enemy titles here because I would like to see if their recognizable enough for people to tell what they are without titles.
R'zo
I do not believe in obsolete...
User avatar
R'zo
Vic 20 Nerd
Posts: 514
Joined: Fri Jan 16, 2015 11:48 pm

Re: (wip) Final Quest

Post by R'zo »

Controls will now be entirely joy stick driven. Joy stick to move. Button to toggle from map to menu. Joystick to navigate menu button to select options. Selecting map from menu will toggle from menu back to map.

Map will now unfold in front of you as you explore it in more of a rouge like style. There will be a illumination scroll as a find-able treasure
that will reveal the entire map and possibly a darkness spell that can be cast by enemies to cover the map back up.

Image

Enemy will appear in the enemy window when encountered. Enemy window frame is in aux color. It will default black and flash white when you attack the enemy and colors according to magic you cast on the enemy.

Enemy attacks and magic will flash the screen border.
R'zo
I do not believe in obsolete...
User avatar
R'zo
Vic 20 Nerd
Posts: 514
Joined: Fri Jan 16, 2015 11:48 pm

Re: (wip) Final Quest

Post by R'zo »

Here is a sample of what the in game screen will look like when the map is completely uncovered.

Image

Menu arrow will be red in menu mode and green in map mode.
R'zo
I do not believe in obsolete...
User avatar
R'zo
Vic 20 Nerd
Posts: 514
Joined: Fri Jan 16, 2015 11:48 pm

Re: (wip) Final Quest

Post by R'zo »

When I first came up with the idea of this game I wanted to incorporate ml but I was having a hard time figuring out ml at the time.
Now that I have finally broken that barrier some of the current routines will be rewritten in ml to help save on space and make gameplay a little smoother. Most of the new features I will be adding will be in ml.

For example- The 9 characters for the enemy window will be blank. Enemy graphic data will be stored in an expansion area (most likely block 5) and loaded byte by byte into the characters placed in the enemy window when enemy is encountered and cleared out at the end of the battle. Transferring the 72 bytes necessary for this would be timely in basic but almost instantaneous in ml. I am doing enemy graphics this way because I wouldn't have space for all the enemy graphics that I want if I put them strait into character data and simply printed the 9 characters upon enemy encountered.

I would like to use interrupt music but I am still having a hard time figuring out how to set up interrupts. I will have plenty of time to figure this out as it will take me at least 6 months if not a year to complete this project.
R'zo
I do not believe in obsolete...
User avatar
Mayhem
High Bidder
Posts: 3026
Joined: Mon May 24, 2004 7:03 am
Website: http://www.mayhem64.co.uk
Location: London

Re: (wip) Final Quest

Post by Mayhem »

This is looking pretty good :)

Could even be better than Sword of Fargoal even...
Lie with passion and be forever damned...
User avatar
GreyGhost
Vic 20 Nerd
Posts: 525
Joined: Wed Oct 05, 2005 11:10 pm

Re: (wip) Final Quest

Post by GreyGhost »

Wow. it's turning into the year for the adventure game enthusiasts. Thumbs up!
Rob
User avatar
R'zo
Vic 20 Nerd
Posts: 514
Joined: Fri Jan 16, 2015 11:48 pm

Re: (wip) Final Quest

Post by R'zo »

MY FIRST IRQ!!!

Here is a demo for my title screen.Title Screen It is written to run with 32k expansion for the game but will run with just 16k @ $A000 if you drop the ,1 from the load command.

This is a celebratory moment for me. After almost to years of reading I finally wrote my first functional ml routing just about a month ago. And now here's my first IRQ.

Being able to write interrupt music has been a personal goal since I first started learning to program with the vic. I was beginning to think I was never going to figure it out but here it is!
R'zo
I do not believe in obsolete...
User avatar
R'zo
Vic 20 Nerd
Posts: 514
Joined: Fri Jan 16, 2015 11:48 pm

Re: (wip) Final Quest

Post by R'zo »

Here's the code

Code: Select all

IRQ SETUP

*=$a000
start   sei
        lda     #$00
        lda     #$03
        sta     $0315
        lda     #$00
        lda     #$62
        sta     $0314
        cli
        rts
       
PLAYER/MUSIC

*=828
        byte    175,228,209,191,232,0,201,183,225,163,0,231,209,201,191,207,195,183
        byte    215,0,209,219,219,209,209,0,219,225,223,225,228,201,207,195,0,183
        byte    18,0

start   ldx     865
        cpx     #100
        bne     endnot
        ldx     #0
        stx     865
play    lda     864
        tax
        cpx     #18
        bne     jump1
        lda     #0
        tax
        jmp     jump2
jump1   inx
jump2   sta     864
        lda     828,x
        sta     36875
        sta     36874
        lda     846,x
        sta     36876
        txa
        sta     864
        jmp     start
endnot  inx
        stx     865
        jmp     $eabf        
        
BASIC LOADER+TITLE GRAPHICS

1 REM IRQ
2 Y = 40960
3 FOR X = 0 TO 16
4 READ A% : POKE Y+X,A%: NEXT X
5 DATA 120,169,0,169,3,141,21,3
6 DATA 169,0,169,98,141,20,3,88
7 DATA 96
8 poke36879,8:poke36878,8
10 REM SONG
11 Y = 828
12 FOR X = 0 TO 96
13 READ A% : POKE Y+X,A%: NEXT X
14 DATA 175,228,209,191,232,0,201,183
15 DATA 225,163,0,231,209,201,191,207
16 DATA 195,183,215,0,209,219,219,209
17 DATA 209,0,219,225,223,225,228,201
18 DATA 207,195,0,183,18,0,174,97
19 DATA 3,224,35,208,45,162,0,142
20 DATA 97,3,173,96,3,170,224,18
21 DATA 208,6,169,0,170,76,125,3
22 DATA 232,141,96,3,189,60,3,141
23 DATA 11,144,141,10,144,189,78,3
24 DATA 141,12,144,138,141,96,3,76
25 DATA 98,3,232,142,97,3,76,191
26 DATA 234
27 sys 40960
100 REM SCREEN 1 - title page
101 poke36879,8
110 PRINT "{reverse on}{black}{clear)                      ";
120 PRINT "{reverse off}{reverse on}                      ";
130 PRINT "{reverse off}{reverse on}                      ";
140 PRINT "{reverse off}{reverse on}                      ";
150 PRINT "{reverse off}{reverse on}                      ";
160 PRINT "{reverse off}{reverse on}                      ";
170 PRINT "{reverse off}{reverse on}                      ";
180 PRINT "{reverse off} {blue}the leg{reverse on}{red}end o{reverse off}{blue}f victor ";
190 PRINT "{reverse on}{black}      {red}          {black}      ";
200 PRINT "{reverse off}{reverse on}   {reverse off}{red}{162}{reverse on}{178}{reverse off}{162}{reverse on}{178}{reverse off}{162}{reverse on}{178}{reverse off}{162}{reverse on}{178}{reverse off}{162}{reverse on}{178}{reverse off}{162}{reverse on}{178}{reverse off}{162}{reverse on}{178}{reverse off}{162}{reverse on}{black}    ";
210 PRINT "{reverse off}{reverse on}  {red}{177}{178}{177}{178}{177}{178}{177}{178}{177}{178}{177}{178}{177}{178}{177}{178}{177}{178}{black}  ";
220 PRINT "{reverse off}{reverse on} {red}{177}{178}{177}{178}{177}{178}{177}{178}{168}{168}{168}{178}{177}{178}{177}{178}{177}{178}{177}{178}{black} ";
230 PRINT "{reverse off}{reverse on}{red}{177}{178}{177}{178}{177}{178}{177}{178}{reverse off}{166}{166}{166}{166}{reverse on}{124}{178}{177}{178}{177}{178}{177}{178}{177}{178}";
240 PRINT "{reverse off}{reverse on}{178}{177}{178}{177}{178}{177}{178}{reverse off}{166}{166}   {166}{reverse on}{124}{178}{177}{178}{177}{178}{177}{178}{177}";
250 PRINT "{reverse off}{reverse on}{177}{178}{177}{178}{177}{178}{177}{reverse off}{166}  .. {reverse on}{124}{177}{178}{177}{178}{177}{178}{177}{178}";
260 PRINT "{reverse off}{reverse on}{178}{177}{178}{177}{178}{177}{reverse off}{166}{166}     {166}{reverse on}{124}{177}{178}{177}{178}{177}{178}{177}";
270 PRINT "{reverse off}{reverse on}{177}{178}{177}{178}{177}{178}{reverse off}{166}{166}     {166}{reverse on}{124}{178}{177}{178}{177}{178}{177}{178}";
280 PRINT "{reverse off}{reverse on}{black} {red}{177}{178}{177}{178}{177}{reverse off}{166}{166}     {166}{reverse on}{124}{177}{178}{177}{178}{177}{178}{black} ";
290 PRINT "{reverse off}{reverse on}  {red}{177}{094}{177}{094}{reverse off}{166}{166}{168}{168}{168}{168}{168}{166}{reverse on}{124}{094}{177}{094}{177}{094}{black}  ";
300 PRINT "{reverse off}{reverse on}   {red}               {black}    ";
310 PRINT "{reverse off}{reverse on}      {red}  dark    {black}      ";
320 PRINT "{reverse off}      {red}ca{reverse on}tacom{reverse off}bs       ";
330 PRINT "{reverse on}{black}                     {home}";
335 goto335
        
The player and music was altered from my first ml program. It was written in cbm prg studio which allows decimal usage. I have now started writing all my ml routines using hex just for good practice.
R'zo
I do not believe in obsolete...
User avatar
orion70
VICtalian
Posts: 4337
Joined: Thu Feb 02, 2006 4:45 am
Location: Piacenza, Italy
Occupation: Biologist

Re: (wip) Final Quest

Post by orion70 »

Wow! Very atmospheric! Congratulations on your achievement, I never could get past BASIC spaghetti.
Post Reply