Jump to content
ppj34

Simplfied Boulder dash

Recommended Posts

Posted (edited)

Hello, 


I continue my adventure in the world of intellivision with Intybasic. The challenge I imposed on myself (really?) was to try to make a little game inspired by the famous Boulder Dash. Interesting but not obvious ... especially with the technical limits of this beautiful console from 1979 😀


As usual, the advices from Nanochess' book was instrumental in meeting the challenge. Here is a more or less complete version of the program.

 

You manage a small character who must collect all the emeralds in each of the game levels and access the next level (3 levels in all).
You will have to open doors on your way using keys picked up in the level. Watch out for rocks that can crush you when falling.

To open a door or pass through a tight corridor, you have to wedge the character opposite (sometimes it's a little frustrating!), similarly to push the rocks.
Once all the emeralds have been collected, you have to open the door at the right end of the level to go to the next level.


I sometimes have a few bugs but hey, it does not work too bad anyway ... 😆

emerdig.rom

jzintv 1.0  emerdig (2020).jpg

Edited by ppj34
  • Like 6

Share this post


Link to post
Share on other sites

I played through the first couple levels and enjoy what you've made.  The graphics have a nice look and the game is fun to play.  It can be a bit tricky to walk through narrow passages, and I died a couple times not being able to align myself just so, but was able to still keep playing and progressing.  Great work!

 

Share this post


Link to post
Share on other sites

Fun!

 

Is there any score/benefit/reason to be OCD and clear out all the blue rubble?

 

Share this post


Link to post
Share on other sites
Posted (edited)

Hi!

 

Thank you very much 😉

 

I would have liked to display a status bar during the game: score, number of lives, etc.

But the major technical concern on Intellivision is that it cannot be displayed over scrolling. And this scrolling can unfortunately only be done on the whole screen. There remains the idea of using MOBS sprites to display on top but their number is very limited and the readability not great on the background of the game.


If someone has another idea, I'm interested 🙂

 

P.S.: the blue rubble is there just to block the fall of the rocks,  or prevent pushing a rock, or for decoration 😄

 

Edited by ppj34

Share this post


Link to post
Share on other sites
12 hours ago, ppj34 said:

Hi!

 

Thank you very much 😉

 

I would have liked to display a status bar during the game: score, number of lives, etc.

But the major technical concern on Intellivision is that it cannot be displayed over scrolling. And this scrolling can unfortunately only be done on the whole screen. There remains the idea of using MOBS sprites to display on top but their number is very limited and the readability not great on the background of the game.


If someone has another idea, I'm interested 🙂

 

P.S.: the blue rubble is there just to block the fall of the rocks,  or prevent pushing a rock, or for decoration 😄

 

Some ideas...

 

  1. Display the score if there is no movement for a period of time (250ms?) and then hide it again when movement resumes
  2. Display the score if/while you press a particular button (as an emulator guy, left/right/top is better than a keypad key)
  3. Display the score in between levels

Whatever method you do, in addition to score, you could also show the inventory (keys), and other status (how much is left to go)

 

What have other intellivision games done to solve the problem?

 

12 hours ago, ppj34 said:

P.S.: the blue rubble is there just to block the fall of the rocks,  or prevent pushing a rock, or for decoration 😄

 

Decoration... Fair enough... You could also consider assigning them a low value (1?) for another goal to achieve for highest scores?

 

Some other comments/suggestions...

 

  • Allow diagonal movement (and/or make it less fiddly regarding how precisely positioned you need to be to open a door)
  • The sounds are generally quite satisfying (especially the way boulders drop/sound)
  • Might be nice to have some background music (perhaps use ECS 2nd/PSG for that if available, and none if not?)
  • Would be great to add a title page (and if you went crazy, I could see a self-playing attack mode!)

Is there a way to restart a level if you get stuck? For example, on level 2 I didn't get the keys in the correct order, and there was no way to proceed. Maybe use clear or enter for that (with a confirmation alert)?

 

Share this post


Link to post
Share on other sites

I love this game!

Has an opening screen, it's visually appealing, good sound effects, different stages, offers a good challenge!

 

Rocks do fall on you immediately if you dig underneath, that's something that threw me off.

I think in Boulder Dash they will hang in there until you step out. But it's ok, makes it more challenging.

 

Only suggestion is to give players a little nudge when trying to go through narrow corridors or when opening doors.

Just so the alignment does not need to be perfect.

 

Other than that, keep it coming!

 

 

 

Share this post


Link to post
Share on other sites

Very fun little game where you actually have to plan ahead a bit or run out of keys and get stuck. Apart from the finicky precise collision detection to get through doors it’s really good.
 

I googled the history of Emerald Mine, a bit of a cult classic, they included a level editor in a later release and now there are thousands of levels out there.

 

keep up the good work on this.

Share this post


Link to post
Share on other sites

Hi all!

 

A big thank you for all these comments and your interest in my little game. 😀
I will try to answer all the questions asked above:


- Display of a status bar during the inactive game:
Good idea, I hadn't thought about it. There remains a small technical problem because the scrolling shifts between 1 and 7 pixels in x and / or y. I'm going to test if I can do it anyway. To my (recent) knowledge of intellivision games, I haven't seen one yet that displays a status bar with smooth scrolling on the full screen.

 

- Assigning them a low value for another goal to achieve for highest scores: yes why not 🙂

 

Allow diagonal movement: Allowing a diagonal movement is technically feasible. But Boulder Dash (my source of inspiration) does not allow this type of movement if I remember correctly. So I don't prefer.

 

- Add a BGM Adding background music would be great but I don't have any available and I'm a very bad musician 😋. If anyone has one to offer me ... 

 

- Game exit key if blocked: yes, normally, I added a code on the CLEAR key to exit the game, but I couldn't test it, I don't know if it works.

 

- Would be great to add a title page (and if you went crazy, I could see a self-playing attack mode!) ? A title game  I dont' understand. Can you be more precise please?

 

- For the recurring problem of moving in narrow areas, I had noticed the problem and I will try to correct it by trying to readjust the character slightly automatically when we want to pass a narrow corridor ... I will try ... 😅

 

Thank you very much again 😊

 

 

Share this post


Link to post
Share on other sites

The clear key didn’t seem to do anything when I ran out of keys of level 2 and pressed it.

ideally it would restart the level you are on, correct?

Share this post


Link to post
Share on other sites
8 hours ago, ppj34 said:

- Would be great to add a title page (and if you went crazy, I could see a self-playing attack mode!) ? A title game  I dont' understand. Can you be more precise please?

That was an auto-correct error.... Meant to say "self-playing ATTRACT mode"...

Share this post


Link to post
Share on other sites

Hi!

 

"self-playing ATTRACT mode" Yes, I understand your idea better. it takes a lot of time and I would prefer to work on another game project. I hope you will not be too disappointed.

 

Here is an updated version of the game which takes into account the following remarks:

 

- Optimize the movement of the character to prevent him from blocking too easily in narrow passages :

To put it simply, the 8 by 8 pixel character moves from 2 to 2, x or y. The modulo of its coordinates therefore takes the values 0, 2, 4 or 6. When it is equal to 4, the character is placed exactly between two boxes (a wall and a door for example). I leave it blocked in this case to avoid the unsightly shift of 4 pixels in one direction or the other. On the other hand, when the modulo is at 2 or 6, I automatically shift by 2 remaining pixels to readjust the character in the grid when he meets a narrow passage or a door to open.

 

- Display a game status bar:
To avoid a display that is sometimes completely offset, I opted to pause the game and display a popup over when we press the button. We have the display of the player's inventory, at this time of the game, the score and the number of emeralds remaining to collect. To exit the popup, press the keys 1 (quit the game in progress - we are stuck for example -) or 2 (resume the game). Effectively, the CLEAR key did not work. Sorry.

 

- Add a score to the game:

A score is updated and display regularly. A bonus is awarded at the end of each successful level based on the number of keys picked up and unused and according to the time it took the player to complete the level. We start the next level with 0 keys (as it was already the case but they didn't bring anything at all). I preferred to add this time bonus rather than adding a point to each blue rubble removed.

 

- Addition of a 4th level of game with a slightly different design.

 

--------

 


Add a BGM music: it would be cool to resume the beginning of the music of the real Boulder Dash (see PJ in example) but I don't know anything about music theory.

 

 

Thanks 😊

 

boulderDashOpening.jpg

emerdig.rom

  • Like 2

Share this post


Link to post
Share on other sites

I started to play around, and found some strong resemblance between Boulder Dash and M.U.L.E., at least if you look at part of the bass line. Thus I got inspired to make this little ditty which probably needs extending for any meaningful use. Feel free to include it if you like.

 

 

bouldermule.bas bouldermule.rom

  • Like 1

Share this post


Link to post
Share on other sites

Hi!

 

Nice playful and friendly music 👍
I will try to use it.
Thank you so much!

 

  • Like 1

Share this post


Link to post
Share on other sites
On 5/8/2020 at 8:41 AM, ppj34 said:

- Optimize the movement of the character to prevent him from blocking too easily in narrow passages :

 

Wow, this is WAY better in the new version.

On 5/8/2020 at 8:41 AM, ppj34 said:

- Display a game status bar:
To avoid a display that is sometimes completely offset, I opted to pause the game and display a popup over when we press the button. We have the display of the player's inventory, at this time of the game, the score and the number of emeralds remaining to collect. To exit the popup, press the keys 1 (quit the game in progress - we are stuck for example -) or 2 (resume the game). Effectively, the CLEAR key did not work. Sorry.

Game status is great. Would it be possible to have the same button that causes it to show, also cause it to go away/dismiss it? Much easier to understand, and easier when playing without a keypad.

 

Related to that, you could just pick a button that causes you to quit the level, and say what that is, rather than 1=yes, 2=no sort of thing, it could just read "Press CLEAR to quit the current level", which c

ould work on that screen, or during game play as well.

 

On 5/8/2020 at 8:41 AM, ppj34 said:

Add a BGM music:

Share this post


Link to post
Share on other sites
Posted (edited)

Hi!,

 

Here is a fixed version of the program (with clear button in game status).

Unfortunately, I failed to add the pretty music. I have a compilation error: 
Warning: label 'DEBUG' defined but never used
Warning: label 'PLAY_BOULDER' defined but never used
Error: Use of 8-bits variables exceeds available space (222 vs 199)
10 used 16-bit variables of 27 available
Compilation finished


IntyBASIC compilation failed.
Program build aborted.

 

I must optimize my program... but it's a hard and long work.

 

emerdig.rom

Edited by ppj34

Share this post


Link to post
Share on other sites

That is a lot of variables! Even moving some to 16-bit ones won't help unless you make your game require RAM expansion like with JLP or CC3.

Share this post


Link to post
Share on other sites

Pretty solid now. Especially with the more forgiving position/door opening.

 

One request at the moment (in addition to music) -- could you have an indication when you hit 0 emeralds left? Flash the screen? A sound? Both?

 

I have managed to get some graphic glitches and a hang playing level 2. Once I can reliably reproduce it, I'll let you know/show a shot.

 

The hang happened bringing up the stats display.

Share this post


Link to post
Share on other sites

Really enjoying this game now the collision detection is fixed

 

2 suggestions:

 

1) more lives until game over, right now it seems like only 2 ?

2) when you do continue after dying, keep whatever stuff you have already cleared from the level still cleared

right now it seems to reset the level entirely

 

not sure how difficult these would be to do, just my suggestions, and thanks for a fun little game.

Share this post


Link to post
Share on other sites

possible bug on level 1, I unlocked yellow gate but the boulder did not fall, blocking access to the heart

 

when i moved away from this part of the screen, then came back, the gate was back, when i unlocked it the boulder fell normally .

 

 

Screen Shot 2020-05-18 at 12.30.16 PM.png

Share this post


Link to post
Share on other sites
20 hours ago, Steve Jones said:

possible bug on level 1, I unlocked yellow gate but the boulder did not fall, blocking access to the heart

 

when i moved away from this part of the screen, then came back, the gate was back, when i unlocked it the boulder fell normally .

 

 

Screen Shot 2020-05-18 at 12.30.16 PM.png

This exact thing occurred to me as well.   

Share this post


Link to post
Share on other sites

Just have to say I have been playing this game a lot lately,

simple idea but requires some thought to not run out of keys, or get blocked by boulders, please keep going on it.

 

finally made it to level 3 last night, by fighting my urge to wipe out all the blue dots on each level haha

Share this post


Link to post
Share on other sites
On 5/18/2020 at 12:20 PM, Steve Jones said:

Really enjoying this game now the collision detection is fixed

 

2 suggestions:

 

1) more lives until game over, right now it seems like only 2 ?

2) when you do continue after dying, keep whatever stuff you have already cleared from the level still cleared

right now it seems to reset the level entirely

 

not sure how difficult these would be to do, just my suggestions, and thanks for a fun little game.

After playing more, ignore these 2 comments.

I realize now that respawning with the level reset is the only way to get all the keys that you may have misused before,

and that the hearts are extra lives.

 

I did find another bug however, when you press top button to see status it sometimes locks up the game.

Share this post


Link to post
Share on other sites
Posted (edited)

Hi all!

 

You are excellent video game testers! 😃
Ok, I hadn't encountered these bugs. But it must be said that you may have played this game more than I did. 😁
I am watching this to try to fix these problems.

By the way, I think I've always made programs with bugs ... damn it.😅
Edited by ppj34

Share this post


Link to post
Share on other sites

Hi!

I managed to fix the bug of the status popup which sometimes caused the game to crash.

But I can't reproduce the door bug (just once but I don't know how).
Can you help me by specifying the operating mode to have this bug for sure? I know it's not easy to describe but it could help me a lot.

 

Thank you!

 

Share this post


Link to post
Share on other sites
8 hours ago, ppj34 said:

I managed to fix the bug of the status popup which sometimes caused the game to crash.

Cool! Can you post an updated rom?

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