Jump to content
IGNORED

Grail of the Gods (rogue-like or mini-RPG)


nanochess

Recommended Posts

I have finally 5 minutes to give a glance to the code.

It seems that #m has values from 0 to 10, while #n has values 0,1

 

The arrays #m and #n could be merged in one using 5 bits per maze cell.

A maze 23*23 gives about 166 words...

Not easy to be addressed, but it can fit in a stock console.

 

About sfx, this is my code from deep zone. Changing the data with more fitting sounds it could be reused here

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' 	 sfx  init
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''	

	sfx0step = 0
	sfx1step = 0
	sfx2step = 0
	sfx3step = 0
	sfx4step = 0
	sfx5step = 0
	on frame gosub sfx_isr

[main here]
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' use this code to start and sfx

sfxint0: procedure	
	if (sfx0step=0) then sfx0step =  6
	end
sfxint1:procedure	
	if (sfx1step=0) then sfx1step = 24
	end
sfxint2:procedure	
	if (sfx2step=0) then sfx2step = 38
	end
sfxint3:procedure	
	if (sfx3step=0) then sfx3step = 40
	end
sfxint4:procedure	
	if (sfx4step=0) then sfx4step = 48
	end
sfxint5:procedure	
	if (sfx5step=0) then sfx5step =  8
	end





	
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' sfx and ISR
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

sfx_isr:procedure
	
	if (sfx0step) then 
		gosub sfx0 
	elseif (sfx1step) then 
		gosub sfx1 
	elseif (sfx2step) then 
		gosub sfx2 
	elseif (sfx3step) then 
		gosub sfx3 
	elseif (sfx4step) then 
		gosub sfx4 
	elseif (sfx5step) then 
		gosub sfx5 
	else 
		SOUND 2,,0 ' silence
	end if
	
	end
	
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
sfx0: procedure
	sound	2,shoot_t#(6-sfx0step),shoot_v(6-sfx0step)
	sound	4,shoot_n(6-sfx0step),$18
	sfx0step = sfx0step-1
	end
shoot_t#: 	' tone period	
	data 	$0FFF,$0FFF,$00D5,$00E2,$0120,$00FB
shoot_n: 	' noise period	
	data	$001F,$001C,$0000,$0000,$000D,$0000
shoot_v: 	' volume
	data	$000F,$000B,$000D,$000D,$000C,$000C
	
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
sfx1:	procedure
	sound	2,sfx1_t#(24-sfx1step),sfx1_v(24-sfx1step)
	sfx1step = sfx1step-1
	end
sfx1_t#:
	data	$02d0,$02d0,$01e0,$01e0,$0168,$0168,$00F0,$00F0,$00B4,$00B4,$0078,$0078
	data	$02d0,$02d0,$01e0,$01e0,$0168,$0168,$00F0,$00F0,$00B4,$00B4,$0078,$0078
sfx1_v:
	data	$000F,$000F,$000F,$000F,$000D,$000D,$000D,$000D,$000C,$000C,$000C,$000C
	data	$0007,$0007,$0007,$0007,$0006,$0006,$0006,$0005,$0005,$0005,$0004,$0005

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
sfx2:	procedure
	sound	2,sfx2_t#(38-sfx2step),sfx2_v(38-sfx2step)
	sound	4,sfx2_n(38-sfx0step),$18
	sfx2step = sfx2step-1
	end
sfx2_t#:
	data	$08A,$08A,$08A,$08A,$0D5,$0D5,$0D5,$0D5,$0FB,$0FB,$114,$12D,$146,$146,$146,$153,$16C,$178,$185,$1AB,$1D0,$1D0,$1D0,$1DD,$203,$235,$267,$2A6,$2CC,$2F1,$349,$3BA,$41f,$445,$547,$5ED,$6A7,$6A7,$777
sfx2_n:
	data	$014,$00E,$00E,$011,$017,$019,$019,$014,$010,$00E,$010,$013,$015,$014,$011,$00D,$009,$009,$00B,$00E,$00E,$00D,$008,$004,$004,$005,$008,$00D,$013,$015,$015,$015,$012,$00F,$00C,$00D,$013,$012,$011
sfx2_v:
	data	$00F,$00F,$00F,$00F,$00F,$00F,$00F,$00F,$00F,$00F,$00F,$00F,$00E,$00E,$00E,$00D,$00D,$00D,$00C,$00C,$00C,$00B,$00B,$00A,$009,$009,$008,$008,$007,$006,$006,$005,$005,$005,$004,$003,$002,$002,$001
	
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
sfx3:	procedure
	sound	2,sfx3_t#((40-sfx3step) and 7),sfx3_v(40-sfx3step)
	sfx3step = sfx3step-1
	end
sfx3_t#:
	data	$060,$0A0,$110,$170,$1C0,$200,$230,$250
sfx3_v:
	data	$00F,$00F,$00F,$00F,$00F,$00F,$00F,$00F
	data	$00E,$00E,$00E,$00E,$00E,$00E,$00E,$00E
	data	$00C,$00C,$00C,$00C,$00C,$00C,$00C,$00C
	data	$00D,$00D,$00D,$00D,$00D,$00D,$00D,$00D
	data	$00C,$00C,$00C,$00C,$00C,$00C,$00C,$00C
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
sfx4:	procedure
	sound	2,sfx4_t#((48-sfx4step) and 7),sfx4_v(48-sfx4step)
	sfx4step = sfx4step-1
	end
sfx4_t#:
	data	$200,$1A0,$140,$0E0,$080,$060,$040,$020
sfx4_v:
	data	$00F,$00F,$00F,$00F,$00F,$00F,$00F,$00F
	data	$00E,$00E,$00E,$00E,$00E,$00E,$00E,$00E
	data	$00D,$00D,$00D,$00D,$00D,$00D,$00D,$00D
	data	$00C,$00C,$00C,$00C,$00C,$00C,$00C,$00C
	data	$00B,$00B,$00B,$00B,$00B,$00B,$00B,$00B
	data	$009,$009,$009,$009,$009,$009,$009,$009
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
sfx5:	procedure
	sound	2,sfx5_t#(8-sfx5step),sfx5_v(8-sfx5step)
	sound	4,sfx5_n(8-sfx5step),$18
	sfx5step = sfx5step-1
	end
sfx5_t#:
	data	$00F,$905,$080,$090,$0A0,$000,$000,$000
sfx5_n:
	data	$000,$001,$000,$008,$010,$018,$01E,$001
sfx5_v:
	data	$00D,$000,$00C,$00A,$008,$006,$005,$008

	
  • Like 1
Link to comment
Share on other sites

Just to provide some feedback, I played a couple of games (easy setting) and really enjoyed it. The sound effects are very effective, and the graphics are great.

 

Wanting to know how deep the game goes or if I am even playing correctly, I searched but couldn't find info on the game such as number of dungeons, levels, etc. Are there more details somewhere? What's the difference between "depth reached" and the level number?

 

post-39531-0-20782900-1518066006.png

  • Like 2
Link to comment
Share on other sites

Wanting to know how deep the game goes or if I am even playing correctly, I searched but couldn't find info on the game such as number of dungeons, levels, etc. Are there more details somewhere? What's the difference between "depth reached" and the level number?

As far as I understand, the original DarkBasic game goes to dungeon level 10, with the option to increase it by another 2 levels. I haven't traversed deep enough into this version to determine if the grail always is found on level 10 as well. The other level counter should refer to experience level which relates to how many hit points you have. The dungeon level and experience level are independent in all rogue type games, though usually it is not recommended to hurry down into the dungeon without gaining enough experience points first.

Link to comment
Share on other sites

Just to provide some feedback, I played a couple of games (easy setting) and really enjoyed it. The sound effects are very effective, and the graphics are great.

 

Wanting to know how deep the game goes or if I am even playing correctly, I searched but couldn't find info on the game such as number of dungeons, levels, etc. Are there more details somewhere? What's the difference between "depth reached" and the level number?

 

you died.png

The grail is at depth 10 in Easy difficulty, 11 for Medium and 12 for Hard. It's also the same number for the Dungeon message that appears before each dungeon.

 

The level stat is a kind of power level you've reach while wandering thru dungeon doing battles and finding gold.

  • Like 1
Link to comment
Share on other sites

Ah, I see. "Level" is sort of a power ranking. Is it on a scale of 1-10? Do my chances of success increase as my experience increases? Are hit points good or bad?

 

Forgive my lack of knowledge in this genre, but I haven't yet figured out all of the abbreviations in the status corner.

 

DP = dungeon ______?

LV = level

XP = ?

GD = gold

AT = ?

AR = armor

HP = hit points

 

Sorry for all of the questions.

Link to comment
Share on other sites

XP would be experience points. Hit points start at a high number (increasing as you gain experience levels) and is reduced every time a monster hits you. When you're below 0 hit points, you are dead. If you take a healing potion, your hit points are restored to the highest possible at the experience level you currently are at.

 

I think AT is for Attack, i.e. the quality of the weapon you currently are using. AT and AR seem to be reduced to zero as you are fighting, thus you need to pick up new armor and weapons regularly. This is different from more sophisticated games like Nethack where your armor class starts at 10 IIRC and then is reduced for every type of armor you add (it can be a negative value) and only in case you take off the armor or it rusts or otherwise gets destroyed, the AC is increased. Then again Nethack has tons more of stats and interaction so it is just for reference I am making that comparison.

Link to comment
Share on other sites

Ah, I see. "Level" is sort of a power ranking. Is it on a scale of 1-10? Do my chances of success increase as my experience increases? Are hit points good or bad?

 

Forgive my lack of knowledge in this genre, but I haven't yet figured out all of the abbreviations in the status corner.

 

DP = dungeon ______?

LV = level

XP = ?

GD = gold

AT = ?

AR = armor

HP = hit points

 

Sorry for all of the questions.

 

Good question as I was wondering the same! :-D

Link to comment
Share on other sites

XP would be experience points. Hit points start at a high number (increasing as you gain experience levels) and is reduced every time a monster hits you. When you're below 0 hit points, you are dead. If you take a healing potion, your hit points are restored to the highest possible at the experience level you currently are at.

 

Can anyone tell me how to take a potion in this game? The only actions I know of are to move about the maze to attack or pick things up...

Link to comment
Share on other sites

DP = dungeon depth (or level if you want)

LV = experience level

XP = experience points on the current level, listed as N/M where N is how many points you currently have and M is the required number of points to gain one level in experience

GD = gold

AT = attack/weapon level

AR = armor level

HP = hit points

 

You get about one XP every time you kill a monster or pick up some gold. When you gain a level of experience, the counter is reset but the goal is higher. Healing potions are consumed by just stepping onto it. If you already have maximum hit points for your experience level, you won't see a difference and it pretty much is wasted.

  • Like 1
Link to comment
Share on other sites

Thanks for the additional explanation for us beginners! I think the strategy for the potions are wait until you have been hit by monsters before you consume the potions. It's probably a good idea to do battle and get a potion just before you go to the next dungeon level. Well I think I got the hang of it and won my first real attempt!

 

Win

 

Edited by atarifan88
  • Like 2
Link to comment
Share on other sites

On the early levels, it usually doesn't matter when you take a potion as you gain new experience levels so often. On later levels, you can try to beat "easy" monsters until you gain a level but if you find yourself in a position where you have a long way to go on the XP counter and only difficult monsters left, you will likely want to take the healing potion if you are getting low on hit points.

 

It strikes me that once the game requires JLP support and has 8000 words (16-bit memory) to spend, a much more complex rogue game could be made in the future, if the genre is appreciated. Different potions, scrolls, the option to interact with certain monsters, shopkeepers (never attack one of those unless you have polymorphed your pet dog into a centaur or similar monster... true story) and everything else.

  • Like 1
Link to comment
Share on other sites

Thanks for the info. That helps a bunch.

 

I took the information contributed here and added it to some I found elsewhere, threw in some screenshots, and made a simple instruction sheet for others who might come here and check out this neat game. Hopefully it helps someone. Now I have to try to find the grail :)

Grail of the Gods for Intellivision.pdf

  • Like 2
Link to comment
Share on other sites

Thanks for the info. That helps a bunch.

 

I took the information contributed here and added it to some I found elsewhere, threw in some screenshots, and made a simple instruction sheet for others who might come here and check out this neat game. Hopefully it helps someone. Now I have to try to find the grail :)

 

Cool! Please let me to include it in the ZIP!! :)

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