**New Release** REALMS OF QUEST 3 (available for order!)
Moderator: Moderators
Glad you like the demo. The next one will probably be released once I have combat done. Hopefully I can keep that under 4K or so (9950 bytes left and counting down!).MRaider wrote:Liking this a lot. One point I noticed (playing in VICE) is that the movement keys auto-repeat, so when I zoomed my party along a few spaces without paying attention, two of them ended-up dead because I didn't notice they'd been attacked (or whatever it was that killed them) until afterwards. Maybe you could have the game disallow movememt when a potentially-lethal event occurs until a separate key has been pressed to indicate that you really want to run away...?
What happened in your case (as you probably already know) was that some of your characters lost HP when they got poisoned (walking through poisonous marshes) or lost HP while walking through molten lava. You should have seen messages notifying you of this in the middle of the screen.
But you're right -- I should disable movement when something like this occurs. Next time you're poisoned, just look at the character who is poisoned when you move -- you'll notice a small flash on the character name -- this will become more obvious in the final version (sound effect will probably be used in this case).
What does everyone think about giving the option to save to disk or tape? I might have to disallow the latter if I run out of memory and I have to make this a multi-loading game (as in separate program modules for combat, movement, etc). If I can fit it all under 35.5K, then I'll keep tape support -- it just feels more 'retro' that way (except that, 32K memory expansion was extremely rare back in the day).
What does everyone else think about using the cursor keys for movement? I know it's a bit weird that you should press SHIFT+CRSR DOWN (on the real hardware) to move up on the map (or 'forward' inside a dunjon) but most Commodore users are familiar with cursor key usage. As well, this makes it easier for the game to run on emulators with a PC keyboard. And if one doesn't like to use the cursor keys, I will be adding joystick support.
"A slave is one who waits for someone to come and free him." -- Ezra Pound
It's looking great, Ghislain!Ghislain wrote:What does everyone else think about using the cursor keys for movement? I know it's a bit weird that you should press SHIFT+CRSR DOWN (on the real hardware) to move up on the map (or 'forward' inside a dunjon) but most Commodore users are familiar with cursor key usage. As well, this makes it easier for the game to run on emulators with a PC keyboard. And if one doesn't like to use the cursor keys, I will be adding joystick support.
What about IJKL for NWSE? Pretty standard, used in Wasteland, home-key orientation, would work for emulators too. Maybe you could allow for either IJKL or cursor keys to work?
Thanks! As for IJKL (I would rather use @:;/ because of their proximity to the RETURN key), I could put that in there once the game is officially released in beta/production versions. But I have to think about it -- I specifically used the cursor keys for a reason so that the menu cannot be used while in movement mode.saehn wrote:It's looking great, Ghislain!
What about IJKL for NWSE? Pretty standard, used in Wasteland, home-key orientation, would work for emulators too. Maybe you could allow for either IJKL or cursor keys to work?
You guys don't have to feel shy if you find something wrong with the demo--basically, you are the QA team
"A slave is one who waits for someone to come and free him." -- Ezra Pound
That sounds good except for emulation... those keys don't map out exactly the same on a PC keyboard, so might be a bit confusing? Just a thought.Ghislain wrote:Thanks! As for IJKL (I would rather use @:;/ because of their proximity to the RETURN key), I could put that in there once the game is officially released in beta/production versions. But I have to think about it -- I specifically used the cursor keys for a reason so that the menu cannot be used while in movement mode.
Yeah, but they work great on an emulator! That is until I try this on the real hardware, I'll probably change my mind by then.orion70 wrote:Agree. Cursors keys on the real VIC would be a pain in the a**.
I'll probably allow IJKL + cursor keys + joystick for movement and cursor keys + joystick for menu navigation.
A + RETURN + firebutton for the 'action' button when you're in movement mode and RETURN + firebutton to select a menu item when you're in menu mode.
Thanks! Were you able to easily create characters, buy items, equip the characters and buy a boat without any problems?BTW, the demo was stunning!
As well, were you guys able to get to a dunjon and explore the 3D mazes? That's pure line feed shift registers being expressed there... a pretty cool memory saving technique
"A slave is one who waits for someone to come and free him." -- Ezra Pound
- Mayhem
- High Bidder
- Posts: 3031
- Joined: Mon May 24, 2004 7:03 am
- Website: http://www.mayhem64.co.uk
- Location: London
I did some more graphics work today. I figure that after a long hard day hunting for orcs, your party deserves to lay back at the inn and enjoy their fill of bread wine and then reminisce about all the other times that they've had their fill of bread and wine!
Basically, you'll see this image every time your party rests for the night (at the castle or at a city).
The graphic was inspired by the D&D comic book advertisements from the early 1980s:
Basically, you'll see this image every time your party rests for the night (at the castle or at a city).
The graphic was inspired by the D&D comic book advertisements from the early 1980s:
"A slave is one who waits for someone to come and free him." -- Ezra Pound
Kweepa wrote:Looking more and more spectacular!
I hope you're keeping some surprises back for the final game though!
Thanks guys! Adding the pub graphic just adds a little bit extra to the enjoyment of the game, and I've always wanted to put something like that in there.ral-clan wrote:That pub scene is fantastic! And to think you don't consider yourself an artist! You're making great pixel art!
I confess, I'm a bit of an open book when it comes to making this game. The final product will have music and this won't be shown until the final game, I think.
Today I worked on the healing temple menu option. I did program 3 options (cure poison, stone to flesh, resurrection) but I decided to go with 1 "heal everything" option that costs 500 GP:
A bit of a shortcut, but this way I can save memory and it also makes it easier for the player to navigate this option.
I also streamlined a lot of code this morning which saved a couople of hundred bytes. With the pub graphic and the temple added, now I've about 9500 bytes free.
"A slave is one who waits for someone to come and free him." -- Ezra Pound
Today I'm working on the assembly language equivalent of 2^lelvel * 1000 (to calculate the level advancement chart). This is the source code
2^1*1000 = 2000 (the base experience requirement for level 2 for a fighter).
I might change the base experience for other classes (1500 for priest, 2500 for magic user, etc) if memory allows it.
Code: Select all
PRINTSTRING_K = $CB1E
PRINTINT_XA = $DDCD ; prints x/a integer to the screen
PRINTFAC_K = $DDD7 ; prints FAC to screen
GETIN_K = $FFE4
PRINTCHAR_K = $FFD2
RANDOM_K = $E094
INT_YA2FAC = $D391 ; converts y/a integer to floating point and stores it in FAC
CMP_FAC2AY = $DC5B ; compares FAC to memory location a/y
STA_FAC2XY = $DBD4 ; stores FAC to memory location x/y
STA_FAC2TEMP1 = $DBCA ; stores FAC in temporary location 1
STA_FAC2AFAC = $DC0C
MEM_AY2FAC = $DBA2 ; transfers MFLPT in a/y to FAC
SUB_AY_FAC = $D850 ; FAC = memory at a/y - FAC
INT_FAC = $DCCC ; perform INT on FAC
ADD_FAC_AY = $D867 ; add fac to MFLPT in a/y then store in FAC
POWER_AFAC_FAC = $DF7D ; FAC = AFAC ^ FAC
MULTIPLY_FAC10 = $DAE2 ; multiply FAC by 10
LDY #2
LDA #0
JSR INT_YA2FAC ; convert integer 2 to FAC
JSR STA_FAC2AFAC ; store FAC in AFAC
LDY #2
LDA (PCHARLO),Y ; get level of the character
TAY
LDA #0
JSR INT_YA2FAC ; convert level to FAC
JSR POWER_AFAC_FAC ; FAC = 2 ^ level
JSR MULTIPLY_FAC10
JSR MULTIPLY_FAC10
JSR MULTIPLY_FAC10 ; multiply by 1000
JSR PRINTFAC_K
I might change the base experience for other classes (1500 for priest, 2500 for magic user, etc) if memory allows it.
"A slave is one who waits for someone to come and free him." -- Ezra Pound
- Mike
- Herr VC
- Posts: 4901
- Joined: Wed Dec 01, 2004 1:57 pm
- Location: Munich, Germany
- Occupation: electrical engineer
This is, how CBM BASIC stores the value 1000 as float value in memory:
Which, in fact, is 2^10*0.9765625. The first byte contains the exponent in excess-128 notation, the other 4 bytes contain the mantissa.
That means, in your concrete application, you can produce the values 2000, 4000, etc., by replacing $8A with $8B, $8C, ...
Greetings,
Michael
Code: Select all
$8A $7A $00 $00 $00
That means, in your concrete application, you can produce the values 2000, 4000, etc., by replacing $8A with $8B, $8C, ...
Greetings,
Michael