XDC engine development thread (alpha version)

Everything about the various Boulder Dash tools, and other stuff created by the fans.

Moderator: Admin

User avatar
Sendy
Member
Posts: 186
Joined: Sun Jun 17, 2007 10:33 pm
Location: Square Wave Heaven
Contact:

Post by Sendy »

Hm, so many options to making boulder-games now that it's almost too many. 8)
Watcher Kitty is always watching...
User avatar
LogicDeLuxe
Member
Posts: 637
Joined: Sun Jul 15, 2007 12:52 pm
Contact:

Post by LogicDeLuxe »

Simon wrote:Could you tell me more about that different approach? Or could you point me to a C64 executable that I could analyse myself?
Instead of drawing the 4 chars of an element into the frame buffer during the moving in the cave scan loop, which then is copied to the screen during interrupt, I only draw one byte during the moving in the cave scan loop and add the other 3 chars after the cut out of the currently visible part. This saves quite some ram, since the big frame buffer isn't needed. Also, no special treatments are required for horizontal wrap around movements, which also saves some time in the scan loop. On the downside, it adds to the scroll routine both in size and in raster time.
Overall, the performance is similar, but more steady, ie. an almost empty cave runs at about 100 ms per frame, which is somewhat slower than in original BD, but a heavily occupied cave does run a bit faster than in original BD. Also, my timing is reliable reproducible, even between PAL and NTSC, while in original BD, the timing is very wacky to say the least.

Here are my latest alpha versions: http://www.mediafire.com/file/yxx5xrsaz6ds7xk/xdc.zip
I know, they aren't exactly new, but I didn't abandon XDC yet. I was just occupied with different things.

Don't consider anything in the code final. Currently, there are not all CrLi elements implemented yet. The only bug I noticed so far occurs with the vertical wrap around code. The timing there is a mess. I intend to rewrite the scanning loop in order to fix this issue.

If an intro screen is present, wait until the music plays, which indicates that the loading has finished.

There are two different cave sets, converted to BDCFF and then compiled to XDC's native format. The 255 caves set uses a slightly older format and engine then the bd1-3 set.

When played on a C64DTV, the bd1-3 set includes the original Atari colors for BD1 and BD2 and an Atari green amoeba and contrast adjusted version for BD3. To use the regular C64 colors on a C64DTV, start a game with F7 (or one of the DTV buttons, which I don't remember right now) instead of fire.

In 1-joystick mode, either port can be used.
User avatar
LogicDeLuxe
Member
Posts: 637
Joined: Sun Jul 15, 2007 12:52 pm
Contact:

Post by LogicDeLuxe »

http://www.mediafire.com/?jxwu187i5191avb

new in this test version:
- Separated scan loop from reset delay loop. This fixes border wraparound behavior.
- Fixed gray pixels on lower border on some machines
- Chameleon detection and turbo mode
- Trapped diamonds and release key
- Sweets for fast boulder pushing
- Growingwall switch
- Falling walls
User avatar
CWS
Member
Posts: 429
Joined: Wed Jul 11, 2007 2:32 pm
Location: Austria - Europe

Post by CWS »

This is really cool! :) I hope this engine will find its way to other systems, too! :)
subotai
Member
Posts: 251
Joined: Sun Jan 25, 2009 4:19 pm

Post by subotai »

Thanks Marek! :-) This looks very nice. Is it also possible to create own games out of bdcff-files at the moment? The old links in this thread are broken :-( I have not read the whole thread. So sorry, if i missed something.
User avatar
LogicDeLuxe
Member
Posts: 637
Joined: Sun Jul 15, 2007 12:52 pm
Contact:

Post by LogicDeLuxe »

CWS wrote:This is really cool! :) I hope this engine will find its way to other systems, too! :)
You mean 8 bit systems or modern computers? A chargenerator (aka. text mode) with 256 8x8 chars (or 128 8x16, or 64 16x16 etc) is required.
On modern computers, GDash already does most of it. Except for the new random number generator and maze generator. And the levels are fixed to 5. I suppose, those details could be tweaked easy enough. But let's have XDC final first.


I'd like to release the final version of XDC open source.

I'm not sure what license would be possible for XDC for the following reason:
- There is the random number generator straight out of C64/Atari BD. (Though other open source BD clones do this too.)
- The line algorithm based on code snippets from http://codebase64.org/doku.php seem to lack any license.

No problems on the other hand are:
- Music and charsets, as those are already perfectly separated from the engine, so they don't need an open source license.
- Game physics, as they are rewritten from scratch.
- Top 20 highscore table, while looking exactly like Prof. Knibbles, is also rewritten from scratch. (I don't think, he would object anyway)
subotai wrote:Thanks Marek! :-) This looks very nice. Is it also possible to create own games out of bdcff-files at the moment? The old links in this thread are broken :-( I have not read the whole thread. So sorry, if i missed something.
The BDCFF compiler is not compatible with this version anymore. Sorry for this. Most of my uploads here are for testing new features. That's why a few caves are built in.

I intend to write a new editor for XDC eventually.
It will load your favorite emulator for cave testing. And it will be able to load and save BDCFF.
User avatar
LogicDeLuxe
Member
Posts: 637
Joined: Sun Jul 15, 2007 12:52 pm
Contact:

Post by LogicDeLuxe »

http://www.mediafire.com/?7rm9g701cn04tli
Implemented biters and their delay switch. Both dirt types are treated equally, while eatable walls are just walls to them. Just like in GDash.
User avatar
CWS
Member
Posts: 429
Joined: Wed Jul 11, 2007 2:32 pm
Location: Austria - Europe

Post by CWS »

Any news on XDC? No news for almost a year now...
User avatar
LogicDeLuxe
Member
Posts: 637
Joined: Sun Jul 15, 2007 12:52 pm
Contact:

Post by LogicDeLuxe »

New version for testing: http://www.fileden.com/files/2012/2/1/3 ... -07-10.d64

- Loader bug fixed. Intro text can be used right of the CrLi/1stB intro creator without altering the loading adress. (not applicable in this test version)

- Separate amoeba color support for Chameleon. There are some limitations, though. Amoeba color is ignored if Walls have one of the upper 8 colors. Amoeba has the wrong color, if it is itself from the upper 8 colors.

- F7 starts a game not only without enhanced colors for DTV and Chameleon, it also stays at stock C64 speed now. Should be useful for cave testing.

- Stoneflies aka. Moths implemented. Bladders in exchange won't be supported in XDC. I decided to make XDC not 100% CrLi compatible, but include some further suprises new to C64 Boulder Dashing instead.
I now included "EN!ORIGINAL" instead of "EN-ORIGINAL". The "!" shall indicate, that it is an XDC graphics file while "-" indicates a CrLi graphics file and "/" a PLCK graphics file for the Deluxepacker.

- Bombs implemented. Indicated by a gray status line background. The status line now uses light red and light green for keeping a good contrast. (Still no sprites used)

- Magicwall bug emulation is no longer 100% compatible due to scan loop optimization, which fixed some border behavior, though it is still close enough for the majority of caves exploiting the bug. (not applicable in the supplied test caves)

- Highscore stamp can be accellerated by pushing the button.

- Bugfix: DTV colors working correctly after game over of one player.

- BDCFFcompiler bugs fixed: Atari and DTV colors are translated correctly to C64dtv. The plan is to replace the BDCFFcompiler with a full featured cross platform construction kit eventually. (not applicable in this test version)


This test image has some caves included. The first cave is for testing the bombs, the second for the Stoneflies, the other caves were made for debbuging different color options.

Note that there is still a bug with the bomb, as it can blast Steelwalls. No need to report this.
User avatar
LogicDeLuxe
Member
Posts: 637
Joined: Sun Jul 15, 2007 12:52 pm
Contact:

Post by LogicDeLuxe »

New version: http://www.fileden.com/files/2012/2/1/3 ... -07-12.prg

- Mutantstones implemented.

- Bugfix: Slime accepts elements in delay state.

- Bugfix: Bombs don't blast indestructable elements nor Voodoo dolls.
User avatar
CWS
Member
Posts: 429
Joined: Wed Jul 11, 2007 2:32 pm
Location: Austria - Europe

Post by CWS »

It's really great that development has been continued! :) Just testing and playing CD10... :)
User avatar
LogicDeLuxe
Member
Posts: 637
Joined: Sun Jul 15, 2007 12:52 pm
Contact:

Post by LogicDeLuxe »

http://www.fileden.com/files/2012/2/1/3 ... -07-20.d64

Bugifx:

- Exitting was possible with a bomb without able to snap the exit. Now the exis is always snapped.


New Features:

- Acid

- Telescope arm
It is similar to that in Boulder Dash XL.
It has some differences, of course, since it had to be adapted for classic rules. It also might have some bugs left. Feel free to report anything unusual.

Here are the rules:

- If you collect a charger, it disappears and the telescope arm can be used once.

- A blue background on the stats bar indicates, that you collected one.

- If another Rockford is carrying a bomb at the same time, the status bar background is flashing blue and gray.

- You can collect only one charger (per Rockford) at a time. Just like bombs.

- You can not collect a charger when carrying a bomb and vice versa.

- Only one Rockford is able to use a telescope arm at any time.

- It can not be used diagonally.

- It uses the same primary button as snapping and bombing. Thus just like with bombs, snapping is not possible while carrying a charged telescope arm.

- It can pull any movable objects and enemies. (dangerous!)

- A pulled Diamond will be automatically collected.

- Falling Diamonds and Boulders can also be pulled.

- If an explosive enemy passes anything on which it usually explodes during pulling, it will instantily do so.

- If standing next to a Boulder, Mutantstone or Sokobanbox, it will be pushed as far as possible.

- If a pushed Boulder hits an explosive enemy, it will explode, just like if the Boulder was falling on it.

- If Rockford or parts of the telescope arm is destroyed before retracted, the remaining parts will change into explosion puffs.


Some details, I din't decided yet:

- Shall enemies also explode if hit by a pushed Mutantstone or a Sokobanbox?

- Shall Diamondreleasekeys, Sweets or Fallingwalls be pullable too?

Any suggestions?

And if you feel like you can do better graphics for the telescope arm or the charger, feel free to create them. The adapted XDC enemy designer is on the disk image.

Telescope arms replace the Enemydirectionswitches and the already obsolete Bladderspender graphics. Thus there will be no Enemydirectionswitch in XDC. I think, the telescope arm is far more useful anyway. Next should be Timepenalty and Clocks, and the physics would be complete, as far as I intend to implement them.


I'm not at home next week, thus I won't reply here during that time.
User avatar
CWS
Member
Posts: 429
Joined: Wed Jul 11, 2007 2:32 pm
Location: Austria - Europe

Post by CWS »

Just a quick question: Doesn't have CLCK 3.0 to be upgraded to XDC to be able to design caves on the C64?

If a Mutant stone or a Sokoban box is pushed rapidly to the farest possible position I think it should crush enemies. At least this behavior would be physically correct I think. It feels like playing Pengo... ;)

I think collectable things like keys or sweets should be pullable but not pushable. Fallingwalls could be both I think.

Clocks are necessary, timepenalty only if it is not that complicated to implement.

I do not think it's a good idea if the new telescope arm is used towards Mrs. Rockford that the player explodes. I think this should do nothing. What's the logic to explode the player?

Nevertheless such a cool new option like the telescope arm should be available for a longer time than single use, moreover I think placing that many chargers to be able to use the arm more than one time is a waste of space in the cave. What do you think about a timer like for magic walls or the amoeba? Or, as soon as collected, it would also be a possibility to be able to use it until reaching the exit of the cave. I do not remember at the moment but I think in Boulder Dash XL the telescope arm could be used longer than just once after collecting the charger.

If doing so it must be possible to carry the telescope arm and one bomb at the same time.

The graphics for the telescope arm is just great! I would only add a top like a claw or something.

I'll make further tests and let you know my findings...
User avatar
LogicDeLuxe
Member
Posts: 637
Joined: Sun Jul 15, 2007 12:52 pm
Contact:

Post by LogicDeLuxe »

CWS wrote:Just a quick question: Doesn't have CLCK 3.0 to be upgraded to XDC to be able to design caves on the C64?
There will be no CLCK upgrade for XDC. Only the tools for title and intro screens will be reused in XDC. And the Enemiedesigner is already adopted for XDC (which is merely a change of element names and the default filename anyway. There will be a cross platform construction kit, thus the name XDC, which stands for cross development c64 engine.
I do not think it's a good idea if the new telescope arm is used towards Mrs. Rockford that the player explodes.
Indeed, it shouldn't. There's a bug which will be fixed.
Nevertheless such a cool new option like the telescope arm should be available for a longer time than single use, moreover I think placing that many chargers to be able to use the arm more than one time is a waste of space in the cave.
I will think of an option so that the charger will act like a switch instead of disappearing.
I do not remember at the moment but I think in Boulder Dash XL the telescope arm could be used longer than just once after collecting the charger.
There are two types of charger in XL. One is walkover, which is not feasible as it would require extra graphics. And the other one is just like mine, a collectible one. Both do charge the telescope arm for one use only. The walkover one reactivates itself after some time and can be used to charge the telescope arm again.
The graphics for the telescope arm is just great! I would only add a top like a claw or something.
There is no space left for any extra graphics.
User avatar
CWS
Member
Posts: 429
Joined: Wed Jul 11, 2007 2:32 pm
Location: Austria - Europe

Post by CWS »

LogicDeLuxe wrote:
CWS wrote:Just a quick question: Doesn't have CLCK 3.0 to be upgraded to XDC to be able to design caves on the C64?
There will be no CLCK upgrade for XDC. Only the tools for title and intro screens will be reused in XDC. And the Enemiedesigner is already adopted for XDC (which is merely a change of element names and the default filename anyway. There will be a cross platform construction kit, thus the name XDC, which stands for cross development c64 engine.
OK. I thought there could be a C64 solution, too. I hope this won't take years for a CK to develop caves for the XDC engine... ;)

LogicDeLuxe wrote:
CWS wrote:I do not think it's a good idea if the new telescope arm is used towards Mrs. Rockford that the player explodes.
Indeed, it shouldn't. There's a bug which will be fixed.
Great! I found a bug! :)
LogicDeLuxe wrote:
CWS wrote:Nevertheless such a cool new option like the telescope arm should be available for a longer time than single use, moreover I think placing that many chargers to be able to use the arm more than one time is a waste of space in the cave.
I will think of an option so that the charger will act like a switch instead of disappearing.
That would be a nice idea! Using it once is kind of boring... ;)
LogicDeLuxe wrote:
CWS wrote:I do not remember at the moment but I think in Boulder Dash XL the telescope arm could be used longer than just once after collecting the charger.
There are two types of charger in XL. One is walkover, which is not feasible as it would require extra graphics. And the other one is just like mine, a collectible one. Both do charge the telescope arm for one use only. The walkover one reactivates itself after some time and can be used to charge the telescope arm again.
I have Boulder Dash XL installed on my arcade machine - I'll have a look at the behavior just to see how it works and if it's good for gameplay. I must admit that I was never such a big fan of Boulder Dahs XL - it's really a nice game but I think FSS never realized that giving a game the name Boulder Dash and controlling a little guy collecting diamonds is not the same as Peter Liepa's Boulder Dash...
LogicDeLuxe wrote:
CWS wrote:The graphics for the telescope arm is just great! I would only add a top like a claw or something.
There is no space left for any extra graphics.
Maybe the Windows/Linux/MacOS etc. version can use such an extended graphics set...
Post Reply