PROJECT: Boulderdash
Spork Frog
Posts: 212
Well, with one project done it's time to start another.
This time I'm going to try and make a remake of the C64 Boulderdash. I figured it's time I made an arcade-style game for the forum users to enjoy.
Attatched is just a little tech demo of moving a character around with the gamepad. It uses the same graphic as the original C64 version.
For the video driver, I'm using a derivative of my own tile driver based on the ZX Spectrum driver once again. I'm using longs as the base tilemap, but I think I might change it back to words and double the VSCL ClocksPerPixel because it looks like everything is based on 2 pixel wide groups anyway.
Release history:
April 11 (0.01): Initial conception and base release
April 18 (0.02): Video driver complete
Post Edited (Spork Frog) : 4/19/2008 2:00:47 AM GMT
This time I'm going to try and make a remake of the C64 Boulderdash. I figured it's time I made an arcade-style game for the forum users to enjoy.
Attatched is just a little tech demo of moving a character around with the gamepad. It uses the same graphic as the original C64 version.
For the video driver, I'm using a derivative of my own tile driver based on the ZX Spectrum driver once again. I'm using longs as the base tilemap, but I think I might change it back to words and double the VSCL ClocksPerPixel because it looks like everything is based on 2 pixel wide groups anyway.
Release history:
April 11 (0.01): Initial conception and base release
April 18 (0.02): Video driver complete
Post Edited (Spork Frog) : 4/19/2008 2:00:47 AM GMT
Comments
you picked a great classic game to port.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
http://www.propgfx.co.uk/forum/·home of the PropGFX Lite
·
I finally sat down and played the old C64 version of the game for a while, and I made some realizations about their graphics methods. Looks like it is truly all tile-based with the exception of the to stat bar, 16x16 pixel tiles (but with each pixel really being 2 pixels wide) and a common 4 color pallet for the whole screen playing field. Doesn't look like there are sprites directly, but the whole tile map moves around as a whole with smooth scrolling.
SO.
All I have to do is implement a 16x16 pix scrollable tile map with one pallet entry for the whole screen. Sounds simple enough to do, guess we'll find out.
After that's done I can focus on the real challenge called the cell engine of the game.
Post a couple screen shots, that's a good way to get people to download, also, helps get people excited!
Andre'
I attatched a screenshot as well.
The video driver is now finished- a 22x40 tile driver with smooth scrolling, still just in one cog. I'm really starting to enjoy video driver coding.
Use the gamepad to scroll around.
So much for the fun stuff, now to the real work -- the actual game engine.
Boulder Dash is an all time classic with many!!
Good work Spork Frog. [noparse]:)[/noparse]
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Share the knowledge: propeller.wikispaces.com
Lets make some music: www.andrewarsenault.com/hss
The video driver was modified to better match the 8x16 tiles used in the original Boulderdash I, and to display 20x12 tiles (20x14 in PAL mode) with a status line at the top. Oh, yes, it now supports PAL in addition to NTSC, check the main source file to see how to change TV modes (could someone check the NTSC mode?).
The game right now executes a bit slower than the original, as the main game loop is a big case statement with many branches which leads to poor performance under interpreted spin. Splitting the case into sections helped noticeably, but not enough. I'll be concentrating in optimizing the code once the game fully engine is finished.
Some things run in separate cogs, like the automatic scrolling and flashing character animations.
No sound effects are implemented at this point. Is there a SID emulator (or any other good/simple synthesizer) somewhere for the propeller?
Enjoy!
It's legit.. Looks like he's posting a nearly finished Boulderdash in his first post..
I've opened the .zip and found spin code as expected.. Nice work.
Spork Frog is that you?
OBC
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
New to the Propeller?
Visit the: The Propeller Pages @ Warranty Void.
Works perfectly in NTSC mode here. AWESOME WORK.
OBC
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
New to the Propeller?
Visit the: The Propeller Pages @ Warranty Void.
And have a looksy. Thanks OBC.
As OBC says, it's SPOT-ON! well done HPG.
btw, welcome to the forums! [noparse]:D[/noparse]
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
http://www.propgfx.co.uk/forum/·home of the PropGFX Lite
·
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Propeller Wiki: Share the coolness!
Chat in real time with other Propellerheads on IRC #propeller @ freenode.net
Safety Tip: Life is as good as YOU think it is!
This is just downright awesome. I was having some troubles with the scrolling part of the code and never got around to writing the actual game logic out of frustration more than anything. I figured it would take a COG split.
I did have to make a slight change, however. It seems like the NES pad does not like being read asynchronously; to make the code work on my Hydra I changed the gamepad driver so that it simply shifted in the data and returned the new data synchronously instead. If I didn't do this, the character moved randomly with no control. I'll try and post what I mean shortly, hopefully next weekend (I don't have my Hydra with me most of the time.)
NTSC works fine for me as well.
Thanks so much for posting this!
Here is a newer version of the game: this time the magic walls and amoebas work, so hopefully all the original BoulderDash-I caves can be played. Also, now difficulty level increases after finishing the last cave. Performance has been improved as well.
@Spork Frog:
Could you detail the change you made to make the game controller work?
OBC
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
New to the Propeller?
Visit the: The Propeller Pages @ Warranty Void.
I attatched a very slightly modified gamepad driver; one should be able to replace the file included in the archives provided by HPG and it *should* just work. I also removed the keyboard driver completely first when I was trying to make it work on my Hydra, but I'm not sure if that's a necessary thing to do or not.
EDIT: Just verified this. Drop in this version of the gamepad driver for Hydra support.
Also, @HPG, real thanks goes to jlcebrian, whose ZX Spectrum video driver forms the skeleton of my own.
Post Edited (Spork Frog) : 12/5/2009 5:11:30 PM GMT
Boulderdash midi
www.bd-fans.com/Files/FanStuff/Music/BoulderDash_%28mid%29.zip
Ariba's Midi Object
http://forums.parallax.com/showthread.php?p=797590
You'll need a shoehorn to get it in there, but would be very cool.
OBC
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
New to the Propeller?
Visit the: The Propeller Pages @ Warranty Void.
Hybrid users might find it handy as well. (After adjusting a few other things.)
OBC
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
New to the Propeller?
Visit the: The Propeller Pages @ Warranty Void.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Propeller Wiki: Share the coolness!
Chat in real time with other Propellerheads on IRC #propeller @ freenode.net
Safety Tip: Life is as good as YOU think it is!
@potatohead: is the image bending at the top in NTSC mode? I can't test NTSC here, so maybe I did something wrong with the timings. It looked right on the scope. Anybody else having a similar problem?
Nice SID emu btw, they're getting like busses, none for ages, then 2 come along at once lol.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
http://www.propgfx.co.uk/forum/·home of the PropGFX Lite
·
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
http://www.propgfx.co.uk/forum/·home of the PropGFX Lite
·
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Propeller Wiki: Share the coolness!
Chat in real time with other Propellerheads on IRC #propeller @ freenode.net
Safety Tip: Life is as good as YOU think it is!
I'll update the screenie. I never clicked on the one you linked up. It's actually nice. Sorry to imply it wasn't based on the thumbnail.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Propeller Wiki: Share the coolness!
Chat in real time with other Propellerheads on IRC #propeller @ freenode.net
Safety Tip: Life is as good as YOU think it is!
Keep up the good work.