Page 5 of 10
Posted: Tue Apr 30, 2013 8:03 am
by Ghislain
Kweepa wrote:Huh, that worked!
Looks good. Some of the views seem a little strange (missing walls etc) but it could be that the map is very sparse.
The missing walls means there's no actual physical wall there. I cheated in Realms III by placing posts around the hallways. Realms IV is a bit more honest in that regard, but the wireframe display is a bit disconcerting at first.
darkatx wrote:I had turned on true drive emulation (mind you I had enabled it after the initial load but before 'Leaving') but it was a older version of VICE. Worked fine on 2.3 with true drive emulation on.
Yeah, I like the view - works for me and you seem to have adjusted it so that it is similar in perspective to ROQ3.
Looks very promising indeed
Thanks. I'm not sure why older versions of VICE is having difficulty -- the game does write to a temp SEQ file before it loads the dungeon module, and then loads the temp SEQ file into variable memory after the dungeon module has been loaded. Real hardware with SD card reader works fine by the way, and VICE 2.4 works fine with true drive on or off.
In the end, I'll probably POKE the variable data to RAM before it loads the dungeon module. This will reduce the amount of read/writes to disk, and make it run a bit faster as well.
If I'm unable to cram the dungeon and combat modules into the same program listing, what I'll most likely do is have two versions of the game: one for 16K expansion (minimum RAM) and then one for 24K expansion (recommended RAM).
The level 1 map is almost the same as the one whose image I posted earlier in the thread. You can try to go through the secret wall yourself.
Posted: Tue Apr 30, 2013 3:42 pm
by Ghislain
I just finished programming the routines to detect magic and detect traps.
Posted: Thu May 02, 2013 12:40 pm
by Ghislain
Yesterday, I made it so that the menu intro music is loaded from disk. So I saved 350 bytes by doing that. There's no point in having routines present in memory if they're not going to be used by the main game engine.
I'll see what else can be loaded dynamically from disk so that I can save even more memory.
Posted: Thu May 02, 2013 5:18 pm
by Ghislain
I programmed some of the NPC and dungeon text message interactions today.
Posted: Sat May 04, 2013 2:12 pm
by Ghislain
As you travel through the dungeon, you'll come across situations where special items are needed to surpass them.
Posted: Sat May 04, 2013 2:24 pm
by pallas
I really like the way your project is progressing. Looks like the "hours of fun like when I was 20" kind of stuff I'm looking for this days.
Posted: Sun May 05, 2013 10:11 am
by Ghislain
pallas wrote:I really like the way your project is progressing. Looks like the "hours of fun like when I was 20" kind of stuff I'm looking for this days.
Thanks. Today I digitized the level 1 monster images into 64x64 pixels. I'm going for that 1970s old school D&D look.
DEMON MANES
DWARF
ELF
GIANT RAT
GOBLIN
HOBBIT
KOBOLD
ORC
SHRIEKER
SKELETON
Posted: Fri May 10, 2013 9:37 pm
by Ghislain
I've been busy with coming up with a definitive monster list.
I display their stats here. I'm not spoiling anything because I intend to list these things in the manual, and none of the boss monster details are posted here.
Code: Select all
LV MONSTER NAME HIT PTS AC #AT DAMAGE ATTACK1 ATTACK2 ATTACK3 ATTACK4
== ============ ======= == === ====== ======= ======= ======= =======
1 ELF 1-10 5 1 1-8 SWING SWING SWING SWING
1 GIANT CENTIPEDE 1-2 9 4 1-2 SWING SWING SWING POISON
1 GNOME 1-6 5 1 1-6 SWING SWING SWING SWING
1 GOBLIN 1-7 6 1 1-6 SWING SWING SWING SWING
1 HOBBIT 2-6 7 1 1-6 SWING SWING SWING SWING
1 KOBOLD 1-4 7 1 1-4 SWING SWING SWING SWING
1 ORC 1-8 4 1 1-8 SWING SWING SWING SWING
1 SHRIEKER 1-2 7 1 1-2 SWING SWING SWING PARALYSE
1 SKELETON (U) 1-6 7 1 1-6 SWING SWING SWING SWING
1 STIRGE 1-8 8 2 1-6 SWING SWING SWING SWING
2 AXE BEAK 3-24 6 2 1-3 SWING SWING SWING SWING
2 BROWNIE 1-4 7 1 1-3 SWING SWING SUMMON CHARM
2 BUGBEAR 3-24 5 2 1-6 SWING SWING SWING SWING
2 DEVIL LEMURE (D) 3-24 7 1 1-3 SWING SWING SWING HEAL
2 DWARF 2-12 4 1 1-10 SWING SWING SWING SWING
2 GARGOYLE 4-32 0 2 1-3 SWING SWING SWING SWING
2 GHOUL (U) 2-16 5 1 1-3 SWING SWING SWING SUMMON
2 GNOLL 2-16 4 1 1-8 SWING SWING SWING SWING
2 QUASIT 3-18 2 1 1-4 SWING SWING SWING SWING
2 WERERAT 3-24 5 1 1-8 SWING SWING SWING POISON
3 BLINK DOG 4-32 5 1 1-6 SWING SWING SWING SUMMON
3 CARNIVOROUS APE 5-40 6 2 1-8 SWING SWING SWING SWING
3 CARRION CRAWLER 3-24 4 3 1-2 SWING SWING SWING PARALYSE
3 DEMON MANES (D) 1-12 3 2 1-8 SWING SWING SWING SUMMON
3 GREEN SLIME 2-16 9 1 1-6 SWING SWING SUMMON DESTROY
3 JACKALWERE 4-32 4 1 1-4 SWING SWING POISON POISON
3 LEPRECHAUN 3-12 8 1 1-3 SWING SWING SUMMON CHARM
3 OGRE 4-32 2 1 1-10 SWING SWING SWING SWING
3 PIERCER 4-32 3 2 1-6 SWING SWING SWING SWING
3 PSEUDO-DRAGON 2-16 0 1 1-3 SWING SWING SWING BREATHE
4 CATOBLEPAS 10-60 1 1 1-6 SWING SWING SWING SWING
4 COCKATRICE 5-40 4 1 1-3 SWING SWING SWING STONE
4 GIANT SPIDER 5-40 4 2 1-4 SWING SWING SWING POISON
4 LAMIA 15-75 3 1 1-4 SWING SWING SWING SWING
4 MINOTAUR 6-48 0 1 1-12 SWING SWING SWING SWING
4 OGRE MAGE 5-40 3 1 1-12 SWING SWING HEAL LIGHTNING
4 OWL BEAR 5-40 5 2 1-10 SWING SWING SWING SWING
4 SIREN 3-24 5 2 1-4 SWING SWING CHARM CHARM
4 WEREWOLF 5-40 4 1 1-12 SWING SWING SWING POISON
4 ZOMBIE (U) 4-32 4 1 1-10 SWING SWING POISON POISON
5 ANKHEG 5-40 2 1 1-6 SWING SWING POISON PARALYSE
5 BASILISK 5-40 0 1 1-10 SWING SWING SWING STONE
5 DISPLACER BEAST 6-48 4 2 1-6 SWING SWING SWING SUMMON
5 GIANT SLUG 12-96 8 1 1-12 SWING SWING SWING SWING
5 HELL HOUND 6-48 4 1 1-6 SWING SWING SWING BREATHE
5 MANTICORE 6-48 4 6 1-6 SWING SWING SWING SWING
5 MEDUSA 6-48 3 1 1-4 SWING SWING STONE STONE
5 OTYUGH 7-56 3 3 1-6 SWING SWING SWING SWING
5 SUCCUBUS (D) 6-48 0 2 1-3 SWING SWING SWING DRAIN
5 WEREBOAR 8-64 1 1 1-8 SWING SWING SWING POISON
6 CHIMERA 9-72 2 2 1-6 SWING SWING SWING BREATHE
6 ETTIN 10-80 -1 2 1-10 SWING SWING SWING SWING
6 GORGON 8-64 0 2 1-6 SWING SWING SWING STONE
6 HILL GIANT 9-72 1 1 1-20 SWING SWING SWING SWING
6 LAMMASU 8-64 0 2 1-12 SWING SWING SWING SWING
6 LURKER ABOVE 10-80 4 1 1-6 SWING SWING SWING DESTROY
6 MUMMY (U) 6-48 1 1 1-12 SWING POISON POISON DRAIN
6 NEO-OTYUGH 9-72 0 2 1-12 SWING SWING SWING SWING
6 SU-MONSTER 12-96 2 2 1-12 SWING SWING SWING SWING
6 WERETIGER 10-80 0 2 1-10 SWING SWING SWING POISON
7 AIR ELEMENTAL 16-128 2 2 1-10 SWING SWING SWING SUMMON
7 CLAY GOLEM 10-80 2 3 1-10 SWING SWING SWING SUMMON
7 HYDRA 8-64 4 8 1-8 SWING SWING SWING SWING
7 RAKHASA (D) 7-56 -15 2 1-15 SWING SWING SWING SWING
7 SHAMBLING MOUND 8-64 -1 4 1-8 SWING SWING SWING DESTROY
7 SPECTRE (U) 10-80 2 1 1-8 SWING SWING DRAIN DRAIN
7 STONE GIANT 12-96 -1 2 1-12 SWING SWING SWING SWING
7 STONE GOLEM 12-96 -2 3 1-8 SWING SWING SWING SUMMON
7 TROLL 10-80 2 3 1-10 SWING SWING SWING HEAL
7 WIGHT (U) 10-80 2 1 1-10 SWING SWING LIGHTNING DRAIN
8 BLACK DRAGON 15-120 -11 2 1-15 SWING SWING SWING BREATHE
8 DRAGONNE 18-144 0 2 1-10 SWING SWING SWING BREATHE
8 EARTH ELEMENTAL 16-128 2 4 1-8 SWING SWING SWING SUMMON
8 FIRE ELEMENTAL 16-128 2 3 1-8 SWING SWING SWING SUMMON
8 IRON GOLEM 16-128 -4 4 1-10 SWING SWING SWING SUMMON
8 MARILITH (D) 8-88 -8 8 1-8 SWING DEATH DEATH DEATH
8 WATER ELEMENTAL 16-128 2 3 1-8 SWING SWING SWING SUMMON
8 WEREBEAR 15-120 0 2 1-10 SWING SWING POISON POISON
8 WHITE DRAGON 12-96 -9 2 1-10 SWING SWING SWING BREATHE
8 WRAITH (U) 15-120 0 2 1-15 SWING SWING SUMMON DEATH
9 BEHOLDER 32-288 -8 2 1-8 SWING LIGHTNING PARALYSE DEATH
9 BERZERKER 25-250 -10 3 1-15 SWING SWING SWING SWING
9 GHOST (U) 18-144 -1 2 1-15 SWING DRAIN DRAIN DRAIN
9 GREEN DRAGON 22-220 -13 1 1-15 SWING SWING LIGHTNING BREATHE
9 LICH (U) 26-208 -4 3 1-10 SWING LIGHTNING SUMMON DEATH
9 PURPLE WORM 30-450 3 4 1-10 SWING SWING SWING DESTROY
9 RED DRAGON 25-200 -12 2 1-12 SWING SWING LIGHTNING BREATHE
9 SILVER DRAGON 20-200 -14 2 1-10 SWING SWING LIGHTNING BREATHE
9 WYVERN 20-200 -2 3 1-15 SWING SWING LIGHTNING LIGHTNING
9 YEENOGHU (D) 20-160 -5 1 1-18 SWING PARALYSE PARALYSE DEATH
10 ASMODEUS 35-280 -10 4 1-15 SWING PARALYSE DEATH DEATH
10 BALRON (D) 36-432 -2 1 1-13 SWING DEATH DESTROY DRAIN
10 DEMOGORGON (D) 40-400 -15 3 1-30 SWING SUMMON DEATH DRAIN
10 ERINYES (D) 25-150 -20 2 1-8 SWING STONE STONE STONE
10 FIRE GIANT 25-300 -12 2 1-30 SWING PARALYSE BREATHE DEATH
10 GOLD DRAGON 25-250 -15 2 1-25 SWING LIGHTNING BREATHE BREATHE
10 ORCUS (D) 30-300 -9 3 1-20 SWING LIGHTNING PARALYSE DEATH
10 STORM GIANT 30-300 -16 2 1-40 SWING LIGHTNING DEATH DEATH
10 TITAN 50-500 -10 4 1-40 SWING HEAL PARALYSE DEATH
10 VAMPIRE (U) 30-240 -6 3 1-20 SWING CHARM DRAIN DRAIN
Each of these will have their own unique monster portrait (100 of them in total).
Posted: Sat May 11, 2013 12:10 am
by Kweepa
Wow!
Posted: Sun May 12, 2013 10:15 am
by Ghislain
Kweepa wrote:Wow!
I foresee this game to take up close to an entire disk side.
I've now completed 40% of the monster graphic 64x64 pixel images. Once this is completed, I'll start working on the combat module.
For those interested, I've uploaded another demo:
https://sites.google.com/site/gdbsite50 ... ects=0&d=1
You can now see stairs, and read some of the pop-up text messages, find the yellow key to open the yellow door, as well as the teleporter zapping you to another location.
Posted: Fri May 17, 2013 5:22 am
by Ghislain
Quick update: 70% of the monster graphics are now completed.
Hopefully I haven't forgotten my own program code while I've been focusing on the monster graphics these past few days.
Posted: Sun May 19, 2013 8:38 am
by Ghislain
I just finished making the rest of the 64x64 pixel monster portraits.
When I was young, I loved to page through the D&D monster manual and wondered what it would be like to see them in a Wizardry-style RPG game.
Posted: Sun May 19, 2013 9:53 am
by darkatx
Impressive!
Posted: Tue May 21, 2013 1:55 pm
by malcontent
Ghislain wrote:Hopefully I haven't forgotten my own program code while I've been focusing on the monster graphics these past few days.
That's the worst feeling, staring at code you wrote and haven't seen in a while, and being like "What the heck does this do again?"
Posted: Fri May 24, 2013 4:29 am
by Ghislain
Thanks all. I'm still working on this game on most days, doing a little bit at time.
I tried to see if POKEing the party BASIC variables into RAM before loading a different module would save time. It took 10 seconds compared to the 6 seconds or so to write to disk. I think that writing and then reading from a save temp file will have to be a necessary evil for the modular concept of the game engine that uses BASIC. 16K RAM owners will find the game a bit lagging as the game loads the combat module when they're in the dungeon. Those who have at least 24K of RAM will find the gameplay a lot faster in that respect because the dungeon and combat modules will share the same program listing.
As I alluded to before, Realms of Quest IV will have 16K as a minimum requirement and 24K being the recommended requirement.
In hindsight, I probably should have designed this in ML from the outset. A lot of the ML stuff I thought I had forgotten from writing RQ3 had quickly come back, and it's much easier to edit an ML program written on a text file on a PC than to edit a BASIC program listing from an emulator. I have to periodically output the program listing to a text file from time to time to make sure I don't have the same routine programmed twice in disparate sections of the listing.
In spite of that, I'll continue writing the game as I have been doing so far (mostly BASIC with embedded ML routines). I have a good template for any possible follow-up games in the series. If Realms V ever gets made, then I'll convert the Realms IV BASIC program listings into ML.
I've begun working on the combat module. I also programmed ML routines that can dynamically load the monster portrait images into the memory locations that I choose. Since combat will allow up to 3 groups of monsters, then I want them all stored separately in their own memory slots where they get displayed when appropriate.