Jump to content
adamantyr

Dark Maze (Version 1.1)

Recommended Posts

Somehow I missed posting this game on the TI Gameshelf... I'll correct that oversight with the next update.

Share this post


Link to post
Share on other sites

Fired it up myself... Wow I made a tough game! I wish it was more playable without using CPU Overdrive mode though. Part of me wants to make a "deluxe" version that uses assembly routines to do the GCHAR/map uncovering quickly, and then add multiple monsters as you descend deeper...

 

I won't though... the problem is, it wouldn't stop there. :) Then I'd want the maze generation to be fast too... and then response time would be sluggish... and I'd just end up crafting the whole thing in assembly. :D

  • Like 1

Share this post


Link to post
Share on other sites

Fired it up myself... Wow I made a tough game! I wish it was more playable without using CPU Overdrive mode though. Part of me wants to make a "deluxe" version that uses assembly routines to do the GCHAR/map uncovering quickly, and then add multiple monsters as you descend deeper...

 

I won't though... the problem is, it wouldn't stop there. :) Then I'd want the maze generation to be fast too... and then response time would be sluggish... and I'd just end up crafting the whole thing in assembly. :D

 

Try Forth! I bet this thing would just blaze away in TF...

Share this post


Link to post
Share on other sites

I dunno if this is a weird side effect of age and nostalgia, but I find that I'm not turning CPU Overdrive on when I play games like this as much. I like the slow, deliberate pacing you have to force upon yourself to move in "BASIC time." I think it adds to the atmosphere of the game.

 

I'm dealing with that with the thing I'm trying to finish up now. It's a slow-paced game and I like it that way, but I have a feeling most people are gonna be driven up a wall by it.

  • Like 2

Share this post


Link to post
Share on other sites

I dunno if this is a weird side effect of age and nostalgia, but I find that I'm not turning CPU Overdrive on when I play games like this as much. I like the slow, deliberate pacing you have to force upon yourself to move in "BASIC time." I think it adds to the atmosphere of the game.

 

I'm dealing with that with the thing I'm trying to finish up now. It's a slow-paced game and I like it that way, but I have a feeling most people are gonna be driven up a wall by it.

 

At first a slow TI BASIC game can be a bit irritating, but after a few minutes of play, assuming the game is well made, I find myself getting absorbed by it. I suspect that in this age of gigahertz processors and lightning fast shooters, many users may quit on these types of games within a few seconds without giving them much of a chance and thus miss out on a potentially great experience.

As for overdrive, I usually don't use it because it feels like cheating. Weird, huh?

  • Like 3

Share this post


Link to post
Share on other sites

F**k me what an awesome game! I'm dying to port this to TF (I'd make a "how to" video series out of it) but I can't fathom how the maze drawing routine works.

 

Can someone break it down into pseudo code? :-)

Share this post


Link to post
Share on other sites

Certainly!

  • Fill up the screen with wall patterns
  • Create 8 3x3 empty chambers randomly on the map board
    • The coordinates picked are spaced on even coordinates and sized to remain within the boundaries
    • The center coordinate of each chamber is stored in an array
  • From each chamber, plot in the four cardinal directions
    • If you hit a boundary, change direction clock-wise
    • If you encounter an empty space, stop and move on to the next direction/chamber
  • Done!

This short code snippet captures the maze generation:

100 CALL CLEAR :: CALL HCHAR(2,1,35,736):: FOR I=0 TO 3 :: READ VR(I),VC(I):: NEXT I
110 FOR I=1 TO 8 :: RANDOMIZE :: CALL PEEK(-31808,R,C) :: CR(I)=INT(R/29)*2+4 :: CC(I)=INT(C/19)*2+3
120 FOR J=-1 TO 1 :: CALL HCHAR(CR(I)+J,CC(I)-1,137,3) :: NEXT J :: NEXT I :: FOR I=1 TO 8 :: FOR J=0 TO 3 :: R=CR(I)+VR(J) :: C=CC(I)+VC(J) :: D=J
130 R2=R+VR(D) :: C2=C+VC(D) :: IF((R2=2)+(R2=24)+(C2=1)+(C2=32))THEN D=D+1 :: IF D=4 THEN D=0 :: GOTO 130 ELSE 130
140 R=R2 :: C=C2 :: CALL GCHAR(R,C,G) :: IF G=32 THEN 150 ELSE CALL VCHAR(R,C,32) :: GOTO 130
150 NEXT J :: NEXT I
160 GOTO 160
200 DATA 1,0,0,-1,-1,0,0,1

I was working with a 30 line limit with this one for the contest, so I did not make it as "smart" as it could have been. The original intent was to plot paths between chambers so that you were guaranteed there was no cut off areas.

  • Like 2

Share this post


Link to post
Share on other sites

Admantry your game is more near at deep dungeon for msx system.. look it here http://www.file-hunter.com/MSX/can give at you idea for deluxe version :-)

 

That's a cool one! It's not even on Moby Games... No worries, I have a long-standing game project besides my CRPG that's similar...

Share this post


Link to post
Share on other sites

Question re XB... it's been too long since I did any XB, and this line is perplexing me!!

 

 

130 R2=R+VR(D) :: C2=C+VC(D) :: IF((R2=2)+(R2=24)+(C2=1)+(C2=32))THEN D=D+1 :: IF D=4 THEN D=0 :: GOTO 130 ELSE 130

 

The bit that confuses me is the GOTO 130 ELSE 130, however, let's back up a bit...

 

Am I right in thinking that XB skips to the NEXT line number if the big IF clause evaluates to false?

 

And this:

 

IF D=4 THEN D=0 :: GOTO 130 ELSE 130

 

just means if D=4 then set D to 0 and go to 130, otherwise just go to 130.

 

Right? :dunce:

  • Like 1

Share this post


Link to post
Share on other sites

Question re XB... it's been too long since I did any XB, and this line is perplexing me!!

130 R2=R+VR(D) :: C2=C+VC(D) :: IF((R2=2)+(R2=24)+(C2=1)+(C2=32))THEN D=D+1 :: IF D=4 THEN D=0 :: GOTO 130 ELSE 130

The bit that confuses me is the GOTO 130 ELSE 130, however, let's back up a bit...

 

Am I right in thinking that XB skips to the NEXT line number if the big IF clause evaluates to false?

 

And this:

 

IF D=4 THEN D=0 :: GOTO 130 ELSE 130

 

just means if D=4 then set D to 0 and go to 130, otherwise just go to 130.

 

Right? :dunce:

 

Yup.

 

If you added another ELSE clause, failure of the first IF would take that route.

 

...lee

Share this post


Link to post
Share on other sites

Somehow I missed posting this game on the TI Gameshelf... I'll correct that oversight with the next update.

Is there possibility to put all games i one zip archive? In older version of TI Gameshelf was possibility to download all games in one zip file?

Please???????

Share this post


Link to post
Share on other sites

Is there possibility to put all games i one zip archive? In older version of TI Gameshelf was possibility to download all games in one zip file?

Please???????

 

The problem with the archive zip file is that I have to pack and upload all the disk images on the site every time I do an update, and this is a pain, particularly since I have been doing fairly frequent updates lately. Also I have limited bandwidth for downloads, and the zip file has gotten pretty large...

Share this post


Link to post
Share on other sites

 

The problem with the archive zip file is that I have to pack and upload all the disk images on the site every time I do an update, and this is a pain, particularly since I have been doing fairly frequent updates lately. Also I have limited bandwidth for downloads, and the zip file has gotten pretty large...

 

How big is the Zip file? I can host it for you.

Share this post


Link to post
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.

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...