Jump to content
IGNORED

Dark Maze (Version 1.1)


adamantyr

Recommended Posts

Eh, doing regression fixes on my CRPG is bor-ring... I figured, why not do my own entry for the contest?

 

And here it is... DARK MAZE! And now in version 1.1!

 

VERSION 1.1 CHANGES:

- Random maze generation improvements (bigger chambers, less likely to make an impossible maze)

- The sword now lasts a limited time

- Multiple potions/swords possible per level

- When the sword is in hand, the monster runs away

- Three lives, random placement on same map if monster catches you

- Scoring system

 

post-17978-126812044513_thumb.png

DARKMAZE_11.zip

 

You are a fearless adventurer, braving the awful depths of a dark and sinister dungeon for precious treasure.

 

But beware! You are not alone in this foul place. You can hear something else moving down here... and it's getting closer... and louder!

 

Unfortunately, it's very difficult to see down in this place. You can scour around you and see everything close, but far away places are a mystery. As you traverse the dungeon, you uncover its secrets and learn its twisting passages.

 

There are a few things to help you. A bubbling potion is here, drinking it causes the monster chasing you to stop for a brief time, letting you catch your breath and get out of his immediate reach.

 

Better still is the mystical sword, a powerful blade that will frighten and drive the monster away from you, for with it you can vanquish him and explore at your leisure... but the sword will disappear after a short time, so move quickly to catch him!

 

To advance to the next level, you must collect all the treasure chests on the dungeon level. The first level had three, and one additional chest is needed for each level, to a maximum of eight.

 

You have three lives at the start of the game. Completing a level awards you one additional life, to a maximum of five. Each time the monster catches you, you reappear in a different portion of the maze, although areas you have already traversed will remain visible.

 

The game ends when your greed leads to your frightful doom...

 

Scoring:

 

When you finally perish, your final score will be displayed. Two values separated by a slash indicate that the point award goes up per level, to the given maximum.

 

Picking up a Chest ........................ 50 points

Picking up the Sword ...................... 10 points

Picking up the Potion ..................... 10 points

Completing a level .................. 100/1000 points

Killing the monster ................. 100/1000 points

 

Controls:

Joystick - Move any of eight directions

 

Enjoy!

 

Current High (Me): Level 9, 8210 points

Edited by adamantyr
  • Like 3
Link to comment
Share on other sites

Wow ! That one is amazing !

 

I was killed almost instantly the first 3 times. Then I got to level 5. Good solid fun !

 

Bravo !

 

:)

 

PS. Yes, it needs CPU Overdrive ...

 

Glad you liked it. Yeah, it's all the GCHAR's to uncover the map that really slow it down. And much to my disgust, Extended BASIC doesn't support using LOAD for addresses and values, so I can't cheat and use a bit of machine language know-how to speed it up.

 

Adamantyr

Link to comment
Share on other sites

And much to my disgust, Extended BASIC doesn't support using LOAD for addresses and values, so I can't cheat and use a bit of machine language know-how to speed it up.

I think there would be a way around that, but I’m not the one to delve into that.

 

And then I guess the SSGC doesn’t allow machine language routines.

 

Just for your information ... I got stuck on a level ... Didn't I !?

 

darkmaze.png

 

:)

Link to comment
Share on other sites

And much to my disgust, Extended BASIC doesn't support using LOAD for addresses and values, so I can't cheat and use a bit of machine language know-how to speed it up.

 

Hm, actually, I was wrong, but you have to CALL INIT before CALL LOAD works. And it's not much use, since it doesn't have VDP access. (Testing how much of a headache trying to manipulate the VDP ports is. So far, a real skull-cracker.)

 

Just for your information ... I got stuck on a level ... Didn't I !?

 

darkmaze.png

 

Oh, I suppose you want your money back now? :) The random routine was pretty good about not creating trapped conditions when I was testing it, but it appears its possible...

 

Adamantyr

Link to comment
Share on other sites

The random routine was pretty good about not creating trapped conditions when I was testing it, but it appears its possible...

Hehe. That’s something like 2 treasure chests in the same position !? That's an easy fix. Test before putting it there. But you know all about that.

 

My 4 first games had sound turned off, so I didn't know what was coming. A sorry excuse for dying so much ...

 

:cool:

Link to comment
Share on other sites

Looks great Adam! Will try it out when I get home. Clever concept too. The description sounds a little bit like Atari Adventure, only better. :) Hopefully some of the Atarians here will drift over to this thread and check it out as well.

 

Now that you've posted an RPG I'm less shy about posting the one I've been working on. I started it over the weekend and it's about half done, I'll start a thread when it gets closer. But enough about my stuff, good job on this and I'm looking forward to giving it a thorough playing.

Link to comment
Share on other sites

Very cool! Another I found much more enjoyable in CPU Overdrive. :-) I had more than 1 instance of being started right next to the monster though, which is a little frustrating since I died before I even had a chance to move. Even still, I spent at least 30 minutes trying to reach level 5. :-)

 

Matthew

Link to comment
Share on other sites

Looks like 'The Sword of Fargoal'.

 

Oh yeah. I wrote my maze generation system based on how Fargoal's worked... albeit in a much simpler fashion.

 

Very cool! Another I found much more enjoyable in CPU Overdrive. :-) I had more than 1 instance of being started right next to the monster though, which is a little frustrating since I died before I even had a chance to move. Even still, I spent at least 30 minutes trying to reach level 5. :-)

 

Yeah, I can't do much in 30 lines to make the randomness, er, less random. :) Maybe give you three lives instead of just one, and you gain one for each successful level? Hm...

 

I also need to work on the maze generator a bit, make it a bit less likely to make impossible mazes. I know WHY it's possible; it's currently able to traverse its own path so it will stop immediately. I may see if I can make larger chambers as starting points as well, although the HCHAR and VCHAR's involved would be pushing it out of 30-line territory.

 

Since I knew CPU Overdrive would be popular, I also had to slow the monster down... he moved WAY too fast before. I used PEEK statements to check the VDP timer and make him wait at least 1/4 of a second between moves. This makes you slightly faster than he is on a straight-way.

 

Adamantyr

Link to comment
Share on other sites

what are these peek calls accessing?

 

PEEK(-31808,R,C)

 

PEEK(-31879,T2)

 

The first accesses part of the random number seed in the scratch-pad, so it gets you two random values from 0-255. You have to call RANDOMIZE first, though. It's much faster than using RND, but I probably didn't need to bother... the game's not all that fast without CPU overdrive.

 

The second is retrieving the current VDP timer value. I use that to check timing and slow the monster down... otherwise on CPU overdrive he's way too fast.

 

Adamantyr

Link to comment
Share on other sites

V1.1 :cool:

 

Darn monster !

 

I have the monster chasing me down the corridors et al at my own travelling speed ? I liked it better before, with the monster being a bit slower.

 

One moment I’ve got the sword, the next it’s gone, and I’m being chased again. Arrghh ! Well, there has to be a challenge.

 

More time generating the levels. That’s all fine.

 

Movement a bit slower. Well, that’s okay too.

 

The first version was more of a exploring kinda game. This one is too much cat and mouse inevitable. Just my 2 cents.

 

Otherwise great work ! :thumbsup:

Link to comment
Share on other sites

what are these peek calls accessing?

 

PEEK(-31808,R,C)

 

PEEK(-31879,T2)

 

The first accesses part of the random number seed in the scratch-pad, so it gets you two random values from 0-255. You have to call RANDOMIZE first, though. It's much faster than using RND, but I probably didn't need to bother... the game's not all that fast without CPU overdrive.

 

The second is retrieving the current VDP timer value. I use that to check timing and slow the monster down... otherwise on CPU overdrive he's way too fast.

 

Adamantyr

 

 

ok, I knew you could check the rnd value with a peek but I didn't know you could access the time. That could be handy to know in the future.

 

Jchase

Link to comment
Share on other sites

I have the monster chasing me down the corridors et al at my own travelling speed ? I liked it better before, with the monster being a bit slower.

 

I didn't notice him getting faster... but I did switch him to a sprite, which is faster to process, so that may be what did it. Also, at the moment, if you hit a wall it ignores the timer check, so I should probably fix that...

 

One moment I’ve got the sword, the next it’s gone, and I’m being chased again. Arrghh ! Well, there has to be a challenge.

 

Yeah. Otherwise, killing the monster is ridiculously easy... he just flees to and cowers in a corner. I'd have to alter the chase algorithm, which I don't have the line space for now.

 

More time generating the levels. That’s all fine.

 

Movement a bit slower. Well, that’s okay too.

 

The first version was more of a exploring kinda game. This one is too much cat and mouse inevitable. Just my 2 cents.

 

The mazes create chambers now of 3x3, which makes more permissible space. But they do spend a bit more time plotting... if I threw in a random direction change, that may make it finish quicker. I hadn't done anything to slow down movement... some other factors may be causing that.

 

The character of the game is different from the first version. Since your random chance of ending up right next to the monster was high, I introduced lives, which makes it more likely you can survive multiple levels. A point system is something else to brag about besides the level you reached. I think it was always "cat and mouse" though. :) My original plan was multiple monsters. ;)

 

Adamantyr

Edited by adamantyr
Link to comment
Share on other sites

Thanks for your comments and great work.

 

Since I knew CPU Overdrive would be popular, I also had to slow the monster down... he moved WAY too fast before. I used PEEK statements to check the VDP timer and make him wait at least 1/4 of a second between moves. This makes you slightly faster than he is on a straight-way.

Well, I overwrote the first version, but I recall being able to outrun the monster. Now, he's right there behind me.

 

;)

Link to comment
Share on other sites

  • 7 years later...

Been working on some long-dormant projects in Classic99 lately, and also going through and revisiting other people's programs that have been lingering on the drive. I wanted to give Adam a shout-out and bring this game to the attention of anyone who's recently joined the forum. This is such an elegant little game, it works well within the limits of XB and it contains scads of atmosphere. I went down the rabbit hole playing it for quite some time today!

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...