Jump to content
IGNORED

Boulder Dash™ 2 - a new engine in development


Andrew Davie

Recommended Posts

7 minutes ago, Dionoid said:

I actually prefer the faster acceleration/deceleration of the legacy scrolling, which is more easy to process for my brain when the "R" is moving around on the screen. 

OK, that's all adjustable. Another way of saying this; the legacy scroll only changed the scroll position every 3rd frame.  The new scroll changes it every frame. Regardless of speed and tracking, the new scroll is inherently "smoother".  The actual tracking is a different issue.

 

7 minutes ago, Dionoid said:

The overview screen is really good, btw.

Almost too good. I find myself playing the game in that, instead :(

 

  • Like 2
Link to comment
Share on other sites

2 hours ago, Andrew Davie said:

 

Almost too good. I find myself playing the game in that, instead :(

 

 

I can very much see the appeal.  I think.you may have stumbled across something special here that could be interesting in other cases.  I could see this feature being used in an Atari SimCity clone, for example.

 

 

Link to comment
Share on other sites

On 4/9/2021 at 1:50 PM, Propane13 said:

Using the site Thomas posted, I went through to try to find "new" elements of BDII/BDIII:

From what I remember, a lot of hacked versions of BD1 were floating around the same time BD2 was released. Just check GB64 which has well over 1000 hacks.

 

The Swedish software publisher American Action was formed by the two 17-year old cousins Jan and Pontus Österlin. They came across one of those BD1 hacks, changed the graphics and levels and intended to sell it as Professional Boulder Dash III featured MetalGrafik. In order to not get in trouble, they sent a telex to First Star Software to obtain a license. Due to a misunderstanding, FSS granted them a license thinking that American Action were about to develop a new Boulder Dash game, not intending to release a hacked version of BD1, especially after BD2 already was released.

 

Eventually FSS buys the rights to Boulder Dash 3, and releases it both for the Amstrad CPC and ZX Spectrum. Since BD2 never seems to have been released on the CPC, perhaps it was an easy choice for FSS to build BD3 on top of the BD1 engine, though it must have felt strange to dismiss the improved BD2 engine on the ZX Spectrum in order to port BD3.

 

However since Boulder Dash IV - Construction Kit was available on both C64, CPC and ZX, and I think that one is an improved version of the BD2 engine, they must have implemented it on all formats.

  • Like 1
Link to comment
Share on other sites

On 4/5/2021 at 11:51 PM, Andrew Davie said:

Looking to the future, I'm interested in writing Boulder Dash™ 2 ... n

 

Ten years after the original Boulder Dash™, we now have new technologies and understanding of the machine, and I thought rather than continue to use the original engine, I'd have a go at developing a new one for future versions of Boulder Dash™. The IP owners BBG Entertainment have kindly allowed me to demonstrate videos of the engine as it's being developed.

 

Just to be clear; this is not a rewrite of the original version, and we will not be revisiting those original caves with this engine. This new engine is targeted for possible  future versions of the game. And we all know how I lose interest in stuff at about 85% complete. So, don't hold your breath. Very experimental at this stage.

 

For those who are inevitably going to ask about the promised re-release of Boulder Dash™ #1; that is still in the pipeline. We're just moving extremely slowly on this and still lining up all the... things that need to be lined up. That project is not dead, in other words.  But that project is not this project. To be super-dooper clear; this new engine is totally unrelated to the original, and in any case it's not going to be ready for yonks. If ever.

 

So, keeping in mind that this is new technology, and experimental only... here is where I'll be posting update videos to demonstrate little bits of stuff as I develop. I'm going to try and tackle some of the shortcomings of the original that have bothered me over the years.

 

So, first-up is the diamonds. It's practically impossible to get a diamond shape in just 4 pixels and we've tried many different things to improve them. Jiggling them up and down was the final solution chosen in BD1.  But now I've found a new way that I think looks pretty ace. One of the issues with flashing or pulsing diamonds is that they all flash/pulse at the same time (as per the original). This can lead to an epilepsy-inducing screen when it's full of diamonds.  The trick is to find a way to make diamonds look "sparkly" without costing extra memory, and yet not have the whole screen overwhelm you with that sparkling effect. And, do it in 4-pixels-wide!

 

 

 

The colours in BD1 were constrained and designed to match the C64 version closely. I'm not feeling bound to that colour choice at the moment, so I'm just choosing random colour triplets at the end of the video just to give me some idea of the range/combinations that are possible.  I don't have any sprites working in this engine yet, so Rockford is represented by the big R :).  I scroll around a bit - you can see that the scroll resolution is single-pixel, so it's super-smooth-ish.  You can see that the logic for diamonds/boulders falling is mostly functional already.

 

No offence but can you link your videos from Youtube?

 

Because Videos from atariage (not just yours) freeze my browsers.

Link to comment
Share on other sites

8 minutes ago, Albert said:

That's interesting, what browser are you guys using?

Vivaldi. But I suppose it could also be one of my browser extensions. I have to test...

 

Looks like uBlock Origin was the culprit. I eased the settings regarding YouTube a bit, and now it seems to work.

Edited by Thomas Jentzsch
  • Like 1
Link to comment
Share on other sites

ZeroPage Homebrew has the EXCLUSIVE WORLD PREMIERE of Andrew Davie's new Boulder Dash Engine on tomorrow's (Fri Apr 16, 2021) stream LIVE on Twitch at 6PM PT | 9PM ET | 1AM GMT! Hope everyone can watch!

 

Games:

1464894186_20210416-LetsPlay.thumb.jpg.f5a3b061ccf7635bd0b688dcd320cade.jpg

Edited by ZeroPage Homebrew
  • Like 9
Link to comment
Share on other sites

I just doodled for a few minutes this morning to try to think about what SimCity could look like with the Pixel Engine:

 

.740527900_ScreenShot2021-04-16at8_16_02AM.thumb.png.016250bc4dc153f97dcd90fdb4c2ceb3.png

 

There would be challenges, like displaying how a building levels up, making vertical pole connectors, etc...

I tried to make the power plants into a "biohazard" sign, but it looked awful, so I just opted for purple for simplicity.

With the above picture's limited features, you could get a general sense of what could be done.

 

I think Andrew's engine could unlock the possibilities for some neat and powerful things.

  • Like 2
Link to comment
Share on other sites

On 4/15/2021 at 11:36 PM, ZeroPage Homebrew said:

ZeroPage Homebrew has the EXCLUSIVE WORLD PREMIERE of Andrew Davie's new Boulder Dash Engine on tomorrow's (Fri Apr 16, 2021) stream LIVE on Twitch at 6PM PT | 9PM ET | 1AM GMT! Hope everyone can watch!

 

Games:

Just watched the show. Very well done, you (and James and Tanya) did your best to showcase the engine and to explain the HUGE differences between programming 6507 and ARM enhanced hardware. Judging from the comments, you only succeeded for the former. :) I guess we will have to accept, that people either don't care or don't understand how you did it.

 

Even if one would be able to create this with no coding at all, most people would still hail the "developer" and the result. 

 

BTW: "Resistance is futile?" Not for me! :) (If I ever should return to BD, this would be 6507 only)

  • Thanks 1
Link to comment
Share on other sites

I think @ZeroPage Homebrew did an excellent job of showing the engine. My apologies to Tanya for (a) not having her in the game too, and (b) setting the difficulty too hard on the screens I included. One tends to forget your audience doesn't have the understanding/skills in the game that you, the programmer, do. Having said that, my wife said "how can someone not know how to play Boulder Dash?!!"  Mind you, she worked as a QA department manager/tester in the games industry in the '80s so there's that.  The (a) issue above; until the evening before the show, Rockford was just a big capital "R" in playfield graphics. I only decided to put the sprites in last-minute, and James and the hair-thing just came to mind. I think I did the final build about 3am. If you actually look at the original Boulder Dash box, you can see the character is just like the guy on the artwork. Hair and all.

 

@Thomas Jentzsch I think the issue is that people who count - those who actually play the games - don't care at all.

Edited by Andrew Davie
  • Like 1
  • Thanks 1
Link to comment
Share on other sites

Just saw this on the ZPH twitch replay. The new engine has so much going on. That scrolling thing where the screen smoothly catches up with play is something I only saw in the 16 bit era, amazing it could be implemented on an early 8 bit console. The overall "map" screen is a huge addition; that could be used for many types of games. Really cool to see the update.

  • Like 1
Link to comment
Share on other sites

47 minutes ago, MarcoJ said:

That scrolling thing where the screen smoothly catches up with play is something I only saw in the 16 bit era, amazing it could be implemented on an early 8 bit console. 

Except that this is not just an early 8 bit console, but a greatly enhanced by a modern 32-bit ARM co-processor one.

 

And the scrolling is solely done by that ARM CPU.

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

I've started work on player animations.

You saw the first version in the Zeropage homebrew; that "hair" animation will be in, and also as seen here...

Arms up - when you try to move up to a solid object (wall/boulder).

"bork" when you try to move left/right or down and there's a solid object in the way. Kind of a bit of momentum thing.

"Uh oh" VERY briefly, just before something falls on you.

I plan a few more at least

- perhaps a "grab diamond" animation

- hair swipe as noted

- boulder push

- legs animation

- blinking

 

 

  • Like 8
Link to comment
Share on other sites

@Andrew I am absolutely intrigued in watching your videos on this game development.  I love watching the progress and thought process in such frequent updates.

 

I am totally looking forward to your new game, and  a re-release of the old one as well!

 

Perhaps  they can offer boxes that match each other for them?  Ha ha..

 

Keep up the amazing work, its greatly appreciated.

 

  • Like 1
Link to comment
Share on other sites

6 hours ago, imstarryeyed said:

I am totally looking forward to your new game...

You do not understand. Andrew has made more than once very clear, that this is not becoming a game to be released.

 

His videos are solely meant to demonstrate the outstanding capabilities of CDFJ+ and how much faster one can development for this. And of course his undoubted programming skills. ;) 

 

If you want to play Boulder Dash on your Atari 2600, you can look forward to the coming (negotiations are finally done) re-release of Boulder Dash.

  • Like 6
Link to comment
Share on other sites

3 hours ago, Thomas Jentzsch said:

If you want to play Boulder Dash on your Atari 2600, you can look forward to the coming (negotiations are finally done) re-release of Boulder Dash.

YESSSSSS!!!!!! Really looking forward to be able to play my favorite game on my favorite console!

  • Like 4
Link to comment
Share on other sites

I think at this stage I've pretty much learned all that I wanted to know about CDFJ and its capabilities.  A fantastic bankswitching scheme that offers some significant assists to programming - in no particular order, I found that ability to have a "flat memory model" for all of my graphics most useful. I didn't need to care at all about banks, and could just have all the graphics (sprites, playfield) in standard C structures. I loved the data streams that let the 6507 access streams of data with simple lda/sta instructions. Very easy to use, and it made the sprites effectively like those on the 400/800 machines (that is, an 8-bit wide sprite that is the whole-screen deep). I just needed to copy sprite shapes into a 200 byte block of memory, that represetned the 200 scanlines I reserved of screen. I liked that I could effectively "idle" the 6507 during vertical blank, and use that time to do some impressive ARM processing. The full-screen draw every frame wouldn't be possible without it. Actually it's still not possible WITH it, because I'm going way overtime - I'm doing the full-screen draw AND the full board scan/processing.  But that's a fix for another day - the proof of concept was fine for me, even if it only runs on Stella. This engine won't run on hardware and would need a rewrite to do so.  I've taken this demo to the point where I'm not interested in working on new features - sound, title/selection screens, etc. Just not going to happen, and as noted this was always just a test/demo/exploration of capability. To some degree I regret choosing BD as the game on which I based the experiment, but what's done is done. I loved being able to do the vast majority of my coding for the machine in C. It made things so much easier and faster to implement; firstly the ease of programming with the C-language, but also the flat memory model, as noted. It's a game-changer. I really really loved thinking about some idea (for example the overview screen) and being able to program it quickly. In this case, the very first workable-ish version took half an hour. That's astounding. CDFJ is also an eye-opener as to what the actual machine is capable of .

I'm thinking of taking the lessons learned - for example, the overview screen seems well received and works very well IMHO, and the super smooth-scrolling, and the gajillion animation frames that you can have, and of course ChronoColour(TM) and moving on to a game which would be suited to these capabilities.  That is, "character graphics", a "board" of 40 x n tiles, 8-colour ChronoColour(TM) display. Perhaps a hexboard; I have been thinking this would be possible and work OK. One thing I haven't played with yet, but will obviously be possible, is digitised sound/effects. The only limitation I can see there is ROM space. But CDFJ+... mmh.

Maybe I'll move on to one of the games suggested in the show, or perhaps one suggested in this thread. I'll have to look at what's around and who owns the IP. But for now, I'm pretty much done with this engine and showing demos and I'll archive it for posterity. I'll start another thread if/when I choose a game to actually write with what I now know.

 

 

 

 

 

  • Like 9
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...